PXE 网络装机
1.PXE 服务器
操作系统:RHEL 6.5
网卡连接:eth0 (VMnet4)
主机名:pxesvr.tarena.com
IP地址:192.168.4.6/24
―― 关闭 iptables 防火墙、SELinux防护机制
[root@ser5 桌面]# service iptables stop
[root@ser5 桌面]# chkconfig iptables off
[root@ser5 桌面]# setenforce 0
[root@ser5 桌面]# vim /etc/selinux/config
SELINUX=permissive
[root@ser5 桌面]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.168.4.6
NETMASK=255.255.255.0
[root@ser5 桌面]# vim /etc/sysconfig/network
HOSTNAME=pxesvr.tarena.com
[root@ser5 桌面]# reboot
2. PXE 客户机
新建一台RHEL6虚拟机(裸机)
内存:1GB
硬盘:20GB
光盘:无
网卡连接:eth0 (VMnet4)
!!!! 注意:客户机与服务器应在同一物理网段,并排除其他DHCP服务器的干扰
3.搭建PXE装机服务器
1)搭建FTP类型的yum
[root@pxesvr 桌面]# yum -y install vsftpd #安装ftp服务器
[root@pxesvr 桌面]# service vsftpd restart #重启ftp服务器
[root@pxesvr 桌面]# chkconfig vsftpd on #设置开机自启动
[root@pxesvr 桌面]# mkdir /var/ftp/rhel6 #在ftp的根目录下创建存放光盘文件的目录
[root@pxesvr 桌面]# cp -r /misc/cd/* /var/ftp/rhel6/ #将安装光盘的所有文件放在ftp的根目录下
[root@pxesvr 桌面]# cd /etc/yum.repos.d/
[root@pxesvr yum.repos.d]# vim dvd.repo #创建yum源的配置文件
[rhel-6.4]
name=RHEL 6.5 Packages
baseurl=ftp://192.168.4.6/rhel6
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[root@pxesvr ftp]# yum repolist #查看yum是否配置成功
2)配置DNS服务
[root@pxesvr rhel6]# yum -y install bind bind-chroot #安装DNS服务器所需的软件包
[root@pxesvr rhel6]# service named restart #重启DNS服务
[root@pxesvr rhel6]# chkconfig named on #设置DNS服务器开机自启动
[root@pxesvr etc]# mv /etc/named.conf /etc/named.conf.bak #使默认配置文件失效
[root@pxesvr rhel6]# cd /var/named/chroot/etc/
[root@pxesvr etc]# vim named.conf #配置DNS的主配置文件,分别设置正向和反向搜索域
options{
directory "/var/named";
};
zone "tarena.com" IN {
type master;
file "tarena.com.zone";
};
zone "4.168.192.in-addr.arpa" IN {
type master;
file "192.168.4.arpa";
};
[root@pxesvr named]# cd /var/named/chroot/var/named/
[root@pxesvr named]# vim tarena.com.zone #创建正向解析域的配置文件
$TTL 1D
@ SOA tarena.com. root.tarena.com. (
2014072101
8H
2H
4H
1D
)
@ IN NS ns.tarena.com.
ns IN A 192.168.4.6
pxesvr IN A 192.168.4.6
ftp IN CNAME pxesvr
$GENERATE 100-200 pc$ IN A 192.168.4.$
[root@pxesvr named]# vim 192.168.4.arpa #创建反向解析域的配置文件
$TTL 1D
@ SOA tarena.com. root.tarena.com. (
2014072101
8H
2H
4H
1D
)
@ IN NS ns.tarena.com.
6 IN PTR pxesvr.tarena.com.
$GENERATE 100-200 $ IN PTR pc$.tarena.com.
[root@pxesvr named]# named-checkconf /var/named/chroot/etc/named.conf #检查主配置文件的语法是否正确
[root@pxesvr named]# named-checkzone tarena.com tarena.com.zone #检查正向解析域配置文件语法是否正确
zone tarena.com/IN: loaded serial 2014072101
OK
[root@pxesvr named]# named-checkzone 4.168.192.in-addr.arpa 192.168.4.arpa #检查反向解析域配置文件语法是否正确
zone 4.168.192.in-addr.arpa/IN: loaded serial 2014072101
OK
[root@pxesvr named]# vim /etc/resolv.conf #设置默认的DNS服务器地址
nameserver 192.168.4.6
[root@pxesvr named]# service named restart #重启服务生效
3)配置DHCP服务
[root@pxesvr named]# yum -y install dhcp #安装dhcp服务器
[root@pxesvr named]# vim /etc/dhcp/dhcpd.conf #配置dhcp的主配置文件
option domain-name "tarena.com";
option domain-name-servers 192.168.4.6;
default-lease-time 7200;
max-lease-time 14400;
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.100 192.168.4.200;
option routers 192.168.4.254;
next-server 192.168.4.6;
filename "pxelinux.0";
}
[root@pxesvr named]# service dhcpd restart #重启服务
[root@pxesvr named]# chkconfig dhcpd on #设置开机自启动
4)启用TFTP服务,并提供内核、引导程序
[root@pxesvr /]# yum -y install tftp-server #安装tftp服务器用户提供内核和引号程序的安装
[root@pxesvr /]# chkconfig tftp on #开启tftp服务
[root@pxesvr /]# service xinetd restart #重新临时服务
[root@pxesvr /]# yum -y install syslinux
[root@pxesvr /]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #拷贝网卡启动文件到tftp的主目录
[root@pxesvr /]# cd /var/ftp/rhel6/images/pxeboot/
[root@pxesvr pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/ #复制客户机的内核和初始化镜像到tftp的主目录
[root@pxesvr pxeboot]# ls /var/lib/tftpboot/ #确认tftp主目录所需的文件
initrd.img pxelinux.0 vmlinuz
5)为PXE安装配置启动菜单
[root@pxesvr pxeboot]# mkdir /var/lib/tftpboot/pxelinux.cfg #创建启动配置目录
[root@pxesvr pxeboot]# cp /var/ftp/rhel6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #复制拷贝模板配置
[root@pxesvr pxelinux.cfg]# chmod 755 /var/lib/tftpboot/pxelinux.cfg/default #修改模板的权限可以修改
[root@pxesvr ~]# vim /var/lib/tftpboot/pxelinux.cfg/default //修改默认启动设置
default linux #//默认从哪个标签引导系统
prompt 1 #//是否交互式安装
timeout 600 #//进入默认系统的等待超时(单位:1/10秒)
label linux #//定义名为linux的标签
kernel vmlinuz #//选择此标签时,需要加载的内核文件
append initrd=initrd.img #//加载内核文件时附加的参数
4.测试 PXE 网络装机
1). 启动一台裸客户机(新建虚拟机),默认会从网卡启动
!!!! 如果是已有系统的客户机,则需要调整BIOS设置,将网络引导作为第一启动设备
2). 客户机启动后的基本过程
1)自动获取IP地址
2)下载 pxelinux.0 引导文件
3)读取 pxelinux.cfg/default 配置文件
4)在 boot: 后输入要安装的系统标签(比如 linux)进行选择,直接回车或超时过均选择默认
5)根据选择结果执行相应的引导文件:vmlinuz、initrd
6)加载安装向导程序,进入交互式安装过程。。。
!!!! 指定采用URL源,自动获取IP地址
!!!! 将安装源设置为 ftp://192.168.4.6/rhel6
!!!! 此后的安装设置、分区、软件包定制等过程与光盘安装相同
―― 至此,说明 PXE 引导及配置已成功,可中止后续手动安装的验证过程
―― 等待后续的 kickstart 无人值守安装测试
配置 kickstart 无人值守安装
1. 准备应答文件
找一台已装好的RHEL 6.5 模板客户机(本例中可选 PXE 服务器本机),
通过 system-config-kickstart 工具创建 ks-el6.cfg 应答文件
[root@pxesvr ~]# yum -y install system-config-kickstart
[root@pxesvr ~]# system-config-kickstart //在图形桌面下运行
!!!! 打开 /root/anaconda-ks.cfg 文件,作为应答文件模板
!!!! 基本配置:指定默认语言、时区、根口令(123456)
!!!! 安装方式:新安装、FTP安装(192.168.4.6、/rhel6)
!!!! 分区信息:清除主引导记录、删除所有现存分区、初始化磁盘标签、/boot 200MB、SWAP 2GB、/ 剩余空间
!!!! 网络配置:第一块网卡DHCP自动获取
!!!! 防火墙配置:禁用SELinux、禁用防火墙
!!!! 软件包选择:不安装图形桌面
!!!! 安装后脚本:从 pxesvr 自动下载并部署 YUM 客户端配置、安装并启动 httpd 网站服务
rm -rf /etc/yum.repos.d/*
wget ftp://192.168.4.6/rhel6.repo -O /etc/yum.repos.d/rhel6.repo
yum clean all
yum -y install httpd
echo "I LOVE TARENA" > /var/www/html/index.html
/etc/init.d/httpd start
chkconfig httpd on
注明:在软件包选择中必须选择一项,否则在安装过程中会让重新选择
!!!! 经上述调整后,另存为应答文件 /opt/ks-el6.cfg
2. 在 PXE 服务器上部署应答文件、为客户机准备的YUM配置文件
[root@pxesvr /]# cp /opt/ks-el6.cfg /var/ftp/ #将应答文件复制到ftp的主目录里面
[root@pxesvr /]# vim /var/lib/tftpboot/pxelinux.cfg/default #修改启动菜单模板文件内容
default linux #//默认从哪个标签引导系统
prompt 1 #//是否交互式安装
timeout 600 #//进入默认系统的等待超时(单位:1/10秒)
label linux #//定义名为linux的标签
kernel vmlinuz #//选择此标签时,需要加载的内核文件
append ks=ftp://192.168.4.6/ks-el6.cfg initrd=initrd.img #//下载并启用自动应答文件,并加载初始化文件
[root@pxesvr ~]# vim /var/ftp/rhel6.repo
[rhel-6.4]
name=RHEL 6.5 Packages
baseurl=ftp://192.168.4.6/rhel6
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[root@pxesvr ~]# ls /var/ftp/ //确认部署结果
ks-el6.cfg pub rhel6 rhel6.repo
[root@pxesvr ~]# wget ftp://192.168.4.6/rhel6.repo //测试下载上述两文件
[root@pxesvr ~]# wget ftp://192.168.4.6/ks-el6.cfg
[root@pxesvr ~]# ls -lh rhel6.repo ks-el6.cfg //确认下载结果
-rw-r--r--. 1 root root 1.7K 7月 19 23:04 ks-el6.cfg
-rw-r--r--. 1 root root 145 7月 19 23:07 rhel6.repo
3. 启动一台裸客户机(新建虚拟机),测试无人值守安装
!!!! 安装设置过程会自动应答,免手工交互
!!!! 等待客户机系统安装完成
4. 检查装好的客户机,确认 POST 脚本设置结果
[root@pc100 ~]# ifconfig eth0 | grep "inet addr" //查看自动配置的IP地址
inet addr:192.168.4.100 Bcast:192.168.4.255 Mask:255.255.255.0
[root@pc100 ~]# chkconfig --list httpd //查看Web服务的自启动状态
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:关闭
[root@pc100 ~]# yum -y install elinks //确保可yum安装软件包
[root@pc100 ~]# elinks --dump http://127.0.0.1 //访问测试网页
I LOVE TARENA