目录
一、 部署PXE远程安装服务
1.1 PXE概述:
- PXE是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或整个操作系统。
- 搭建PXE网络体系,需满足:
1、客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。
2、 网络中有一台DHCP服务器以便为客户机自动分配地址、指定引导文件位置。
3、服务器通过TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。1.2 搭建PXE远程安装服务器
1.2.1 准本CentOS 安装源
[root@localhost ~]# yum -y install vsftp ## 安装FTP服务 [root@localhost ~]# mkdir /var/ftp/centos7 ## 在FTP站点下面创建 centos7 挂载点 [root@localhost centos7]# mount /dev/sr0 /var/ftp/centos7/ ## 将光盘挂载到 ftp站点下的文件
1.2.2 安装并修改TFTP配置文件
[root@localhost centos7]# yum -y install tftp-server ## 安装 TFTP服务
[root@localhost centos7]# vim /etc/xinetd.d/tftp ## 修改配置
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no ## 只需将原来的yes改为no
per_source = 11
cps = 100 2
flags = IPv4
}
1.2.3 准备内核 初始化镜像文件
[roo[root@localhost images]# cd /var/ftp/centos7/images/pxeboot/ ## 进入挂载的镜像文件images/pxeboot/ 目录
t@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/ ## 将内核 初始化镜像文件复制到 tftp站点
1.2.4 准备PXE引导程序、启动菜单文件
[root@localhost pxeboot]# yum -y install syslinux ## 安装syslinux软件包
[root@localhost pxeboot]# cd /usr/share/syslinux/ ## 进入目录
[root@localhost syslinux]# cp pxelinux.0 /var/lib/tftpboot/ ## 将网络引导程序复制到tftp站点
[root@localhost syslinux]# cd /var/lib/tftpboot/ ## 进入目录
[root@localhost tftpboot]# mkdir pxelinux.cfg ## 创建文件pxelinux.cfg
[root@localhost tftpboot]# cd pxelinux.cfg/ ## 进入pxelinux.cfg
[root@localhost pxelinux.cfg]#vim default ## 创建文本default编辑
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.5 安装并配置DHCP服务
[root@localhost ~]# yum -y install dhcp
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf ## 进入配置文件配置
ubnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.99 192.168.100.200;
option routers 192.168.100.100; ## 网关暂时指定PXE服务器
option domain-name-servers 8.8.8.8;
next-server 192.168.100.100; ## 指向FTP服务器
filename "pxelinux.0"; ##引导程序文件名称
}
1.2.6 启动服务并验证安装
[root@localhost ~]# iptables -F ## 清空防火墙配置
[root@localhost ~]# setenforce 0 ##
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# systemctl start tftp
开启新的虚拟机 与PXE服务器绑定同一张网卡
二、实现Kickstart 无人值守安装
2.1 安装system-config-kickstart工具
[root@localhost ~]# yum -y install system-config-kickstart
2.2配置安装应答参数
3.2 修改 ks.cfg 配置文件
[root@localhost ~]# ll
总用量 12
-rw-------. 1 root root 2066 6月 22 08:44 anaconda-ks.cfg
-rw-r--r--. 1 root root 2114 6月 22 08:46 initial-setup-ks.cfg
-rw-r--r--. 1 root root 950 7月 13 19:46 ks.cfg ## 刚刚设置生成的配置文件
[root@localhost ~]# vim anaconda-ks.cfg ## 进入本机的配置文件
## 复制以下内容
%packages
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony
kexec-tools
%end
[root@localhost ~]# vim ks.cfg ## 进入文件
在文件最后粘贴上述复制内容
- ks.cfg文件的修改
[root@localhost ~]# cp ks.cfg /var/ftp/ ## 把配置完成的文件 复制到ftp站点
[root@localhost ~]# cd /var/lib/tftpboot/pxelinux.cfg/ ## 进入tftp站点/pxelinux.cfg/
[root@localhost pxelinux.cfg]# vim default
default auto
prompt 1
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.100.100/centos7 ks=ftp://192.168.100.100/ks.cfg ## 其他保持不变 ,在默认模式后添加ks的文件位置
3.3 重启服务 验证安装
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# systemctl start tftp
- 开启与PXE绑定同一张网卡的虚拟机
发现 Kickstart 无人值守安装 部署成功