部署PXE高效批量网络装机
因在Cisco3850核心交换机中已开启DHCP 服务,因此不需要在配置DHCP服务。如果您的网络环境中也已有DHCP服务,也不用再配置DHCP服务了,直接部署PXE相关服务即可。
找一台linux系统的服务器,这本次试验用的是一台cents7.6服务器,IP地址172.20.26.78的虚拟机。
一、编译安装nginx (也可以yum install安装nginx)
1、更新源和环境所需插件安装
yum update #更新yum源
yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel #先安装nginx依赖包
2、下载nginx-1.18.0.tar.gz 存放在/data/software 目录下
cd /data/software
yum install wget -y
wget -c http://nginx.org/download/nginx-1.18.0.tar.gz #从nginx官网下载nginx-1.18.0.tar.gz
tar -xf nginx-1.18.0.tar.gz -C /data/server/ #解压nginx到/data/server/
cd /data/server/nginx-1.18.0
3、编译安装nginx,指定执行的用户主和用户组(使用前面创建的www用户和组)
./configure --prefix=/data/server/nginx --with-http_ssl_module
make
make install
cd /data/server/nginx #查看nginx目录下的文件情况
/data/server/nginx/sbin/nginx -? #查看nginx相关参数
/data/server/nginx/sbin/nginx -v #查看nginx的版本
/data/server/nginx/sbin/nginx -t #检查配置文件语法是否正确
/data/server/nginx/sbin/nginx # 启动nginx服务
netstat -nltp #查看端口
ps -ef |grep nginx #查看nginx进程
pgrep nginx | xargs kill -9 ##如何用一条Linux命令干掉所有nginx进程,通过 pgrep 指令,根据名字找出所有包含该名字的进程号
设置nginx自启
在rc.local中添加启动代码
vim /etc/rc.local
/data/server/nginx/sbin/nginx #在文件末尾添加一句
chmod 755 /etc/rc.local #重新赋予权限
/data/server/nginx/sbin/nginx -s reload #重启nginx
在浏览器中输入nginx 服务器IP地址,查看nginx的默认页面
二、安装其他软件
yum -y install tftp tftp-server dnsmasq syslinux
系统光盘镜像安装源目录:
/data/
[root@bogon data]# ll -h
总用量 18G
-rw-r--r-- 1 root root 4.3G 3月 23 11:08 CentOS-7.6-x86_64-DVD-1810.iso
-rw-r--r-- 1 root root 4.4G 3月 23 13:59 CentOS-7.9-x86_64-DVD-2009.iso
-rw-r--r-- 1 root root 9.3G 3月 23 13:58 CentOS-8.4.2105-x86_64-dvd1.iso
mkdir -p /data/server/nginx/html/centos7.9 #在nginx的html目录下centos7.9目录
vim /data/server/nginx/conf/nginx.conf
[root@bogon data]# mount -t iso9660 -o loop /data/CentOS-7.9-x86_64-DVD-2009.iso /data/server/nginx/html/centos7.9/
mount: /dev/loop0 写保护,将以只读方式挂载
vim /etc/fstab #永久挂载设置,在/etc/fstab文件里添加以下命令
/data/CentOS-7.9-x86_64-DVD-2009.iso /data/server/nginx/html/centos7.9/ iso9660 defaults 0 0
保存,退出。
mount -a #输入后没有报错即可
在浏览器中输入http://172.20.26.78/centos7.9/可以打开centos7.9的镜像文件目录
三、配置安装centos7.9的引导文件
cd /data/server/nginx/html/centos7.9/
ll
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
ll
cd isolinux
[root@backup-server isolinux]# cp vmlinuz initrd.img splash.png vesamenu.c32 /var/lib/tftpboot/
[root@backup-server isolinux]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@backup-server isolinux]# cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@backup-server isolinux]# vim /var/lib/tftpboot/pxelinux.cfg/default
method=http://172.20.26.78/centos7.9
[root@bogon isolinux]# systemctl start tftp
vim /etc/dnsmasq.d/dhcp # 新创建一个dnsmasq 配置文件dhcp
port=0 #禁用DNS端口,默认是会启用DNS服务器
dhcp-range=172.20.26.0,proxy #当前所在网段
dhcp-boot=pxelinux.0
pxe-service=x86PC,'Network Boot',pxelinux
保存
systemctl start dnsmasq
ss -tunlp |grep :69
netstat -antlupe | grep 69
systemctl status dnsmasq #查看dnsmasq 服务状态
systemctl enable dnsmasq # 将dnsmasq 服务设置为开机启动
ps -ef | grep dnsmasq
找一台机器开机启动后,即可看见172.20.26.78这台PXE服务器信息,centos7的lab提示标题,根据提示进行安装centos7 即可