之前我们想要新安装一个系统,需要一个U盘或者需要提前下载镜像才能够完成,当然在有些情况下(比如大型企业里面)这样的操作要求太过麻烦,而且浪费资源;所以我们今天使用 PXE以及kickstart技术来实现从网络全自动安装新系统!
实验环境:
PXE主机 : 主机名为pxe-server的虚拟机(172.25.254.123)
测试机 : 主机名为pxe-haveatry 虚拟机(172.25.254.223)
辅助机 : 真机foundation148 :(172.25.254.148)
给 pxe服务器安装dhcp服务:(用来作为dhcp主机来分配IP 域名 给 测试机)
更改配置文件,使dhcp服务正常工作:
vim /etc/dhcp/dhcpd.conf :
首先更改7-8行, 编写你自己的域名及IP地址:
然后就是20-35行内容如下:
其中最重要的是28-31行需要我们编写:
编写完毕,重启dhcpd服务:(没有报错就正常,如果报错的话,可以查看系统日志{cat /var/log/messages}来帮助排错):
@安装 syslinux服务:(保护系统安全的一个软件)
@安装tftp-server 服务:(用来传输文件,数据供测试机获得IP后安装使用)
查看tftp-server的配置文件,或者目录:
@安装xineted服务:
修改tftp配置文件(vim /etc/xinetd.d/tftp):
将 14行的 disable 改为 =no :
wq退出保存,重新启动xinted服务:
通过chkconfig 命令来确认tftp服务是否开启:
可以看到 tftp 服务 显示 on 开启状态:
@复制 syslinux下的 pxelinux.0 到 /var/lib/tftpboot 目录下:
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
@去编写dhcp服务 配置文件:
加入31-32行内容
28-30 表示给测试机配置 子网掩码,(50~70范围内的)IP
而31-32表示让测试机获得IP后去 123主机获得 pxelinux.0文件!
编写完毕重启dhcpd服务:
@在/var/lib/tftpboot 目录下新建一个目录:(名为pxelinux.cfg):
可以看到我们的镜像文件已经挂载好了 (dev/loop0 挂载到了 /var/www/html http服务对外开放目录上):
进入共享目录,复制 isolinux文件发送到我们的pxe主机 (pxe-server)的/var/lib/tftpboot 目录下:
可以看到pxe-server服务器 接收到了 isolinux的全部文件:
将isolinux.cfg 移动到pxelinux.cfg :
顺便将 isolinux.cfg文件更改名称为 default :
主机端 配置完毕 !
为了保证没有干扰 (我们得关闭其他DHCP主机)
我的话 关闭了我真机(foundation148)的dhcp服务!
在测试端 虚拟机 测试:
在真机root用户下通过virt-manager 命令打开虚拟机管理界面:
点击 server :(再点击灯泡按钮):
选择 boot options 将 NIC... 网络启动作为第一选择! 点击 APPLY支持:
开启 server 测试端 :(点击三角按钮开启虚拟机):
刚开始界面是这样的:
可以看到分配了 IP 域名 ,以及 pxelinux.0文件!
最下面的 Boot failed问题 是 (因为 找不到isolinux文件! (当时报错时还没有 从真机拷贝这个东西发送给 pxe服务端!))
正常显示如下:!!!
其中 我们可以看到背景图是一片黑色 那么我们当然可以改变它!:
当然首先得找一张图片来使用:(我就用下面这张图吧!):
发送到pxe服务端,供它使用:
服务端安装 修图软件 (ImageMagick):
因为 我们的背景图有尺寸规定(640x480),png文件类型,所在位置为 /var/lib/tftpboot目录下;
所以 利用 convert -resize 640x480! 文件名, 生成文件名:(其中! 表示强制执行!):
进入配置文件更改:
注:default文件 需要是可读写的:
如果不是的话 自行chmod 更改为 755的权限大小!:
将ASUKA.png图片复制到/var/lib/tftpboot目录下:
编写配置文件:
将默认背景图splash.png改为ASUKA.png :
查看效果:(打开虚拟机):
可以看到更改背景图完美OK!!!!
@还能更改的就是系统等待操作时间:
timeout表示 默认等待 60秒:
更改为100,即等待10秒:
结果如下:
@更改最上面的标题:(Red Hat Enterprise Linux 7.4):
改为 我喜欢的 吃鸡 标语吧!:
效果如下:
更改64行 ,设置网络获取镜像地址(因为我们真机已经设置好了就直接拿来用了,要注意的是 版本得一致!!!):
再次打开虚拟机,点击install redhat ...
然后就到安装设置界面了!!!
PXE的相关操作就完成了!
当然上面步骤是模拟安装的 :(真正安装一个新的虚拟机要进行下面操作):
还是用真机打开虚拟机管理面板:(virt-manager):
点击红框里的图标:
选择PXE类型安装:
选择linux(看你自己想要安装什么系统了):
给出一些基本配置:(内存RAM)
硬盘大小:
自己起一个名字:
后面就和上面没什么区别了:
如果我们想要全自动安装还需要使用kickstart软件的帮助:
具体操作请看博客:https://mp.csdn.net/postedit/83550817
OVER!