各位小伙伴今天给大家带来的是:PXE远程部署装机以及kickstart无人值守装机的内容,我们将从以下几点进行解析和实验 部署PXE远程安装服务:1、搭建PXE远程安装服务器2、验证PXE网络安
部署PXE远程安装服务: 1、搭建PXE远程安装服务器 2、验证PXE网络安装 实现Kickstart无人值守安装: 1、准备安装应答文件 2、实现批量自动装机
服务器的批量部署:
1、规模化:同时装配多台服务器 2、自动化:安装系统、配置各种服务 3、远程实现:不需要光盘、U盘等安装介质
PXE远程装机实验:
实验环境:
1、建议在局域网环境下使用(两台centos7,一台作为PXE服务器,另外新建一台作为裸硬件,验证实验时使用) 2、在PXE服务器状态下的centos7-1需要两块网卡:一块NAT(在线安装软件包),一块仅主机(局域网内通讯)
第一步:在虚拟机中安装一台裸硬件
在VMware主界面左上角,点击文件,选择新建虚拟机 1、进入安装向导:选择自定义,点击下一步 2、兼容性默认为:Workstation 14.x,点击下一步 3、安装来源:选择稍后安装操作系统。点击下一步 4、客户机操作系统:选择linux,版本选为centos 7 64位,点击下一步 5、路径选择:可自行定义 6、内存:设置为2GB,点击下一步 7、网络连接:选择仅主机(这样才能使网卡在局域网内通讯),点击下一 8、SCSI控制器选择推荐、虚拟磁盘类型选择推荐,点击下一步 9、磁盘选择:创建新虚拟磁盘,点击下一步 10、磁盘大小:40GB,点击下一步 11、虚拟磁盘文件:放在安装路径文件夹中,点击下一步 12、自定义硬件:把声卡和打印机移除,此处需要注意和以前的不同处在于,我们之前会在13、CD中挂载ISO镜像文件,但是不需要,直接点击关闭,点击完成 此时一台没有装任何系统的裸硬件就添加完成了,后面我们所有配置都完成之后,最后验证实验结果的时候只需要把它启动就可以了
接下来我们来配置PXE服务器:
输入:ifconfig(检查网卡)
输入:cd /etc/sysconfig/network-scripts/(进入到此目录中) 输入:ls(查看详细信息) 输入:cp -p ifcfg-ens33 ifcfg-ens36(复制ens33网卡配置文件并重命名为ens36) 输入:vim ifcfg-ens36(修改ens36网卡配置) 修改:dhcp为static 修改:两处ens33为ens36 删除:UUID行 写入:IPADDR=192.168.100.100(IP地址) 写入:NETMASK=255.255.255.0(子网掩码) 写入:GATEWAY=192.168.100.1(网关) 输入:wq(保存退出)
输入:service network restart(重启网络服务) 输入:ifconfig(查看网卡)
我们需要用ens36网卡对裸硬件进行地址分配(地址为100段),然后建立连接之后进行系统安装
第二步:安装服务并配置:
安装DHCP服务
输入:yum install dhcp -y(安装dhcp服务) 输入:cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf(复制配置文件) 输入:yes(确认覆盖) 输入:vim /etc/dhcp/dhcpd.conf(修改主配置文件) 27行:subnet 192.168.100.100 netmask 255.255.255.0 { range 192.168.100.20 192.168.100.30;(地址池) option routers 192.168.100.100;(网关,此处指向自己) option domain-name-servers 8.8.8.8;(分配DNS地址) next-server 192.168.100.100;(指向TFTP服务器) filename ”pxelinux.0”;(指向引导文件位置) }
输入:wq保存退出 输入:yum install syslinux -y(安装引导程序文件) 输入:rpm -ql syslinux | grep pxelinux.0(查看文件路径)
此配置文件应该放在TFTP目录中 输入:yum install tftp-server -y(安装此服务) 输入:rpm -ql tftp-server(查看站点路径) 其中:/etc/xinetd.d/tftp(配置文件) /var/lib/tftpboot(站点)
输入:cp /usr /share/syslinux/pxelinux.0 /var/lib/tftpboot(放入引导程序pxelinux.0) 输入:ls(查看详情,可以看到pxelinux.0在目录中) 输入:vim /etc/xinetd.d/tftp(编辑tftp配置) 修改:disable =no(启用服务) wq保存退出
镜像需要挂载到ftp站点中,所以需要安装FTP服务: 输入:yum install vsftpd -y(安装此服务) 输入:rpm -ql vsftpd(其中/var/ftp为站点路径) 输入:cd /var/ftp/(进入站点路径) 输入:mkdir centos7(创建文件) 输入:ls(可以看到创建的文件) 输入:mount /dev/sr0 /var/ftp/centos7/(挂载光盘镜像文件到FTP站点中) 输入:df -hT(查询挂载) 具体过程如下图:
输入:cd centos7/ 输入:ls(查看详情,我们要把初始化文件和内核放到站点目录中,都在images目录中) 输入:cd images/ 输入:ls(查看详情) 输入:cd pxeboot/ 输入:ls(查看详情) 此时我们需要的initrd.img(初始化文件)和vmlinuz(内核)就在其中 输入:ls -lh(友好查看详细信息) 我们需要把上述两个文件放到TFTP的站点目录中 输入:cp initrd.img vmlinuz /var/lib/tftpboot/ 输入:ls /var/lib/tftpboot/(可以看到文件被复制到目录中)
输入:cd /var/lib/tftpboot/ 输入:ls(查看详情) 输入:mkdir pxelinux.cfg(创建此文件,必须是这个名称) 输入:ls(查看详情) 输入:cd pxelinux.cfg/ 输入:ls(查看详情) 输入:vim default(编辑文件)
写入内容如下:
输入:systemctl stop firewalld.service(关闭防火墙) 输入:setenforce 0(关闭安全功能) 启动以下三项服务: systemctl start dhcpd systemctl start tftp systemctl start vsftpd 回到裸硬件主机中,开启时眼疾手快按下Esc 选择网络启动,按回车键
出现boot,再按回车
后面就会进行自动安装,直到进入系统引导界面:
我们在选择中文之后查看面板有哪些不同 安装源来自于远端服务器:192.168.100.100/centos7
后面就正常自己进行安装设置就可以了,以上就是PXE远程装机的实验
我们虽然使用PXE进行了远程的自动装机,但是后续安装的设置还是需要我们手动操作的,接下来将要给大家带来的就是,进入启动安装界面之后,完全不需要手动设置及后续安装操作的厉害技术kickstart无人值守技术!
它来了!它来了!它真的来了!比PXE更厉害的kickstart无人值守装机
关于kickstart
kickstart无人值守技术: 1、创建应答文件,预先定义好各种安装设置 2、免去交互设置过程,从而实现全自动化安装 3、通过添加%post脚本,完成安装后的各种配置操作
kickstart无人值守装机实验:
1、之前PXE实验的配置文件及安装服务都不要还原,此处继续沿用 2、我们先进入centos7-1中点击桌面左上角的应用程序,选择系统工具,此时因为没有安装相对应的服务,所以是未显示kickstart的模板的
输入:yum install systemc-config- kickstart -y 再回到centos7-1的桌面,在左上角的应用程序,系统工具中选择kickstart
接下来就需要用到它来进行创建模板文件 基本配置: 1、语言设置为简体中文 2、时区:上海 3、密码:abcd1234,再次确认密码 4、勾选安装后重启
安装方法: 全新安装 1、选择FTP:ftp://192.168.100.100/ 2、目录:centos7
分区信息: 点击添加 1、先创建boot 500MB
2、再添加home 4096MB
3、再添加swap 4096MB
4、再添加“/”根,选择使用磁盘上全部未用空间
网络配置:添加网络设备:ens33
防火墙配置:禁用
安装后脚本:使用解释程序:/bin/bash
点击左上角文件,选择保存到/var/ftp的目录中
我们此时在进到终端界面 输入:cd /var/ftp/ 输入:ls(查看详细信息可以看到我们放进去的ks.cfg文件)
输入:vim ks.cfg(其实我们可以看到里面所显示的内容就是我们之前设置好的内容)
接下来我们需要安装哪些组件包,就应该把它添加在这个模板文件中,因为启动时会去读这个模板文件, 输入:cd /root(进入此目录) 输入:ls(可以看到anaconda.cfg这个模板文件) 输入:vim anaconda-ks.cfg(复制如下图我们需要的内容)
输入:cd -(回到ftp目录) 输入:vim ks.cfg(编辑此文件) 按大G到末行,按小o在下行插入 将我们复制的内容粘贴到此处 输入:wq(保存退出)
如果不操作粘贴组件安装包的话,启动安装之后选组件无法判断,仍然需要手动选择,那样就没有自动部署安装的意义了 接下来我们还需要做引导,加载模板: 输入:cd /var/lib/tftpboot/ 输入:cd/pxelinux.cfg/ 输入:vim default(配置此文件) 在default配置中auto默认加载中添加:ks=ftp://192.168.100.100/ks.cfg
回到裸硬件主机中,开启时眼疾手快按下Esc 选择网络启动,按回车键
出现boot,再按回车键