1,PXE
PXE 预启动执行环境,它是基于TCP/IP,DHCP,TFTP等Internet协议之上的扩展网络协议,是一种提供的从网络启动的新技术。严格来说,PXE 并不是一种安装方式,而是一种引导方式。进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment)协议可以使计算机通过网络启动。此协议分为 Client端和 Server 端,而PXE Client则在网卡的 ROM 中。当计算机引导时,BIOS 把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器会给 PXE Client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE Client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE Client 的 ROM 中,已经存在了 TFTP Client,那么它就可以通过 TFTP 协议到 TFTP Server 上下载所需的文件了。
2. Kickstart
Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为 ks.cfg的文件。如果在安装过程中(不只局限于生成Kickstart安装文件的机器)出现要填写参数的情况,安装程序首先会去查找 Kickstart生成的文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便需要安装者手工干预了。所以,如果Kickstart文件涵盖了安装过程中可能出现的所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后就去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中的设置重启系统,并结束安装。
PXE工作原理示意图
配置:
1,安装本地yum源:
[root@localhost ~]#mount /dev/cdrom /mnt/cdrom (挂载光盘)
配置yum
2,配置安装DHCP
安装:[root@localhost ~]# yum -y install dhcp
配置:
[root@localhost etc]# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
[root@localhost ~]# service dhcpd start(启动dhcp服务)
[root@localhost ~]# chkconfig dhcpd on(将服务设为开机自启动)
3,配置安装FTP服务
安装:[root@localhost ~]# yum -y install vsftpd
配置:
[root@localhost ~]# cp -r /mnt/cdrom/* /var/ftp/pub/(把光盘上的所有文件复制到FTP上的匿名文件夹中)
[root@localhost ~]# service vsftpd start(启动ftp服务)
[root@localhost ~]# chkconfig vsftpd on(将服务设为开机自启动)
4,配置安装tftp服务
安装:[root@localhost ~]# yum -y install tftp-server(tftp属于超级守护进程,一般系统默认已安装)
配置:
[root@localhost ~]# service xinetd restart(由于默认以安装好了,所以重启服务)
[root@localhost ~]# cp -r /usr/lib/syslinux/pxelinux.0 /tftpboot/(把pxelinux.0复制到ftp下)
[root@localhost ~]# cp -r /mnt/cdrom/images/pxeboot/* /tftpboot/(把images/pxeboot/下的的所有文件复制到ftp下)
[root@localhost ~]# mkdir /tftpboot/pxelinux.cfg
[root@localhost ~]# cp /mnt/cdrom/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default(复制isolinux.cfg到新建的目录下,并改名为default)
5,配置安装kickstart
编辑配置文件ks.cfg
注意:key --skip如果是红帽系统,此选项可以跳过输入序列号过程;如果是CentOS 系列,则可以不保留此项内容;reboot 此选项必须存在,也必须文中设定位置,不然kickstart显示一条消息,并等待用户按任意键后才重新引导;clearpart --all --initlabel此条命令必须添加,不然系统会让用户手动选择是否清除所有数据,这就需要人为干预了,从而导致自动化过程失败;因为sendmail及cups开机时很费时,故将其关闭,也可根据需要定义。
将修改过的文件保存到ftp的根目录下
[root@localhost ~]# cp /root/ks.cfg /var//ftp/pub/
6,测试:
正常情况下是可以启动的,完成