DHCP+TFTP+PXE自动网络引导安装Linux操作系统

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

DHCP+TFTP+PXE自动网络引导Linux+NFS/FTP/HTTP Push多个Linux操作系统

原理:

1)客户端PXE网卡启动

2)从DHCP服务器获得IP

3)从TFTP服务器上下载pxelinux.0、default

4)根据配置文件default指定的vmlinuz、initrd.img启动系统内核,并下载指定的ks.cfg文件

5)跟据ks.cfg去(HTTP/FTP/NFS)服务器下载RPM包并安装系统

6)完成安装

·    DHCP:

  1. [root@rhel6 ~]# cat /etc/dhcp/dhcpd.conf ddns-update-style none;
  2. option routers 192.168.1.119; option subnet-mask 255.255.255.0;
  3. option domain-name "xfcy.org"; option domain-name-servers 192.168.1.119;
  4. default-lease-time 21600; max-lease-time 43200;
  5. subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.101 192.168.1.200;
  6. # TFTP Server filename "pxelinux.0";
  7. next-server rhel6.xfcy.org; host vm.xfcy.org {
  8. hardware ethernet 00:0c:29:c0:a7:99; fixed-address 192.168.1.19;
  9. } }
  10. [root@rhel6 tftpboot]# /etc/init.d/dhcpd restart
  11. Shutting down dhcpd: [ OK ] Starting dhcpd: [ OK ]
  ·TFPT:
  1. [root@rhel6 ~]# rpm -qa | egrep 'tftp|xinetd' tftp-0.49-7.el6.x86_64
  2. xinetd-2.3.14-33.el6.x86_64 tftp-server-0.49-7.el6.x86_64
  3. [root@rhel6 ~]# cat /etc/xinetd.d/tftp
  4. # default: off service tftp
  5. { socket_type = dgram
  6. protocol = udp wait = yes
  7. user = root server = /usr/sbin/in.tftpd
  8. server_args = -s /var/lib/tftpboot disable = no
  9. per_source = 11 cps = 100 2
  10. flags = IPv4 }
  11. [root@rhel6 ~]# chkconfig xinetd on
  12. [root@rhel6 ~]# /etc/init.d/xinetd restart Stopping xinetd: [ OK ]
  13. Starting xinetd: [ OK ]
  14. [root@rhel6 ~]# netstat -lnup | grep :69 udp 0 0 0.0.0.0:69 0.0.0.0:* 2751/xinetd
  15. [root@rhel6 ~]# yum -y install syslinux
  16. [root@rhel6 ~]# mkdir -p /var/lib/tftpboot/pxelinux.cfg/ [root@rhel6 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
  17. [root@rhel6 ~]# cp /media/isolinux/initrd.img /var/lib/tftpboot/ [root@rhel6 ~]# cp /media/isolinux/vmlinuz /var/lib/tftpboot/
  18. [root@rhel6 ~]# cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default [root@rhel6 ~]# ls -R /var/lib/tftpboot/
  19. /var/lib/tftpboot/: boot.msg initrd.img pxelinux.0 pxelinux.cfg vmlinuz
  20. /var/lib/tftpboot/pxelinux.cfg:
  21. default
  22. [root@rhel6 ~]# vi /var/lib/tftpboot/pxelinux.cfg/default default rhel6_nfs
  23. prompt 1 #显示"boot: " 提示进行选择以下lable timeout 100 #10s 的超时后进入default所定义的lable
  24. display boot.msg #以boot.msg进行文本提示(与以下的*.msg文件结合,非必选项) F1 boot.msg
  25. F2 options.msg F3 general.msg
  26. F4 param.msg F5 rescue.msg
  27. #可通过以下3种方式下载ks.cfg文件,通过default定义lable或在timeout时间之内选择lable即可 label rhel6_nfs #通过NFS方式
  28. kernel vmlinuz append ksdevice=eth0 load_ramdisk=1 initrd=initrd.img network ks=nfs:192.168.1.119:/var/ftp/pub/ks.cfg
  29. label rhel6_ftp #通过FTP方式 kernel vmlinuz
  30. append ksdevice=eth0 load_ramdisk=1 initrd=initrd.img network ks=ftp://192.168.1.119/pub/ks.cfg label rhel6_http #通过HTTP方式
  31. kernel vmlinuz append ksdevice=eth0 load_ramdisk=1 initrd=initrd.img network ks=http://192.168.1.119/pub/ks.cfg
  32. label rescue #用于rescue模式 kernel vmlinuz
  33. append load_ramdisk=1 initrd=initrd.img rescue

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