PXE+Kickstart实现无人值守自动装机
一、实验环境
- 服务器:CentOS 7.6 最小化安装,两块网卡(一块NAT模式,一块仅主机模式) NAT模式因为要联网下载软件
- 客户机:一台新装虚拟机(网卡和服务器绑定同一块,仅主机模式)
二、实验所需软件
vsftpd-3.0.2-27.el7.x86_64.rpm //用来放置安装镜像,通过ftp访问镜像安装
dhcp.x86_64 12:4.2.5-79.el7.centos //用来给客户机分配ip
syslinux-4.05-15.el7.x86_64.rpm //用来提供pxe的引导程序
tftp-server.x86_64 0:5.2-22.el7.rpm //用来提供引导镜像文件的下载
system-config-kickstart.noarch 0:2.9.7-1.el7.rpm //用来无人值守安装
三、环境准备
[root@server ~]# systemctl stop firewalld.service //关闭防火墙
[root@server~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@server ~]# setenforce 0 //关闭selinux
四、安装步骤
(一)PXE网络安装
1、挂载安装镜像到ftp站点
2、配置启用tftp服务
3、将内核和初始化镜像文件放入tftp根目录下
[root@server images]# cd pxeboot/
[root@server pxeboot]# ll
总用量 57838
-rw-r--r--. 1 root root 52584760 11月 26 2018 initrd.img //l初始化镜像
-r--r--r--. 1 root root 441 11月 26 2018 TRANS.TBL
-rwxr-xr-x. 1 root root 6639904 11月 9 2018 vmlinuz //压缩内核
4、复制pxe引导程序
5、创建启动菜单配置文件
[root@server tftpboot]# mkdir pxelinux.cfg
[root@server tftpboot]# cd pxelinux.cfg/
[root@server pxelinux.cfg]# vim default //启动菜单配置文件,需要放到pxelinux.cfg目录下
default auto //指定默认入口为auto
prompt 0 //等待用户控制:1为等待,0为不等待
label auto //默认的图形安装
kernel vmlinuz //指定内核
append initrd=initrd.img method=ftp://192.168.100.120/Centos7 //指定初始化镜像和安装镜像的站点
label linux text //文本安装模式
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.100.120/Centos7
label linux rescue //救援模式
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.100.120/Centos7
6、配置dhcp
[root@server pxelinux.cfg]# cp -p /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y //安装dhcp以后默认没有配置文件,需要手动将模板文件拷贝为配置文件
配置文件里做如下设置:
subnet 192.168.100.0 netmask 255.255.255.0 { //配置网段
range 192.168.100.40 192.168.100.50; //配置地址池
option routers 192.168.100.1; //配置网关
next-server 192.168.100.120; //指定tftp服务器的地址
filename "pxelinux.0";} //指定pxe引导程序的文件名
7、启动各项服务
[root@server pxelinux.cfg]# systemctl start tftp
[root@server pxelinux.cfg]# systemctl start dhcpd
[root@server pxelinux.cfg]# systemctl start vsftpd
8、验证pxe网络安装
(二)Kickstart实现自动无人值守安装
1、图形化生成安装配置
装好Kickstart软件以后,系统工具里就会出现Kickstart的图形化界面的工具,可以到里面进行各项设置
最后保存为ks.cfg并保存到/var/ftp目录下
然后到default文件里面指定配置的ftp站点地址
但是,我们需要为系统先安装一些软件,root家目录下会自动生成一个模板
我们只需要把模板里面的这一段拷贝到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 //别忘了这里有个end