实验(一):部署PXE远程安装服务
服务器的批量部署
规模化:同时配多台服务器
自动化:安装系统,配置各种服务
远程实现:不需要光盘,U盘等安装介质
实验基本步骤要素:
1,DHCP(自动分配IP地址 定位引导文件)
next-server //指向TFTP路径
filename //引导程序文件位置
2,TFTP(简单文件传输协议 UDP:69 高效率 容量小)(引导程序pxelinux.0(syslinux包),压缩内核vmlinuz,系统初始化文件initrd.img,启动菜单default)
3,FTP(vsftpd 文件传输协议 系统镜像(centos7) 安全,容量大 TCP:20数据传输,21:连接)
需要的安装包:dhcp,tftp-server,vsftpd,syslinux
实验环境:
一台Linux服务器作为PXE装机
一台未安装系统的裸机
(一)为了不影响使用NAT模式,我们给Linux服务器安装一个新的网卡,并设置为仅主机模式,并对新网卡配置一个固定的IP地址作为dhcp分配地址
1,将Linux服务器设置中添加一块新的网卡,并设置为仅主机模式
2,配置新网卡ens36信息
[root@localhost ~]# cd /etc/sysconfig/network-scripts/ 复制一份网卡信息作为新网卡的配置文件 [root@localhost network-scripts]# cp -p ifcfg-ens33 ifcfg-ens36 [root@localhost network-scripts]# vim ifcfg-ens36 对新网卡ens36配置 [root@localhost network-scripts]# systemctl restart network 重启网络服务
(二)安装DHCP服务,编辑配置文件/etc/dhcp/dhcpd.conf
[root@localhost network-scripts]# yum install dhcp -y 安装dhcp服务 [root@localhost network-scripts]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 复制为dhcp的配置文件 cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y [root@localhost network-scripts]# vim /etc/dhcp/dhcpd.conf 编辑dhcp配置文件
subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.20 192.168.100.30; option routers 192.168.100.100; option domain-name-servers 114.114.114.114; next-server 192.168.100.100; filename "pxelinux.0"; }
(三)安装syslinux,tftp服务
1,安装syslinux并查看引导文件pxelinux.0位置
[root@localhost network-scripts]# yum install syslinux -y 安装syslinux [root@localhost network-scripts]# rpm -ql syslinux | grep pxelinux 查看引导文件位置
2,安装tftp服务
[root@localhost network-scripts]# yum install tftp-server -y 安装tftp服务 [root@localhost network-scripts]# rpm -ql tftp-server 查看文件位置 [root@localhost network-scripts]# vim /etc/xinetd.d/tftp 开启tftp服务
3,复制引导文件pxelinux.0到/var/lib/tftpboot(TFTP站点中)
[root@localhost network-scripts]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot 复制引导文件到站点中 [root@localhost network-scripts]# cd /var/lib/tftpboot/ 切换到站点中查看 [root@localhost tftpboot]# ls pxelinux.0
(四)安装vsftp服务(安装之前先将centos7镜像文件连接到光盘),将压缩内核和初始化文件复制到TFTP站点中
[root@localhost tftpboot]# yum install vsftpd -y 安装vsftp服务 [root@localhost tftpboot]# cd /var/ftp [root@localhost ftp]# mkdir centos7 [root@localhost ftp]# mount /dev/cdrom centos7/ [root@localhost ftp]# cd centos7/images/pxeboot/ [root@localhost pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/ [root@localhost pxeboot]# ls /var/lib/tftpboot/
(五)编辑启动菜单default配置文件,关闭防火墙并开启三个服务
[root@localhost pxeboot]# cd /var/lib/tftpboot/ 切换到tftp站点 [root@localhost tftpboot]# mkdir pxelinux.cfg 创建配置文件目录 [root@localhost tftpboot]# ls initrd.img pxelinux.0 pxelinux.cfg vmlinuz [root@localhost tftpboot]# cd pxelinux.cfg/ [root@localhost pxelinux.cfg]# vim default 编辑default配置文件 [root@localhost pxelinux.cfg]# systemctl stop firewalld.service 关闭防火墙 [root@localhost pxelinux.cfg]# setenforce 0 [root@localhost pxelinux.cfg]# systemctl start dhcpd 启动三个服务 [root@localhost pxelinux.cfg]# systemctl start tftp [root@localhost pxelinux.cfg]# systemctl start vsftpd
default auto prompt 1 label auto kernel vmlinuz append initrd=initrd.img method=ftp://192.168.100.100/centos7 label linux text kernel vmlinuz append text initrd=initrd.img method=ftp://192.168.100.100/centos7 label linux rescue kernel vmlinuz append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7
(六)创建并开启未安装系统的裸机,选择网络装机,安装系统
1,创建的未安装系统的裸机需要选择仅主机模式
2,打开未安装系统的裸机,选择网络装机
成功部署pxe批量装机服务!!!
实验(二):kickstart无人值守技术
创建应答文件(ks.cfg),预先定义号各种安装设置
免去交互设置过程,从而实现全自动化安装
通过添加%post脚本,完成安装后的各种配置操作
(一)安装kickstart软件包,并打开设置(除了我列出的图片要修改的之外,其余的不需要修改)
[root@localhost ~]# yum install system-config-kickstart -y 安装kickstart软件
1,安装好之后打开kickstart进行设置
2,设置安装的内容信息
基本配置选择中文语言,时区,root密码,安装后重启
安装方法选择FTP服务器,并指明服务器的地址
设置分区信息,启动目录/boot:500M 家目录/home:4096M 交换空间swap:4096M 根目录/:为分配的所有空间
设置网路设备信息为ens33
防火墙设置为禁用
填写安装后脚本的解释器为/bin/bash
保存ks.conf到/var/ftp目录中
(二)将安装软件包的模板复制到ks.cfg中,并在/var/lib/tftproot中引导加载模板,让其生效
1,查看ks.conf,复制本地anaconda-ks.cfg中的packages软件包模板到ks.cfg中
[root@localhost pxelinux.cfg]# ls /var/ftp 切换到/var/ftp查看保存的ks.cfg设置配置文件 centos7 ks.cfg pub [root@localhost pxelinux.cfg]# cd /root 切换到本地/root下 [root@localhost ~]# ls anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面 [root@localhost ~]# vim anaconda-ks.cfg 将anaconda-ks.cfg中的安装软件包模块复制到/var/ftp/下的ks.cfg中 [root@localhost ~]# vim /var/ftp/ks.cfg
(三)引导加载ks.cfg模板到/var/lib/tftproot/pxelinux.cfg/下的default配置文件中
[root@localhost ~]# cd /var/lib/tftpboot/pxelinux.cfg/ 切换到/var/lib/tftpboot/pxelinux.cfg/目录下 [root@localhost pxelinux.cfg]# ls default [root@localhost pxelinux.cfg]# vim default 编辑
(四)开启为安装系统的裸机,看看安装的效果
直接跳过交互界面,直接安装系统,实现了无人值守安装
扩展:红帽6中如何使用pxe,和无人值守安装,步骤其实都一样的配置,只不过启动菜单default不需要自己去写,只需要在挂载的镜像isolinux目录下的isolinux.cfg配置文件复制到/var/lib/tftpboot/pxelinux.cfg/default(安装菜单)中即可;
另外还需要复制挂载镜像下的isolinux下的vesamenu.c32(图形化安装菜单)到/var/lib/tftpboot中即可
谢谢阅读!!!