前言:随着公司业务不断增加,需要对之前的 windows服务器升级成Linux,有的服务器CPU不支持64位系统,只能安装32位系统,版本不一致,这就需要kickstart支持多系统安装了。目前kickstart多系统方案以运行在实际环境中。
 
一、正式安装:
Kickstart可以安装的版本如下: Centos 5.0、Centos 5.3(64位)、Centos 5.4
从最简单的dhcp、tftp、nfs开始配置:
   
   
   
   
  1. yum install   -y  dhcp*  tftp*    即可!nfs系统默认已经安装,稍后会配置;  
  2. vi /etc/xinetd.d/tftp  
  3.  service tftp  
  4. {  
  5.  disable = no  
  6. socket_type = dgram  
  7.  protocol = udp  
  8. wait = yes  
  9. user = root  
  10. server = /usr/sbin/in.tftpd  
  11. server_args = -u nobody -s /tftpboot  
  12.  per_source = 11  
  13. cps = 100 2  
  14.  flags = IPv4  
  15.  }  
  16. 需要修改1个地方  
  17. disable = yes 修改为no 即可! 
 

配置tftp+pxe:  

   
   
   
   
  1. 安装linux系统,首先需要挂载linux安装镜像,可以是iso,可以是linux光盘:【这样需要注意:分别挂载3个系统的光盘,也可以从其他地方拷贝iso文件。】  
  2. 我开始挂载的是centos5.0光盘:  
  3.  
  4. mount     /dev/cdrom    /mnt  即可!然后执行如下步骤:  
  5. mkdir  -p /tftpboot/{centos5.0,centos5.3,centso5.4}   
  6. cd  /tftpboot  &&cp /usr/lib/syslinux/pxelinux.0  ./    
  7.  mkdir  -p  pxelinux.cfg    
  8. cp  /mnt/isolinux/isolinux.cfg   pxelinux.cfg/default   
  9.  
  10. 如上这些文件可以共用:但是下面这些文件只能拷贝对应ISO镜像的文件到如下目录  
  11.  cp  /mnt/p_w_picpaths/pxeboot/{vmlinuz,initrd.img}   centos5.0/     
  12. 完毕!此步操作还需要分别进入5.3、5.4光盘:拷贝  
  13. vmlinuz,initrd.img 两个文件到对应的目录:  
  14. tftpboot目录下文件截图如下

Kickstart 多系统安装配置_第1张图片

/tftpboot下新建一个文件boot.msg文件,写入以下内容:是一个启动信息,可以根据你自己的喜好随便填写。
   
   
   
   
  1. ###+## Welcome To Linux Install Center ##########################  
  2. Please select system version , You can select 5.0 or 5.3 or 5.4!  
  3. This 5.0 is 32 bit ,and 5.3 is 64 bit ,5.4 is 32 bit ++++++++++++ 
然后编辑 defalut配置文件:【还是在 /tftpboot 目录下】
vi   pxelinux.cfg/default (修改配置如下:)
   
   
   
   
  1. timeout 60  
  2. display boot.msg  
  3. F1 boot.msg  
  4. F2 options.msg  
  5. F3 general.msg  
  6. F4 param.msg  
  7. F5 rescue.msg  
  8.  label 5.0  
  9.  kernel centos5.0/vmlinuz  
  10.  append ks=nfs:192.168.2.79:/centosinstall/centos5.0/ks.cfg ksdevice=eth0 initrd=centos5.0/initrd.img  
  11.  label 5.3   
  12.  kernel centos5.3/vmlinuz  
  13.  append ks=nfs:192.168.2.79:/centosinstall/centos5.3/ks.cfg ksdevice=eth0 initrd=centos5.3/initrd.img  
  14.   label 5.4   
  15.  kernel centos5.4/vmlinuz  
  16.  append ks=nfs:192.168.2.79:/centosinstall/centos5.4/ks.cfg ksdevice=eth0 initrd=centos5.4/initrd.img  
  17. label text  
  18.  kernel vmlinuz  
  19.  append initrd=initrd.img text  
  20. label ks  
  21.  kernel vmlinuz  
  22.  append ks initrd=initrd.img  
  23. label local  
  24.  localboot 1  
  25. label memtest86  
  26.  kernel memtest  
  27.  append -

修改如上两个红色地方即可:【设置 timeout 10 /*超时时间为10S */;ksdevice=etho代表当我们有多块网卡的时候,要实现自动化需要设置从eth0安装,不指定的话,安装 的时候系统会让你选择,那就不叫全自动化了,192.168.2.79是kickstart服务器,/centosinstall/centos5.0 是nfs共享linux镜像的目录,也是linux存放安装文件的路径,ks.cfg是kickstart主配置文件,稍后会详细配置】
自此 tftp配置完毕!我们可以启动它,它是非独立服务,需要借助xinetd启动如下:
chkconfig    tftp  --level 35 on  && service  xinetd  restart 即可! 
 
3)、接下来安装nfs+kickstart:
创建 nfs共享目录,也是存放linux镜像的目录:
mkdir   -p   /centosinstall/{centos5.0,centos5.3,centos5.4} 
分别拷贝各自系统盘所有内容到各自系统,注意不要拷乱了。 拷贝完后,设置 nfs共享:添加如下三行即可。
   
   
   
   
  1. vi  /etc/exports  
  2. /centosinstall/centos5.0 *(rw,sync)  
  3. /centosinstall/centos5.3 *(rw,sync)  
  4. /centosinstall/centos5.4    *(rw,sync) 
保存退出即可!【可根据实际控制权限访问 *代表所有】
nfs配置完毕,接着配置 kickstart主配文件:
/centosinstall/{centos5.0,centos5.3,centos5.4}三个文件下分别创建ks.cfg文件,输入的内容可以适当修改:
【这是我的实际使用的配置文件,当然你可以根据需要修改】有下载地址:
   
   
   
   
  1. # Kickstart file automatically generated by anaconda.  
  2. install  
  3. text  
  4. nfs --server=192.168.2.79 --dir=/centosinstall/centos5.0  
  5. key --skip  
  6. lang zh_CN.UTF-8  
  7. keyboard us  
  8. network --device eth0 --bootproto=dhcp --noipv6  
  9. rootpw linux@passwd 
  10. firewall --disabled  
  11. authconfig --enableshadow --enablemd5  
  12. selinux --disabled  
  13. timezone Asia/Shanghai  
  14. bootloader --location=mbr --driveorder=sda --append="rhgb quiet" 
  15. # The following is the partition information you requested  
  16. # Note that any partitions you deleted are not expressed  
  17. # here so unless you clear all partitions first, this is  
  18. # not guaranteed to work  
  19. clearpart --all --initlabel  
  20. part /boot --fstype ext3 --size=200  
  21. part swap --size=4000  
  22. part /www/logs --fstype ext3 --size=20000  
  23. part / --fstype ext3 --size=20000  
  24. part /home --fstype ext3 --size=10000  
  25. part /www --fstype ext3 --size=1 --grow  
  26.    
  27. %packages  
  28. @admin-tools  
  29. @base 
  30. @core 
  31. @development-libs  
  32. @development-tools  
  33. @editors 
  34. @system-tools  
  35. @base-x  
  36. @chinese-support  
  37. keyutils  
  38. kexec-tools  
  39. trousers  
  40. fipscheck  
  41. device-mapper-multipath  
  42. imake  
  43. audit  
  44. xorg-x11-server-Xnest  
  45. xorg-x11-server-Xvfb
在拷贝 5.3和5.4的话直接修改红色部分即可:记住咯每个安装目录都得有ks.cfg文件。
如上 ks.cfg配置完毕,并设置其权限:这里设置为:
 
find  /centosinstall -name ks.cfg |xargs chmod 777
 
具体配置参数可以参考该文章: http://wenku.baidu.com/view/ab012dfb770bf78a65295420.html  kickstart参数详解!
 
4)、最后我们来配置dhcp服务:
dhcp配置下载地址: http://blog.mgcrazy.com/download/dhcpd.conf   :【精简版配置,如果需要大批量安装 linux服务器,可以设置dhcp段】
   
   
   
   
  1. ddns-update-style interim;  
  2. ignore client-updates;  
  3. next-server 192.168.2.79;  
  4. filename "pxelinux.0";  
  5. allow booting;  
  6. allow bootp;  
  7.    
  8. subnet 192.168.0.0 netmask 255.255.252.0 {  
  9.    
  10. # --- default gateway  
  11.       option routers                 192.168.0.1;  
  12.       option subnet-mask      255.255.252.0;  
  13.    
  14. #     option nis-domain       "domain.org";  
  15. #     option domain-name      "192.168.0.10";  
  16. #     option domain-name-servers     192.168.0.10;  
  17.    
  18.       option time-offset      -18000;     # Eastern Standard Time  
  19. #     option ntp-servers      192.168.1.1;  
  20. #     option netbios-name-servers    192.168.1.1;  
  21. # --- Selects point-to-point node (default is hybrid). Don't change this unless  
  22. # -- you understand Netbios very well  
  23. #     option netbios-node-type 2;  
  24.       host ns {  
  25.             hardware ethernet 00:1a:a0:2b:38:81;  
  26.             fixed-address 192.168.2.101;}  
  27.       host ns1 {  
  28.             hardware ethernet 00:0c:29:2b:90:67;  
  29.             fixed-address 192.168.2.102;}  
  30. }
 三、整个环境部署完毕!接下来我们重启所有服务,并测试,注意这里安装完后重启登陆的密码为 ks.cfg里面配置的rootpwd 后面的 linux@passwd 
service    xinetd  restart  &&  service nfs restart  && service  dhcpd restart  即可!
 
找一台需要安装 linux系统机器,进入bios把第一启动项设置为LAN 也即是网卡启动!然后启动,系统会自动查找本地pxe 服务器然后,自动安装!
安装如下图:

Kickstart 多系统安装配置_第2张图片

报错没有发现kernel Image:linux 没关系,意思是没发现默认的linux引导项,因为我们设置成为了三个系统,任意输入一个即可如输入:5.0       截图如下即可自动安装了:

Kickstart 多系统安装配置_第3张图片