PXE和KICKSTART无人执守装机流程
案例需求:
1、在局域网192.168.1.0/24内部署一台PXE装机服务器,系统为centos6.5,(使用虚拟机测试)网卡连接使用仅主机模式vmnet1。
2、提供带图片背景、PXE选择菜单、可选择rhel6.10/centos6.5操作系统安装。
1)倒计时60秒,若未选择默认从本地硬盘启动
2)添加rhel6的rescue救援模式菜单
3、客户机装配过程实现全自动无人执守(kickstart),并为客户机做如下调整:
1)自动配置好yum仓库
2)建立一个名为myadm的系统管理员
3)建立可匿名上传、禁用本地用户的vsftpd服务器,开机启动
4)自动配置主机名pc$,其对应IP地址为192.168.1.$(20-100)
5)自动yum安装libreoffice
服务器环境:
操作系统centos6.10
虚拟网卡vmnet1
ip地址:192.168.1.1
实验测试客户机使用虚拟机
操作步骤:
一、准备配置
1、在DHCP服务器上限制服务监听的接口:修改配置文件/etc/sysconfig/dhcpd
DHCPARGS=”vmnet1”
2、配置服务器的YUM本地仓库安装所需软件包,将服务器系统光盘中的所有内容拷贝到/var/ftp/pub/centos6.5作为本地源路径。在yum配置本地源。
3、预先配置客户机系统centos和rhel网络安装需要的网络源。将他们的位置在服务器中的位置:/var/ftp/centos6.5和/var/www/html/rhel6.5(其他能使客户机从网络下载到的位置都行),让客户机安装的时候作为源安装系统。
a) centos6.5的网络源配置文件
vim /var/ftp/pub/centos6.5.repo
[centos6.10]
name=centos6.5
baseurl=ftp://192.168.1.10/pub/centos6.5
enabled=1
gpgcheck=0
b)rhel6.5的网络配置源文件
vi /var/www/html/rhel6.5
[rhel6.5]
name=rhel6.5
baseurl=http://192.168.1.10/rhel6.5
enabled=1
gpgcheck=0
[other]
name=other
baseurl=ftp://192.168.1.10/pub/other
enabled=1
gpgcheck=0
c)创建第三方源,包含软件包:
libreoffice、AdobeReader、ntfs-3g、awstats
位于/var/ftp/pub/other文件夹
4、配置本地vsftpd服务:安装vsftpd软件包,测试是否能下载ftp文件
5、安装配置httpd服务:测试是否能下载httpd根目录下的文件
二、PXE无人执守配置
pxe网络装机原理图:
1、配置DNS,主要完成主机名的分配,此配置在本实验中为可选项
vi /var/named/chroot/etc/named.conf
options {
directory “/var/named”;
};
zone “tarena.com” IN {
type master;
file “tarena.com.zone”;
};
zone “1.168.192.in-addr.arpa” IN {
type master;
file “192.168.1.arpa”;
};
vi /var/named/chroot/var/named/tarena.com.zone #可在/var/named/下找到区域文件模板
.........
@ IN NS ns.tarena.com.
Ns IN A 192.168.1.1
$GENERATE 20-100 pc$ IN A 192.168.1.$
vi /var/named/chroot/var/named/192.168.1.arpa
...........
@ IN NS ns.tarena.com.
1 IN PTR ns.tarena.com.
$GENERATE 20-100 $ IN PTR pc$.tarena.com.
配置完成后测试正向解析和反向解析,确认配置成功。
2、配置DHCP服务器。DHCP服务器负责自动为客户机分配IP地址,同时告诉客户机从网络启动时所需要的启动文件所在的服务器地址和文件路径。它主要和tftp服务协同完成PXE装机过程,网卡启动文件、网卡启动配置文件以及客户机操作系统的内核及初始化镜像文件都要放在tftp的根目录下。
Vi /etc/dhcpd/dhcpd.conf
options domain-name “tarena.com”;
options domain-name-servers 192.168.1.1;
next-server 192.168.1.1;
file-name “pxelinux.0”;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.20 192.168.1.100;
}
3、安装tftp服务器。tftp服务器提供客户机安装时需要的网卡启动文件pxelinux.0(系统安装syslinux会产生此文件)、客户机安装的系统内核文件vmlinuz以及内存初始化文件镜像initrd.img(vmlinuz和initrd.img可以从客户机将要安装的系统光盘中获得)。
yum -y install tftp-server
vi /etc/xinetd.d/tftp
disabled = no #启动tftp服务,有xinetd管理
server_args = -s /var/lib/tftpboot #tftp的根目录
service xinetd start
yum -y install syslinux #安装syslinux获得pxelinux.0文件
cp -rp /var/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #将pxelinux.0放到tftp根目录
cp -rp centos6.5/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos6.5/
cp -rp rhel6.5/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/rhel6.5/ #部署客户机的内核文件和磁盘初始化镜像文件
4、配置pxe启动配置文件:/var/lib/tftpboot/pxelinux.cfg/default(文件名字固定)
default参考模板可以从系统光盘获得
cp centos6.5/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
vi /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32
#prompt 1
timeout 600
display boot.msg
UI vesamenu.c32 #使用图形选择界面
menu background splash.jpg #使用背景图片
label centos6.5
menu label ^Install centos6.5
kernel centos6.5/vmlinuz
append initrd=centos6.5/initrd.img
label rhel6.5
menu label Install rhel6.5
kernel rhel6.5/vmlinuz
append initrd=/rhel6.5/initrd.img
label rhel6.5 rescue
menu label ^Rescue installed rhel6.5 system
kernel rhel6.5/vmlinuz
append initrd=rhel6.5/initrd.img rescue
label local
menu label Boot from ^local drive
menu default
localboot 0xffff
5、配置kickstart无人执守自动安装。预先提供应答文件,定义好各种设置,免去交互过程。自动应答文件可以参考系统安装完成后的/root/ananconda-ks.cfg文件。使用图形工具system-config-kickstart加载应答文件进行修改,或者直接生成应答文件。将应答文件部署到能让客户机下载的位置,在PXE配置文件pxelinux.cfg/default中指定下载应答文件的位置。
System-confit-kickstart #分别产生自动应答文件centos6.5.ks和rhel6.5.ks
mv centos6.5.ks rhel6.5.ks /var/www/html/ #部署自动应答文件让客户机下载
vi pxelinux.cfg/default
label centos6.5
menu label ^Install centos6.5
kernel centos6.5/vmlinuz
append ks=http://192.168.1.1/centos6.5.ks initrd=centos6.5/initrd.img
6、启动客户机,使其从网络启动,测试安装结果。在应答文件中还可以写入系统安装完成后的自动化配置脚本。