一、部署PXE远程安装服务
PXE是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。若要搭建PXE网络体系,必须满足以下条件:
1、PXE远程服务器
安装源(系统盘文件);
TFTP服务;
DHCP服务;
Linux内核;
能够向客户机裸机发送PXE引导程序
启动菜单及无人应答文件等。
2、客户端:
客户端的网卡支持PXE协议,且主板支持网络引导(现在多数都支持);
设置BIOS允许从Network或LAN启动;
二、搭建PXE远程安装服务器
服务器端
环境准备:
1-LAN1网段
将服务器端linux和客户端win7的网络适配器变为LAN1网段
2-IP设置
服务器端:
将服务器端的IP地址手动设置为192.168.139.131 其他的关闭
1-配置YUM源,并安装ftp服务
#mount/dev/sr0 /mnt/cdrom
#cd /etc/yum.repos.d
#mkdir bak
#cp * bak
#vim dvd.repo
[dvd]
name=centos7
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
#yum install -y vsftpd*
2、准备centos7安装源并启动ftp服务
# mkdir /var/ftp/centos7
# cp -rf /mnt/cdrom/ * /var/ftp/centos7/ //或者将光盘挂载到centos7中
# systemctl start vsftpd
# systemctl enable vsftpd
匿名用户登录FTP测试,如果提醒没有ftp命令,则要安装FTP
# yum install ftp -y
3、安装并启动TFTP服务
# yum -y install tftp-server
# vim /etc/xinetd.d/tftp #编辑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
}
# systemctl start tftp
# systemctl enable tftp
4、准备Linux内核vmlinux、初始化镜像文件initrd.img(在系统盘中)
# cd /mnt/cdrom/images/pxeboot/
# cp vmlinuz initrd.img /var/lib/tftpboot/ #复制到tftp的启动文件/var/lib/tftpboot里
5、准备PXE引导程序
# yum -y install syslinux #安装引导程序
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #把引导程序复制到启动文件里
6、配置启动菜单
注:光盘的启动文件是有的
# mkdir /var/lib/tftpboot/pxelinux.cfg #建立启动配置文件所在目录
# vim /var/lib/tftpboot/pxelinux.cfg/default #建立默认文件来配置
default auto //默认为图形化安装
prompt 1 //是否允许自动安装 ,1表示手动,0表示自动
label auto //默认以图形安装-在boot直接按enter或auto命令
kernel vmlinuz //指向内核文件
append initrd=initrd.img method=ftp://192.168.1.1/centos7
label linux text //文本安装 --boot:执行“linux text”命令则进入文本安装入口;
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.1.1/centos7
label linux rescue //救援模式 --boot:执行“linux rescue”命令则进入救援模式
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.1.1/centos7
/*上述配置记录中定义了三个引存入口,分别为图形安装(默认)、文本安装、救授模式;
prompt设置等待用户选择;
label用来定义并分隔启动项;
kernel和append用来定义引导参数;
内引导入口的个数及容根据需要自行定义。如实现无人值守安装时只需要一个入口就够了。
7、安装并启用DHCP服务器
# yum -y install dhcp
# vim /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.1 192.168.1.200; #IP地址范围
option domain-name-servers 8.8.8.8; #DNS配置 可以不要
option domain-name "internal.example.org"; #可以不要
option routers 192.168.1.254; #网关 可以不要
option broadcast-address 192.168.1.255; #广播地址 可以要
default-lease-time 21600; #最小租约时间
max-lease-time 43200; #最大租约时间
next-server 192.168.1.254; #指定TFTP服务器的地址(本机IP )
filename "pxelinux.0"; #指定PXE引导程序的文件名
}
# systemctl start dhcpd
# systemctl enable dhcpd
8、关闭防火墙与Selinux安全机制
#systemctl stop firewalld
#setenforce 0
9、验证PXE网络安装
搭建好PXE远程安装服务器以后,就可以使用客户机进行安装测试了。对于新购买的服务器或PC裸机,一般不需要额外设置;若要为已有系统的主机重装系统,则可能需要修改BIOS设置,将“Boot first”设置为“NETWORK”或“LAN”,然后重启主机。如果服务器配置正确,网络连接、PXE支持等都没有问题,则客户机重启后将自动配置IP地址,然后从TFTP服务器中获取引导程序pxelinux.0,并根据引导菜单配置提示用户启动入口,如下所示:
-
在提示字符串boot:后直接按Enter 键(或执行“auto”命令),将会进入图形安装入口;
-
若执行“linux text”命令则进入文本安装入口;
-
若执行“linux rescue”命令则进入救援模式。
依次选择语言、键盘类型,然后会提示用户指定安装介质。
客户端验证
1-准备一台至少2G内存的虚拟机,进入BIOS:
虚拟机——电源——打开电源时进入固件
2)找到Boot-Network boot from Inter E1000 网络启动项,按住shift+ +号将顺序调成第一位,表示首选项为网络启动——F10保存并退出
结果:成功
显示正在自动安装
安装完成,进入图形化界面
三、实现Kickstart无人值守安装
前面介绍了通过PXE技术远程安装CentOS7的方法,安装介质不再受限于光盘、移动硬盘等设置,大大提高了系统安装的灵活性。然而安装期间仍需要手动进行一系列交互操作,当需要批量安装时非常不方便。接下来我们学习无人值守自动安装,通过使用Kickstart工具配置安装应答文件,自动完成安装过程中的各种设置,从而无须手动干预,提高网络装机效率,同时也可以在应答文件中通过添加%post脚本,完成安装后的各种配置操作。
1、准备自动应答文件
可以直接编辑/root/anaconda-ls.cfg文件,也可以利用Kickstart工具配置自动应答文件,下面我们学习通过利用Kickstart工具配置自动应答文件。
(1)安装Kickstart工具
yum -y install system-config-kickstart
(2)配置安装应答参数
通过桌面菜单“应用程序”—“系统工具”—“Kiskstart”即可打开“Kiskstart”配置程序窗口。在“Kiskstart配置程序”窗口中,可以针对基本配置、安装方法、引导装载程序选项、分区信息、网络配置等各种安装设置进行指定。
A.基本配置:设置默认语言、键盘、时区及root密码等。
B.安装方法:对安装方法进行设置
C.引导装载程序:
C.分区信息:
D.网络配置及防火墙配置
E.显示配置:勾选安装图形环境
F.软件包选择:选择桌面及需要安装的相关软件
G.安装后脚本:
(3)保存自动应答文件
选择“Kickstart配置程序”窗口的“文件”—“保存”命令,指定目标文件夹、文件名。在这里我们保存到指定FTP目录中:/var/ftp/ks.cfg;如果需要修改此应答文件为最小化安装,在ks.cfg文件的末尾添加以下语句:
%packages
@^minimal
%end
2、实现批量自动装机
(1)启用自动应答文件
编辑引导菜单文件default,添加ks引导参数以指定ks.cfg应答文件的UEL路径。
# vim /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.1.1/centos7 ks=ftp://192.168.1.1/ks.cfg
(2)验证无人值守安装
启用自动应答安装后,当客户机每次以PXE方式引导时,将自动下载ks.cfg应答配置文件,然后进行自动安装。客户机安装完成后,检查其yum仓库配置,可以发现已经按照“安装后脚本”的设置自动建立了/etc/yum.repos.d/aa.repo文件。