无人值守安装技术简介
随着互联网技术的不断壮大,服务器的数量也在不断的增加,从初期的几台服务器发展到庞大的数据中心,单靠人工已经
无法满足在技术、业务、管理等方面的要求,那么标准化、自动化、架构优化、过程优化等降低IT服务成本的因素越来越被人们所重视。而如何自动化批量部署安装一个稳定的系统是实现自动化的第一步
无人值守安装(Unattended Setup)指软件安装时无需任何用户干预,直接按默认或通过应答文件设置安装,这对于无特殊需求的用户或企业大批量部署安装操作系统及软件时非常方便。
1、PXE简介
PXE,就是预启动执行环境,是一种引导启动的方式。这种协议一般由两部分构成,一部分是服务器端,一个是客户端。简单来说,我们通过这种方式可以自己创建一个“安装源”,在安装系统的时候只要能找到这个“源”便可以实现系统的安装。在实现无人值守的安装前,我们必须要搭建一些服务,来实现“安装源”的建立,例如ftp、http、tftp、dhcp等。当一台主机启动时,标准输入输出会将PXE客户端调入我们的内存中进行相关的操作,并提示相关的选项,在这里我们可以进行选择。PXE的客户端通过网络下载(download)启动文件到本地运行。
PXE安装优点,这种安装系统的方式可以不受光驱,光盘以及一些外部设备的限制,还可以做到无人值守,大大减轻了运维人员的工作负荷,像在一些主机数量庞大的机房进行批量安装,PXE将是你不二的选择。
2、PXE工作流程图
3、无人值守安装系统架构及工作原理
4、无人值守系统搭建主要步骤(基于win10-VMware-CentOS7)
4.1 安装前准备
4.1.1 登录并且进入超级用户
4.1.2 关闭防火墙以及selinux
# iptables -F;setenforce 0
4.1.3 连接网络并且测试网络
# nmcli connection up ens33 && ping www.baidu.com
4.2 CentOS7服务器部署http服务
4.2.1 查看网络信息
# nmcli connection show; nmcli device show
此处:
Ip地址为192.168.159.137/24
网关、DNS为192.168.159.2
4.2.1 新建静态的ip地址
# nmcli connection add con-name mystatic ifname ens33 type ethernet ipv4.method manual ipv4.address 192.168.159.137 ipv4.gateway 192.168.159.2 ipv4.dns 192.168.159.2
4.2.2 连接静态ip地址并且测试网络
# nmcli connection up mystatic && ping www.baidu.com
4.2.3 安装服务
# yum -y install dhcp tftp-server httpd syslimux xinetd
…
4.2.4 启动服务
# systemctl enable dhcpd;systemctl enable tftp;systemctl enable httpd;systemctl start httpd;systemctl start tftp
4.2.5 修改配置文件
# vi /etc/xinetd.d/tftp
将disable = yes改为no
4.2.6 重启服务
# systemctl restart xinetd
4.2.7 拷贝dhcp配置文件,并且编辑
# cd /etc/dhcp/;cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example dhcpd.conf && vi dhcpd.conf
在文本末尾添加(这个和前面查看IP地址4.2.1要对应):
subnet 192.168.159.0 netmask 255.255.255.0{
range 192.168.159.200 192.168.159.224;
next-server 192.168.159.137;
option routers 192.168.159.2;
filename "pxelinux.0";
}
4.2.8 重启dhcp
# systemctl restart dhcpd
4.2.9 创建目录
# cd /var/www/html/;mkdir -p centos/7; mkdir ksdir;
4.2.10 挂载iso镜像
# mount /dev/sr0 centos/7
4.2.11复制并且修改启动文件ks.cfg
修改yum源路径为url=“http://192.168.159.137/centos/7”
修改安装模式为字符界面安装text
修改服务disabled=“chronyd”
清除信息clearpart --all –initlabel及disable --reserve-mb=‘auto’
其中onboot可以不修改
其中修改hostname作为“标志”,与最后的实验结果相匹配。
4.2.12 准备内核、菜单文件1
# cd /var/lib/tftpboot/&&mkdir -p centos7 && cp /var/www/html/centos/7/isolinux/{vmlinuz,initrd.img} centos7/
4.2.13 下载syslinux包
# yum install syslinux
4.2.14 准备内核、菜单文件2
# cp /usr/share/syslinux/pxelinux.0 . && cp /usr/share/syslinux/vesamenu.c32 . && mkdir pxelinux.cfg && cp /var/www/html/centos/7/isolinux/isolinux.cfg pxelinux.cfg/default
4.2.15 修改菜单文件
# vi pxelinux.cfg/default
修改倒计时为20s(加快安装)
修改光标以及镜像路径
4.2.16 修改文件权限
# chmod +r /var/www/html/ksdir/ks7.cfg
5、测试
5.1 新建虚拟机
5.2 运行虚拟机(自动寻找DHCP)
5.3 自动进入菜单界面
5.4 自动安装
5.5 安装完成
5.6 测试新安装的主机
5.7 登录
成功!
#以上很多命令因为当时为了方便调试,都是放到一起执行的。
#经过多次调试,无人值守安装系统顺利完成。
#除了开头的简介来自网上之外,其他都是本人调试总结出来的,仅供大家学习参考!