方法:FTP+TFTP+DHCP+Kickstart+PXE
一、原理和概念
1、PXE
PXE并不是一种安装方式,而是一种引导方式。进行PXE安装的必要条件是要安装的计算机中包含一个PXE支持的网卡(NIC),即网卡中必须要有PXE Client。PXE(Pre-boot ExecutionEnvironment)协议使计算机可以通过网络启动。
前提:网卡中必须有PXE芯片
协议分为client和server端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE clent调入内存执行,由PXEclient将放置在远端的文件通过网络下载到本地运行。
运行PXE协议需要设置DHCP服务器和TFTP服务器。DHCP服务器用来给PXE client(将要安装系统的主机)分配一个IP地址,由于是给PXE client分配IP地址,所以在配置DHCP服务器时需要增加相应的PXE设置。
此外,在PXE client的ROM中,已经存在了TFTP Client。PXE Client通过TFTP协议到TFTP Server上下载所需要的文件。
2、KickStart
KickStart是一种无人值守安装方式。它的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成对的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。
二、环境准备
1、设置BIOS引导顺序为:硬盘,网络
前提:硬件中没有系统,否则直接从硬盘启动了。
(1)实验环境
服务端:server1.example.com IP:192.168.18.129 网卡模式:vmnet4
客户端:server2.example.com IP:192.168.18.130 网卡模式:vmnet4
(2)执行PXE+KickStart安装需要准备内容
A、DHCP服务器用来给客户分配IP;
B、TFTP服务器用来存放PXE的相关文件。比如,系统引导文件等。
C、FTP服务器用来存放系统安装的文件。如,镜像;
D、KickStart所生成的ks.cfg配置文件;
E、带有一个PXE支持网卡的将安装的主机;
2、安装与配置
(1)安装ftp服务
[[email protected] ~]# yum install -y vsftpd
[[email protected] ~]# /etc/init.d/vsftpd star
[[email protected] ~]# chkconfig vsftpd on
(2)安装TFTP服务
[[email protected] ~]# yum install -y tftp
[[email protected] ~]# yum install -ytftp-server
[[email protected] ~]# yum install -y xinetd
[[email protected] ~]# vim /etc/xinetd.d/tftp
13 server_args =-s /tftpboot #tftp服务运行时的默认目录
14 disable = no
[[email protected] ~]# /etc/init.d/xinetd start
[[email protected] ~]# chkconfig xinetd on
[[email protected] ~]# netstat -antup | grep 69
udp 0 0 0.0.0.0:69 0.0.0.0:* 2616/xinetd
(3)安装dhcp服务
[[email protected] ~]# yum install -y dhcp
[[email protected] ~]# cp/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
[[email protected] ~]# vim /etc/dhcp/dhcpd.conf
#删除文件中其他subnet选项,保留如下:
[[email protected] ~]# /etc/init.d/dhcpd start
[[email protected] ~]# chkconfig dhcpd on
三、配置使用PXE启动所需的相关文件
[[email protected] ~]# yum install -ysystem-config-kickstart #安装此包时,会把syslinux 装上
(1)准备tftp需要共享出去的文件
[[email protected] ~]# grep tftpboot/etc/xinetd.d/tftp
server_args = -s /tftpboot
[[email protected] ~]# mkdir /tftpboot
[[email protected] ~]# cp/usr/share/syslinux/pxelinux.0 /tftpboot/ #只有安装了system-config-kickstart才会有/usr/share/syslinux/目录及目录中的文件
[[email protected] ~]# mkdir/tftpboot/pxelinux.cfg
[[email protected] ~]# cp/mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
[[email protected] ~]# cp/mnt/images/pxeboot/initrd.img /tftpboot/
[[email protected] ~]# cp/mnt/images/pxeboot/vmlinuz /tftpboot/
[[email protected] ~]# chmod 644/tftpboot/pxelinux.cfg/default
[[email protected] ~]# vim/tftpboot/pxelinux.cfg/default
[[email protected] ~]# system-config-kickstart
[[email protected] ~]# echo $LANG
en_US.UTF-8
[[email protected] ~]#.UTF-8
[[email protected] ~]# system-config-kickstart
[[email protected] ~]# ls
ks.cfg
[[email protected] ~]# cp ks.cfg /var/ftp/
[[email protected] ~]# mount /dev/cdrom/var/ftp/pub/
[[email protected] ~]# service vsftpd restart
#测试
在192.168.18.130上修改bios开机引导项