PXE通过网络自动化安装系统
要实现此功能要有三个基础的服务:DHCP服务,TFTP服务,HTTP服务
HTTP:存放ks应答文件,安装源文件
DHCP:提供网络地址,提供TFTP服务器地址
TFTP: 存放启动文件,将网卡启动的内核文件,菜单文件存放于此 /var/lib/tftpboot 目录下
1 HTTP服务设置
安装HTTP,设置为开机启动,启动HTTP
yum install httpd
systemctl enable httpd
systemctl start httpd
创建相应的目录,方便存放文件
mkdir -pv /var/www/html/centos/{6,7}/os/x86_64/
mkdir -pv /var/www/html/ksdir/
在HTTP工作目录中放入安装源文件,ks应答文件
通过挂载源文件光盘或都直接cp安装源文件到/var/www/html/centos/目录下
mount /dev/sr0 /var/www/html/centos/6/os/x86_64 挂载Centos6的安装光盘到对应目录中
mount /dev/sr1 /var/www/html/centos/7/os/x86_64 挂载Centos7的安装光盘到对应目录中
拷贝ks应答文件到/var/www/html/ksdir/目录下
通过浏览器测试HTTP服务能否正常访问
2 TFTP服务设置
安装tftp,设置为开机启动,启动tftp
yum install tftp-server
systemctl enable tftp
systemctl start tftp
3 DHCP服务设置
安装dhcp包,设置dhcp服务,设置为开机启动,启动服务
yum install dhcp
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.examle /etc/dhcp/dhcpd.conf 拷贝DHCP配置模板文件到DHCP配置目录中,对DHCP服务进行设置
vim /etc/dhcp/dhcpd.conf
subnet 192.168.37.0 netmask 255.255.255.0 {
range 192.168.37.10 192.168.37.20;
option routers 192.168.37.254;
next-server 192.168.37.7; 添加的行,设置tftp服务器地址
filename "pxelinux.0"; 添加的行,设置启动文件
}
systemctl enable dhcpd
systemctl restart dhcpd
4 准备启动文件
拷贝启动文件到tftp工作目录中:/var/lib/tftpboot 启动文件通过启动光盘拷贝
拷贝vmlinuz和initrd.img文件到/var/lib/tftpboot目录下
拷贝pxelinux.0文件到/var/lib/tftpboot目录,此文件通过安装syslinux包可以获取,在/usr/share/syslinux/pxelinux.0
拷贝 /usr/share/syslinux/menu.c32到/var/lib/tftpboot目录下 简化版的菜单风格文件
mkdir /var/lib/tftpboot/pxelinux.cfg/ 启动菜单目录
拷贝启动光盘中的启动菜单到/var/lib/tftpboot/pxelinux.cfg/目录下,并修改文件名为default
5 修改启动菜单
vim /var/lib/tftpboot/pxelinux.cfg/default
只保留第一、第二行、菜单标题和要安装的菜单选项
检查一下几个服务的端口是否开启(http:80,tftp:69,dhcp:67),设置完成后可以通过网络安装系统
ss -ntlu
安装界面如下图
原文地址:https://blog.51cto.com/13749470/2382347