PXE+Kickstart安装CentOS 6.0

字体大小: 中小 标准 ->行高大小: 标准

下了CentOS 6.0,它的发布好像是很轰动的事,那几天有关Linux的网站上到处是对其的大肆宣扬。我下的版本是CentOS-6.0-x86_64-bin-DVD,分为3个iso镜像(其中1是服务器的主体,2是很多提供的rpm包,3是网络启动所需要的内核镜像),使用Kickstart安装时可以用iso1就够了(亲自验证)完整安装过程(使用虚拟机):

相关阅读:CentOS 6.0 正式版发布附下载地址 http://www.linuxidc.com/Linux/2011-07/38273.htm

1、首先启动一台已经安装好系统的机器(我用的是CentOS 5.4),使用它作为TFTP服务器,DHCP服务器,FTP服务器。配置它们:

  1. yum -y install tftp yum -y install tftp-server  //tftp的启动是不需要daemon的,需要xinetd 
  2. yum -y install vsftpd yum -y install dhcp 

2、简单的配置以上这些服务:

  1. vim /etc/xinetd.d/tftp --------------------- 
  2. service tftp {   socket_type = dgram 
  3.     protocal = udp     wait = yes 
  4.     user = root     server = /usr/sbin/in.tftpd 
  5.     server_args = -s /tftpboot     //这些参数尽量和我写的一致,不过也可以根据情况变更     disable = no 
  6.     per_source = 11     cps = 100 2 
  7.     flags = IPv4 } 
  8. --------------------- vim /etc/dhcp/dhcpd.conf 
  9. --------------------- ddns-update-style interiml; 
  10. ignore client-updates; subnet 192.168.2.2 netmask 255.255.255.0 
  11. {   option routers    192.168.2.2;     //其中这个192.168.2.2是我这台服务器的ip地址     option subnet-mask    255.255.255.0; 
  12.     filename "pxelinux.0";     next-server 192.168.2.2; 
  13.     option domain-name-servers 192.168.2.2;     optime time-offset    -18000; 
  14.     range dynamic-bootp 192.168.2.3 192.168.2.30;     default-lease-time 21000; 
  15.     max-lease-time 43200; } 
  16. --------------------- service vsftpd start 
  17. service xinetd restart service dhcpd restart 

3、建立可供需要安装系统的计算机使用的启动引导文件:

  1. mkdir /tftpboot mkdir /tftpboot/pxelinux.cfg 
  2. cp /.../pxelinux.0 /tftpboot/    //其中的...是根据自己电脑上路径填写的,也就是找到pxelinux.0这个文件 cp /media/CentOS-6.0-netinstall/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default    //先将iso3挂载,将里面的isolinux.cfg initrd vmlinuz复制出来 
  3. cp /media/CentOS-6.0-netinstall/images/pxeboot/initrd.img /tftpboot/ cp /media/CentOS-6.0-netinstall/images/pxeboot/vmlinuz /tftpboot/ 
  4. chmod u+w /tftpboot/pxelinux.cfg/default  
  5. vim /tftpboot/pxelinux.cfg/default ------------------- 
  6. default fenix prompt 1 
  7. timeout 600 display boot.list 
  8.  label fenix 
  9.   menu label ^Install or upgrade an existing system   menu default 
  10.   kernel vmlinuz   append initrd=initrd.img ks=ftp://192.168.2.2/ks.cfg 
  11. ------------------- 

4、编写Kickstart自动安装脚本(可以使用system-config-kickstart可视程序生成):

  1. vim /var/ftp/ks.cfg ------------------ 
  2.  auth  --useshadow  --enablemd5  bootloader --location=mbr 
  3.  zerombr  clearpart --all --initlabel 
  4.  graphical  firewall --disabled 
  5.  firstboot --disable  keyboard us 
  6.  lang zh_CN  logging --level=info 
  7.  url --url=ftp://192.168.2.2/pub  //这个路径实际就是/var/ftp/pub network --bootproto=dhcp --device=eth0 --onboot=on 
  8.  reboot  rootpw --iscrypted $1$DWk4vKDK$r5rJS12L5XW1G8CdTdDvm0 
  9.   selinux --disabled 
  10.  timezone --isUtc Asia/Shanghai  install 
  11.  part /boot --fstype=ext3 --size=128  part / --fstype=ext3 --size=1 --grow 
  12.  part swap --recommended  
  13.  %packages       //我没有安装X Window ------------------ 

5、将CentOS-6.0的第一个镜像,挂载在/var/ftp/pub中。

6、好了,现在就可以在网络上启动需要安装系统的机器了,前提是该机器的网卡必须支持PXE,并在BIOS中选择从网络启动。启动时什么都不需要点,首先它会自动使用PXE在网络上搜索DHCP服务器,并获取IP;然后通过TFTP服务器将initrd.img和vmlinuz从服务器上提取下来装入自己的内存;然后启动anaconda安装,因为是从netinstall上提取的vmlinuz,它会自动识别为网络安装,然后搜索到FTP服务器,从上提取出Kickstart脚本ks.cfg;最后按照脚本安装系统。

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/59137.html