昔我往矣

网络无人值守安装CentOS

2013年08月12日

一、环境
  DHCP服务器----提供给客户端IP地址,从而获得服务
  Tftp服务器----提供所需的系统文件
  Nfs服务器----为客户端提供系统安装软件包
  Kickstart ----指定安装详情,实现无人值守安装
  实验环境中,网络服务器的IP地址是192.168.13.1 ,客户端的IP地址范围是192.168.13.10-192.168.13.100
  实验环境系统版本为:CentOS 5.9 、VMware Workstation 9

二、安装软件

service iptables stop
setenforce 0
yum -y install dhcp-devel nfs-utils xinetd tftp-server pykickstart syslinux
chkconfig dhcpd on
chkconfig tftp on
chkconfig nfs on
chkconfig portmap on
chkconfig xinetd on

三、修改配置文件
3.1 修改/etc/dhcpd.conf配置文件,

  ddns-update-style interim;
  ignore client-updates;
  
  allow booting;
  allow bootp;
  
  subnet 192.168.13.0 netmask 255.255.255.0 {
          option routers 192.168.13.1;
          option subnet-mask 255.255.255.0;
          default-lease-time 21600;
          max-lease-time 43200;
          range dynamic-bootp 192.168.13.10 192.168.13.100;  #客户端的IP地址范围
          filename "/pxelinux.0";
          next-server 192.168.13.1;     #tftp服务器的地址,此处即本机
  }

3.2 修改tftp配置文件,/etc/xinetd.d/tftp

    service tftp
  {
          disable = no   #必须改为no,意思为启用tftp服务
          socket_type             = dgram
          protocol                = udp
          wait                    = yes
          user                    = root
          server                  = /usr/sbin/in.tftpd
          server_args             = -u nobody -s /tftpboot  #重要,设置tftp服务器目录
          per_source              = 11
          cps                     = 100 2
          flags                   = IPv4
  }

3.3 数据准备 将光盘插入光驱并挂载

    mount /dev/cdrom /mnt
  cp /usr/share/syslinux/pxelinux.0 /tftpboot
  cp /mnt/images/pxeboot/initrd.img /tftpboot
  cp /mnt/images/pxeboot//vmlinuz /tftpboot
  mkdir /tftpboot/pxelinux.cfg
  cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default 

3.4 配置nfs服务器,修改/etc/exports文件

  /tftpboot *(ro,sync)
  /mnt *(ro,sync)

把/tftpboot目录和/mnt目录通过nfs作为只读共享
  
3.5 修改引导配置文件/tftpboot/pxelinux.cfg/default
在其中找到label linux,将这一段改为

  kernel vmlinuz
  append initrd=initrc.img ks=nfs:192.168.13.1:/tftpboot/ks.cfg  #指定kickstart的配置文件

3.6 创建/tftpboot/ks.cfg文件,下面设定安装中的要求

  lang zh_CN.UTF-8  #设置语言
  keyboard us         #设置键盘
  mouse              #鼠标
  timezone Aisa/Shanghai   #时区
  rootpw 123456          #root密码
  selinux --disabled        #关掉selinux
  reboot          
  text                   #文本安装形式   
  install                  #全新安装,而不是升级 
  nfs --server=192.168.13.1 --dir=/mnt   #指定获取文件的路径,即我们搭建的nfs服务器
  network --device eth0 --bootproto dhcp  #网络设置,dhcp
  firewall --disabled                   #关闭防火墙
  authconfig --enableshadow --passalgo=sha512  #密码的加密方式
  bootloader --location=mbr                #引导器
  zerombr                                #清空mbr
  clearpart --all --initlabel                 #清空旧分区
  part /boot --size 100                     #boot分区大小,100M
  part swap --size 2048                   #SWAP分区大小,2G
  part / --fstype=ext4  --size 10000 --grow   #/分区为ext4,最小为10000M,利用所有剩余空间
  
  %packages --resolvedeps     #安装软件包
  @ chinese-support
  @ development-tools
  kernel
  curl
  grub
  sysstat
  vim-enhanced
  kernel-PAE-devel    #r720网卡驱动依赖的包
  
  %post --interpreter /bin/sh
  mkdir /root/mnt
  mount -t nfs 192.168.13.1:/tftpboot/dell_driver /root/mnt
  rpm -ivh /root/mnt/tg3*.src.rpm
  rpmbuild -bb /usr/src/redhat/SPECS/tg3.spec
  rpm -ivh /usr/src/redhat/RPMS/i386/tg3*.rpm
  insmod /lib/modules/*/kernel/drivers/net/tg3.ko

四、开启服务

  service dhcpd restart   #dhcp
  service portmap restart 
  service nfs restart         #nfs
  service xinetd restart      #tftp

五、开始安装
  从网络启动客户端机器,在出现boot的时候回车,然后就无需干预,自动完成系统安装和重启。

当前暂无评论 »

添加新评论 »