搭建PXE实现服务器自动部署

目录

实验环境

1.主机IP地址为172.25.254.200、主机名为node1.rhel7.org

2.本地软件仓库配置成功

3.VMware虚拟机上的dhcp关闭

实验配置

一.kickstart自动安装脚本制作

1.安装图形化生成kickstart自动安装脚本的工具

2.启动图形制作工具

3.将kickstart配置以默认名ks.cfg保存到root目录下

4.进入ks.cfg文件编写软件包选择的代码

5.将/root/ks.cfg文件复制到/var/www/html/目录下

6.安装http服务并启动

7.在/var/www/html/下创建一个软链接指向/rhel7/

二.搭建dhcp服务并测试kickstart脚本

1.安装dhcp服务器为其他服务器提供分配IP的功能

2.生成配置文件

3.编辑dhcpd.conf配置文件

4.重启服务

5.新建虚拟机测试

三.搭建pxe网络安装环境实现服务器自动部署

1.安装共享pxelinux.0数据文件的网络服务并启动

2.将需要共享的文件拷贝到/var/lib/tftpboot/目录下

3.创建pxelinux.cfg目录,将isolinux.cfg拷贝到pxelinux.cfg/default下

4.修改dhcpd.conf配置文件,设置客户端需要去下一个服务器读取的文件

5.编辑文件

6.重启服务

四.测试

1.克隆一台虚拟机设置从网卡启动,退出并保存

2.注意测试完成后将测试机改回从硬盘启动


实验环境

1.主机IP地址为172.25.254.200、主机名为node1.rhel7.org
2.本地软件仓库配置成功

如何配置本地软件仓库看之前的文章

3.VMware虚拟机上的dhcp关闭

实验配置

一.kickstart自动安装脚本制作

1.安装图形化生成kickstart自动安装脚本的工具

XML 复制代码
[root@node1 ~]# yum install system-config-kickstart

2.启动图形制作工具

XML 复制代码
[root@node1 ~]# system-config-kickstart 

3.将kickstart配置以默认名ks.cfg保存到root目录下

4.进入ks.cfg文件编写软件包选择的代码

XML 复制代码
[root@node1 ~]# cd 
[root@node1 ~]# ls
anaconda-ks.cfg       ks.cfg  模板  图片  下载  桌面
initial-setup-ks.cfg  公共    视频  文档  音乐
[root@node1 ~]# vim ks.cfg 

编写完成后可利用ksvalidator检查文件是否有语法错误

XML 复制代码
[root@node1 ~]# ksvalidator ks.cfg

5.将/root/ks.cfg文件复制到/var/www/html/目录下

XML 复制代码
[root@node1 ~]# cp /root/ks.cfg /var/www/html/

6.安装http服务并启动

XML 复制代码
[root@node1 ~]# yum install httpd -y
[root@node1 ~]# systemctl enable --now httpd

7.在/var/www/html/下创建一个软链接指向/rhel7/

XML 复制代码
[root@node1 ~]# ln -s /rhel7/ /var/www/html/
[root@node1 ~]# cd /var/www/html/
[root@node1 html]# ls
rhel7

二.搭建dhcp服务并测试kickstart脚本

1.安装dhcp服务器为其他服务器提供分配IP的功能

XML 复制代码
[root@node1 ~]# yum install dhcp -y

2.生成配置文件

XML 复制代码
[root@node1 ~]# \cp -f /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf

3.编辑dhcpd.conf配置文件

XML 复制代码
[root@node1 ~]# vim /etc/dhcp/dhcpd.conf 

36行往后删除,27、28行注释掉


4.重启服务

XML 复制代码
[root@node1 ~]# systemctl enable --now dhcpd

5.新建虚拟机测试

XML 复制代码
ks=http://172.25.254.200/ks.cfg

可查看下发的ip地址

XML 复制代码
[root@node1 html]# cat /var/lib/dhcpd/dhcpd.leases

三.搭建pxe网络安装环境实现服务器自动部署

1.安装共享pxelinux.0数据文件的网络服务并启动

复制代码
[root@node1 ~]# yum install syslinux.x86_64 
[root@node1 ~]# yum install tftp-server.x86_64 -y
[root@node1 ~]# systemctl enable --now tftp

2.将需要共享的文件拷贝到/var/lib/tftpboot/目录下

XML 复制代码
[root@node1 ~]# cp /rhel7/isolinux/* /var/lib/tftpboot/
[root@node1 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@node1 ~]# cd /var/lib/tftpboot/
[root@node1 tftpboot]# ls
boot.cat  grub.conf   isolinux.bin  memtest     splash.png  upgrade.img   vmlinuz
boot.msg  initrd.img  isolinux.cfg  pxelinux.0  TRANS.TBL   vesamenu.c32

3.创建pxelinux.cfg目录,将isolinux.cfg拷贝到pxelinux.cfg/default下

XML 复制代码
[root@node1 tftpboot]# mkdir pxelinux.cfg
[root@node1 tftpboot]# cp isolinux.cfg pxelinux.cfg/default

4.修改dhcpd.conf配置文件,设置客户端需要去下一个服务器读取的文件

XML 复制代码
[root@node1 tftpboot]# vim /etc/dhcp/dhcpd.conf 

5.编辑文件

XML 复制代码
[root@node1 tftpboot]# vim /var/lib/tftpboot/pxelinux.cfg/default 

6.重启服务

XML 复制代码
[root@node1 tftpboot]# systemctl restart dhcpd

四.测试

1.克隆一台虚拟机设置从网卡启动,退出并保存

2.注意测试完成后将测试机改回从硬盘启动

相关推荐
io无心4 分钟前
Docker绑定端口报错
运维·docker·容器
悄悄敲敲敲2 小时前
Linux:进程间通信->共享内存
linux·运维·服务器
绵绵细雨中的乡音2 小时前
Linux进程学习【环境变量】&&进程优先级
linux·运维·学习
天下·第二3 小时前
【Nginx】负载均衡配置详解
运维·nginx·负载均衡
GanGuaGua3 小时前
linux:进程的替换
linux·运维·服务器
梓䈑4 小时前
【Linux系统】详解Linux权限
linux·运维·bash
Mr_sun.4 小时前
Day23-Web开发——Linux
linux·运维·服务器
极小狐5 小时前
如何创建并使用极狐GitLab 部署令牌?
运维·git·ssh·gitlab·github
高峰君主6 小时前
全栈自动化:从零构建智能CI/CD流水线
运维·ci/cd·自动化
IT运维爱好者6 小时前
Ubuntu 22.04.4操作系统初始化详细配置
linux·运维·服务器·ubuntu