6.1部署PXE远程安装服务
在大规模的Liunx应用环境中,如web群集,分布式计算等,服务器往往并不配备光驱设备,在这种情况下,如何为数十乃至上百台服务器裸机快速安装系统呢?传统的USB光驱,移动硬盘等安装方法显然已经难以满足需求。
PXE技术的网络装机方法,并结合Kisckstart配置实现无人值守自动安装。
规模化:同时装配多台服务器;
自动化:安装系统,配置各种服务;
远程实现:不需要光盘,U盘等安装介质。
PXE是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。若要搭建PXE网络体系,必须满足以下几个前提条件。
客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。
网络中有一台DHCP服务器以便为客户机自动分配地址,指定引导文件位置。
服务器通过TFTP提供引导镜像文件的下载。
其中,第一个条件实际上是硬件要求,目前绝大多数服务器和大多数PC都能提供此支持,之需要在BIOS设置中允许NETwork或LAN启动即可。下面将介绍PXE远程安服务的基本部署过程。
6.1.1搭建PXE远程安装服务器集成了CenOS7安装源,TFTP服务,DHCP服务,能够向客户机裸机发送PXE引导程序,Liunx内核,启动菜单等数据,以及提供安装文件。
1.准备CentOS7安装源
CentOS7的网络安装源一般通过HTTP,FTP协议发布,另外也支持NFS协议。
[root@localhost ~]# systemctl stop firewalld //关闭防火墙
[root@localhost ~]# setenforce 0 //关闭内核防火墙
[root@localhost ~]# vim /etc/yum.repos.d/CentOS-Media.repo //把标识修改成development
2.安装vsftpd并把光盘的软件包复制到ftp
[root@localhost ~]# cd /var/ftp/
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# cp -rf /media/cdrom/* /var/ftp/centos7/
[root@localhost ~]# systemctl start vsftpd
3.安装tftp-server并拷贝镜像
[root@localhost ~]# vim /etc/xinetd.d/tftp //把disable =yes 修改成disable=no
systemctl start tftp
[root@localhost ~]# cd /media/cdrom/images/pxeboot/
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/ //拷贝内核和镜像
[root@localhost ~]# yum -y install syslinux \\安装pxe程序
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ \\拷贝引导程序pxelinux.0
[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default \\创建
//ks不需要写=ftp://192.168/10.105/ks.cfg
4.构建DHCP服务,以便为192.168.10.0/24网段分配地址,并设置TFTP参数。
[root@localhost ~]# yum -y install dhcp
[root@localhost ~]# vi /etc/dhcp/dhcpd.conf
systemctl start dhcpd
5.创建虚拟机PXE网络安装系统
创建虚拟机时内存大一点(2G以上),否则会提示空间不足
6.2、 实现无人值守安装系统,创建安装应答文件
(1)安装system-config-kickstart软件包。
[root@localhost ~]# yum -y install system-config-kickstart
(2)运行kickstart配置程序,按实验要求创建ks.cfg应答文件。
在图形桌面环境中,按Alt+F2组合键后输入system-config-kickstart并点运行,或者打开桌面菜单“应用程序”→“系统工具”→“kickstart”。
3.图形化界面配置后保存,文件名用默认的ks.cfg
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default