一、为什么要实现批量部署
- 在企业里,要管理很多台服务器,要管理这些服务器,你首先得给电脑都装上linux系统,那么,难道要一台一台手动安装好几千台服务器?
- 当然不是,我们只需要一台已经做好相应配置的主机去批量安装其他主机系统就可以了。
1、PXE是什么
- 预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统 。
- 由Intel和Systemsoft公司于1999年9月20日公布的技术
- C/S的工作模式
- PXE客户端会调用网际协议(IP)、用户数据协议(UDP)、动态主机分配协议(DHCP)、小型文件传输协议(TFTP)、HTTP等网络协议。
PXE 协议大致上结合了DHCP和TFTP,虽然都有在两者上面有改进。DHCP用于查找合适的启动伺服器,TFTP用于下载初始引导程序和附加文件。
2.PXE 工作模式的原理
思路:
服务器上的网卡是必须的设备,从网卡启动,访问别人的资源,进行自动安装。
- 注意:
为什么主机2要选择dhcp获取ip?
因为主机2只有网卡,并没有安装系统,要想静态获取ip,必须使用软件。
3.实现步骤
3.1
1.配置本地yum源
2.yum install httpd dhcp system-config-kickstart -y
3.2.资源的部署
- 共享镜像资源
http模块:
mkdir /var/www/html/rhel7.0
systemctl start httpd
systemctl stop firewalld
mount /镜像资源 /var/www/html/rhel7.0 #临时挂载
vim /etc/rc.d/rc.local #设置永久挂载,里面写mount...
chmod +x /etc/rc.d/rc.local
/etc/rc.d/rc.local
3.3共享ks配置资源
system-config-kickstart 模块
mkdir /var/www/html/ks
system-config-kickstart
#打开图形化界面,进行相应设置 其他步骤不变。
第二步,选择的源是HTTP 172.25.254.110 (本机目录) 目录:/rhel7.0
- 在最后一步,设置安装系统后自动配置好yum源
cat >/etc/yum.repos.d/westos.repo <<EOF
[rhel7.0]
name=rhel7.0
baseurl=http://172.25.254.110/rhel7.0
gpgcheck=0
EOF
- 保存文件
/var/www/html/ks/ks1.cfg(名字可以随便起)
- 编辑文件
vim /var/www/html/ks/ks1.cfg
ksvalidator /var/www/html/ks/westos.cfg 对文件进行语法检测
此处有报错,修改之后,再检测没有错误。
3.4程序的准备
dhcp模块
1.cd /etc/dhcp/
2.cat /dhcpd.conf
3.cp ....example /dhcpd.conf
4.vim dhcpd.conf
#该删的删,该添的添
之前已经做过,这里不再赘述。
systemctl restart dhcp
- 回到PEX工作原理,主机1在响应主机2的dhcp请求时,让它给2的file文件的内容是让主机2去读取isolinux目录里的内容,即可实现安装。
而isolinux目录的内容,是由PXE环境去引导读取的。
pxe模块:
yum search pxelinux yum
install syslinux.x86_64 -y #此程序包括了pxe环境执行时的一套组件包
查看syslinux的配置信息:
tftp模块
yum search tftp
#发布资源时所需要的软件,之所以不用apache,因为pxelinux.0头文件只读tftp服务。是开发时设置的。
yum install tftp-server.x86_64 -y
sytemctl start tftp
sytemctl enable tftp
实验环境到这里就部署好了,接下来是操作环节。