准备两台机子:一台PXE服务器,一台全新机(只需要在虚拟机创建,不需要配置)
实验开始
PXE服务器-192.168.180.100
1. 关闭防火墙
systemctl stop firewalld
setenforce 0
2. 安装vsftpd,(ftp做测试用)
安装vsftpd的时候,如果网络yum不可用或者很慢,就可以使用本地yum源构建
本地yum源搭建https://blog.csdn.net/m0_68472908/article/details/143856929?spm=1001.2014.3001.5501
yum install -y vsftpd ftp
3. 将光盘挂载
mount /dev/cdrom /mnt
4. 创建目录
mkdir /var/ftp/centos7
5. 进入/mnt
cd /mnt/
6. 将/mnt下的内容强制递归复制到/var/ftp/centos7目录下
cp -rf * /var/ftp/centos7/#查看
ls /var/ftp/centos7/
7. 创建yum文件,(如果前面构建了本地yum的话,直接拿本地yum源的文件直接修改就可以)
vim /etc/yum.repos.d/local.repo[centos7]
name=centos7
enabled=1
gpgcheck=0
baseurl=ftp://192.168.180.100/centos7
8. 开启vsftpd
systemctl start vsftpd
9. 连接到ftp内,查看有没有centos7这个文件
使用的匿名用户ftp,密码直接回车即可
ftp 192.168.180.100
10. 安装以下软件
yum install tftp-server syslinux dhcp
11. 进入/etc/xinetd.d/tftp修改配置
vim /etc/xinetd.d/tftp
取消禁用
12. 开启tftp
systemctl start tftp
13. 准备linux内核、初始化镜像文件
cd /mnt/images/pxeboot/
将这两个文件复制到/var/lib/tftpboot下
cp vmlinuz initrd.img /var/lib/tftpboot/
14. 准备PXE引导程序、启动菜单文件
#将/usr/share/syslinux/pxelinux.0复制到/var/lib/tftpboot下
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
15. 创建目录
mkdir /var/lib/tftpboot/pxelinux.cfg
16. 创建默认启动文件default,为图形安装
vim /var/lib/tftpboot/pxelinux.cfg/defaultdefault auto
prompt 1
label autokernel vmlinuzappend initrd=initrd.img method=ftp://192.168.180.100/centos7
17. 因为我们的/etc/dhcp/dhcpd.conf文件内是空的,所以我们要复制一份过来
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
18. 进入dhcp文件修改
vim /etc/dhcp/dhcpd.conf
将以下行的下面的内容删除,保留到这里
添加以下内容
subnet 192.168.180.0 netmask 255.255.255.0 {option routers 192.168.180.254;range 192.168.180.150 192.168.180.160;next-server 192.168.180.100;filename "pxelinux.0";
}
19. 开启dhcp
systemctl start dhcpd
无人值守
如果没有配置无人值守的话,也可以完成装机,但是在这个过程,是需要手动干预的
如果使用了无人值守,那就是全自动,不需要我们去进行选择,我们只需要等待安装完成就可以了
1. 将这个无人值守文件复制到ks.cfg
cp anaconda-ks.cfg ks.cfg
2. 进入无人值守文件
vim ks.cfg
将这两行删除
在这里插入一行内容
url --url=”ftp://192.168.180.100/centos7”
将%end以下的内容都删除
3. 将ks.cfg文件移动到/var/ftp下
mv ks.cfg /var/ftp/
4. 进入文件修改配置
vim /var/lib/tftpboot/pxelinux.cfg/default
添加以下内容
ks=ftp://192.168.180.100/ks.cfg
5. 给无人值守文件添加权限,这一步一定不能忘记,不然在安装的过程中会报错
chmod 644 /var/ftp/ks.cfg
6. 重启vsftpd文件
systemctl restart vsftpd
7. 将虚拟机的DHCP关闭,因为我们在PXE服务器上配置了DHCP,如果不把虚拟机的DHCP关闭话会出冲突
8. 开启一台新主机
进入电源固件将网络启动放到第一位,保存启动
9. 等待安装
到这一步了就可以确定我们的PXE就完成了!