一 通过网络安装RHEL5.x 系统的原因

为解决大量裸机安装系统,并对系统进行简单的系统调优  在用vsftpd+dhcp+tftp+kickstart 通过网络安装RHEL5.x,kickstart 这里用来定制系统,是安装系统的引导文件

二 系统需求

1 在系统环境下vsftpd  tftpd dhcp 为同一台Server ,确保一下软件包已经安装,如果没有安装请安装      Vsftpd-2.0.5-16.el5.i386      Tftp-server-0.49-2.i386      Xinetd-2.3.14-10.el5      system-config-kickstart-2.6.19.8-2.el5       dhcp-3.0.5-21.el5      libdhcp4client-3.0.5-21.el5      libdhcp-1.20-10.el5      dhcp-devel-3.0.5-21.el5      libdhcp4client-devel-3.0.5-21.el5      libdhcp-devel-1.20-10.el5  2 配置dhcp 服务,vsftp 服务等 (注:在此省略了dhcp 服务器的配置) 在dhcp 服务的主配置文件中添加以下两行     next-server     192.168.2.19 ; 注: 该处指定的是tftp 服务器的ip地址     filename       “pxelinux.0” #pxe获得IP地址后的引导文件  3  配置tftp 服务,并重启tftp服务    #cd  /etc/xinetd.d    #vim   tftp    修改tftp 配置文件如下     disable=yes ;       修改为disable=no ;    #chkconfig  tftpd  on    #service xinetd restart 4 挂载系统光盘,并复制系统安装时必须的引导文件    #mkdir  /media/cdrom    #mount  /dev/cdrom  /media/cdrom    #cd  /tftpboot    #cp /usr/lib/syslinux/pxelinux.0  /tftpboot/    #mkdir  pxelinux.cfg    #cp /media/cdrom/isolinux/isolinux.cfg  pxelinux.cfg/default    #cp  /media/cdrom/p_w_picpaths/pxeboot/initrd.img  /tftpboot    #cp  /media/cdrom/p_w_picpaths/pxeboot/vmlinuz   /tftpboot  5 修改/tftpboot/default 文件如下      #cat /tftpboot/default               default linux       prompt 1       timeout 10       display boot.msg       F1 boot.msg       F2 options.msg       F3 general.msg       F4 param.msg       F5 rescue.msg       label linux        kernel vmlinuz       append linux ks=  initrd=initrd.img #注   该处是指定ks.cfg 文件.该文件是kickstart 安装配置文件,系统安装该文件进行安装       label text      kernel vmlinuz      append initrd=initrd.img text      label ks      kernel vmlinuz      append  ks=  initrd=initrd.img  #注   该处是指定ks.cfg 文件.该文件是kickstart 安装配置文件,系统安装该文件进行安装      label local      localboot 1      label memtest86      kernel memtest      append -                6   配置ks.cfg 文件,可以参照现有的系统上anaconda-ks.cfg ,可以用各种文本编辑器进行修改该文件,当然在这是用system-config-kickstart 编译工具来修改kickstart 文件,同样需要参照anaconda-ks.cfg 文件  #system-config-kickstart &   7 确认在ks.cfg 中的配置文件中key –skip     #vim   ks.cfg     text 注:该处是用文本模式进行安装系统     auth  --useshadow  --enablemd5  #注: 用户的密码使用md5进行加密     bootloader --append="rhgb quiet" --location=mbr --driveorder=sda     zerombr     clearpart --linux  --drives=sda     graphical     firewall --disabled     firstboot --disable     keyboard us     key –skip   注:一定要有该选项否则安装时需要手动输入系统的序列号     lang en_US     logging --level=info     url --url=    注:是ftp进行安装系统     network --bootproto=dhcp --device=eth0 --onboot=on      reboot     rootpw --iscrypted $1$2t748Yno$qJJYHyXe4CioPhP6hjj650     selinux –disabled  注:关闭selinux 系统     skipx     timezone --isUtc Asia/Shanghai     install     clearpart --linux --drives=sda     #下面是磁盘分区,当然在此可以手动指定各个分区的大小,注: 磁盘分区根据需求进行划分     part /boot --fstype ext3 --size=100 --ondisk=sda     part pv.2 --size=0 --grow --ondisk=sda     volgroup VolGroup00 --pesize=32768 pv.2     logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow     logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=1000 --grow --maxsize=4000     #系统安装完后执行的脚本;关闭无关的服务及其调优 参照        %post # 注: 系统在安装完后执行的脚本     #set open max file Num     sed -i '/# End of file/i  *  soft nofile 819200' /etc/security/limits.conf     sed -i '/# End of file/i  *  hard nofile 819200' /etc/security/limits.conf     #some service are  stop      chkconfig  apmd off      chkconfig  autofs off      chkconfig  avahi-daemon off      chkconfig  avahi-dnsconfd off      chkconfig  bluetooth off      chkconfig  hidd off      chkconfig  hcid off      chkconfig  dund off      chkconfig  pand off      chkconfig  capi off      chkconfig  cups off      chkconfig  firstboot off      chkconfig  iptables off      chkconfig  ip6tables off      chkconfig  irda off      chkconfig  isdn off      chkconfig  kudzu off      chkconfig  netplugd off      chkconfig  pcscd off      chkconfig  rpcgssd off      chkconfig  rpcidmapd off      chkconfig  rpcsvcgssd off      chkconfig  sendmail  off      chkconfig  wpa_supplicant off      chkconfig  ypbind off      chkconfig  yum-updatesd off      chkconfig  xend off      chkconfig  setroubleshoot off      chkconfig  winbind off     #System optimization  系统调优      echo "#System Optimization" >>/etc/sysctl.conf      sed -i '/#System Optimization/a  net.ipv4.tcp_keepalive_intvl = 2' /etc/sysctl.conf      sed -i '/#System Optimization/a  net.ipv4.tcp_keepalive_probes = 2' /etc/sysctl.conf      sed -i '/#System Optimization/a  net.ipv4.cp_keepalive_time = 30' /etc/sysctl.conf      sed -i '/#System Optimization/a  net.ipvtcp_tw_recycle = 1' /etc/sysctl.conf      sed -i '/#System Optimization/a  net.ipv4.tcp_tw_reuse = 1' /etc/sysctl.conf      sed -i '/#System Optimization/a  fs.file-max = 819200' /etc/sysctl.conf     #set  character       sed  -i 's/en\_US\.UTF\-8/zh\_CN\.GBK/g' /etc/sysconfig/i18n      sed  -i '/LANG/a LANGUAGE="en_US.GBK'  /etc/sysconfig/i18n      sed  -i '/LANGUAGE/a LC_CTYPE="zh_CN.GBK"' /etc/sysconfig/i18n
8 把ks.cfg 复制在ftp工作目录中       #cp  ks.cfg  /var/ftp/pub        注: 该处一定要和/tftpboot/pxelinux.cfg 中default 中指定的ks.cfg 的配置位置相同.否则不能通过网络进行安装系统
9 并把系统盘中的镜像文件放在/var/ftp/pub/OS 下面,重启需要安装的物理主机,启动从网络进行启动