KickStart + DHCP + NFS + TFTP + PXE全自动网络安装Linux
环境:Linux5.5(32bit)
IP:10.80.11.206
撰写人:hx10
日期:2010/7/7 hangzhou
Blog: http://hi.baidu.com/hx10
 
远程安装系统过程:PXE网卡启动------DHCP服务器------获得IP------从TFTP上下载pxelinux.0、
vmlinuz、initrd------启动系统------通过PXElinux去nfs下载ks.cfg文件-----跟据ks.cfg去nfs下
载RPM包及安装系统------完成安装
1. 搭建tftp,dhcpf服务器
#yum install tftp-server dhcp
#vim /etc/xinetd.d/tftp
 
  1. service tftp  
  2. {  
  3.         disable = no 
  4.         socket_type             = dgram 
  5.         protocol                = udp 
  6.         wait                    = yes 
  7.         user                    = root 
  8.         server                  = /usr/sbin/in.tftpd  
  9.         server_args             = -u nobody -s /tftpboot  
  10.         per_source              = 11 
  11.         cps                     = 100 2  
  12.         flags                   = IPv4 
需要修改2个地方
server_args         = -u nobody -s /tftpboot
disable                 = no
#cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
#vim /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
authoritative;
allow booting;
allow bootp;
subnet 10.80.11.0 netmask 255.255.255.0    
{                        
option routers                                        10.80.11.1;
option subnet-mask                                 255.255.255.0;
option domain-name                                 "zjhcsoft.com";
option domain-name-servers 202.101.172.35;
range dynamic-bootp 10.80.11.220 10.80.11.240;
default-lease-time 21600;
max-lease-time 43200;
next-server 10.80.11.206;
filename "/pxelinux.0";
}    
ddns-update-style interim;  /*dhcp支持的dns动态更新方式*/
ignore client-updates;       /*忽略客户端DNS动态更新*/
authoritative;         /*授权*/
allow booting;            /*支持PXE启动*/
allow bootp;               /*支持boottp*/
subnet 10.80.11.0 netmask 255.255.255.0 /*作用域*/
option routers                    10.80.11.1;    网关的IP地址
range dynamic-bootp 10.80.11.220 10.80.11.250; 分配给客户端的IP地址范围
default-lease-time 21600;     /*租期,秒数*/
max-lease-time 43200;      /*最大租期,秒数*/
next-server 10.80.11.206;     /*TFTPServer的IP*/
filename "/pxelinux.0";       /*Bootstrap文件*/
 
2.配置支持PXE
mkdir /disk
mount /dev/cdrom /media
cp –rf /media/* /disk
 
vi /etc/exports
/disk    *(ro,sync)
启动服务
service dhcpd start
service netfs start
service portmap start
service nfs start
service nfslock start
service nfslock start
 
mkdir /tftpboot    /*tftp的根目录
cp /usr/lib/syslinux/pxelinux.0  /tftpboot
cp /mnt/cdrom/p_w_picpaths/pxeboot/initrd.img  /tftpboot
cp /mnt/cdrom/p_w_picpaths/pxeboot/vmlinux   /tftpboot
cp /mnt/cdrom/isolinux/*.msg  /tftpboot
 
mkdir /tftpboot/pxelinux.cfg
vim /tftpboot/pxelinux.cfg/default 
  1. default linux  
  2. prompt 1  
  3. timeout 10  
  4. display boot.msg  
  5. F1 boot.msg  
  6. F2 options.msg  
  7. F3 general.msg  
  8. F4 param.msg  
  9. F5 rescue.msg  
  10. label linux  
  11.  kernel vmlinuz  
  12.  append ks=nfs:10.80.11.206:/disk/ks.cfg initrdinitrd=initrd.img  
  13. label text  
  14.  kernel vmlinuz  
  15.  append initrdinitrd=initrd.img text   
  16. label ks  
  17.  kernel vmlinuz  
  18.  append ks initrdinitrd=initrd.img  
  19. label local  
  20.  localboot 1  
  21. label memtest86  
  22.  kernel memtest  
  23.  append –  
设置timeout 10 /*超时时间为10S */
3.生成ks.cfg安装配置文件
#yum install system-config-kickstart
#system-config-kickstart
 
图片太多,省略,参考下面的配置文件  :)
 
#cp /root/ks.cfg /disk/
#vim /disk/ks.cfg
  1. #platform=x86, AMD64, or Intel EM64T  
  2. # System authorization information  
  3. auth --useshadow --enablemd5 
  4. #Skip Installation Number
    key --skip  
  5. # System bootloader configuration  
  6. bootloader --location=mbr 
  7. # Clear the Master Boot Record  
  8. zerombr  
  9. # Partition clearing information  
  10. clearpart --all --initlabel   
  11. # Use text mode install  
  12. text  
  13. # Firewall configuration  
  14. firewall --disabled  
  15. # Run the Setup Agent on first boot  
  16. firstboot --disable  
  17. # System keyboard  
  18. keyboard us  
  19. # System language  
  20. lang en_US  
  21. # Installation logging level  
  22. logging --level=info 
  23. # Use NFS installation media  
  24. nfs --server=10.80.11.206 --dir=/disk  
  25. # Network information  
  26. network --bootproto=dhcp --device=eth0 --onboot=on  
  27. # Reboot after installation  
  28. reboot  
  29. #Root password  
  30. rootpw --iscrypted $1$LnetDcQO$MA84zAEokdi/GCEElcqI20  
  31.    
  32. # SELinux configuration  
  33. selinux --disabled  
  34. # System timezone  
  35. timezone Asia/Shanghai  
  36. # Install OS instead of upgrade  
  37. install  
  38. # X Window System configuration information  
  39. xconfig --defaultdesktop=GNOME --depth=32 --resolution=1024x768 --startxonboot  
  40. # Disk partitioning information  
  41. part /boot --bytes-per-inode=4096 --fstype="ext3" --size=100 
  42. part swap --bytes-per-inode=4096 --fstype="swap" --size=4000 
  43. part / --bytes-per-inode=4096 --fstype="ext3" --grow --size=1 
  44.    
  45. %packages  
  46. @dialup  
  47. @base  
  48. @gnome-desktop  
  49. @development-tools  
  50. @chinese-support  
  51. @base-x  
  52. @admin-tools  
  53. @legacy-software-development  
  54. @legacy-software-support  
  55. @editors  
  56. @java  
该文件如果从上面kickstart生成,不需要修改
clearpart --all –initlabel    #如果ks.cfg脚本中不添加该语句,将不能实现自动化安装
nfs --server=NFS服务器的位置 --dir=光盘的位置 或 系统安装文件存放的位置
network --device eth0 --bootproto dhcp(使用DHCP来实现自动分配IP地址)
 
我们再开启一台客户机进行测试,按F12选择PXE安装方式进行安装,如果出现要求输入
Would you like to enter an installation number的对话框,要求输入Linux5的序列号,
直接选择skip跳过去就可以了,安装完成后,网卡地址修改成固定IP,会发现无法ping通域名,重启系统就可以了。