各位小伙伴今天给大家带来的是:PXE远程部署装机以及kickstart无人值守装机的内容,我们将从以下几点进行解析和实验
部署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,再按回车键