提供PXE装机服务
问题
沿用练习二,在KVM服务器上部署PXE+kickstart自动装机服务:
1)准备YUM安装源
2)配置DHCP服务组件
3)配置TFTP服务组件
方案
步骤
实现此案例需要按照如下步骤进行。
步骤一:为RHEL6、CentOS6客户机准备Yum源
1)安装、启用vsftpd服务
此操作已在练习一完成。
2)通过FTP方式提供RHEL6、CentOS6的软件源
分别拷贝光盘文档,部署到以下位置:
/var/ftp/iso/redhat/6.5
/var/ftp/iso/centos/6.5
确保从浏览器能够访问以下目录:
ftp://192.168.4.1/iso/redhat/6.5
ftp://192.168.4.1/iso/centos/6.5
3)通过FTP方式提供Yum客户端配置文件
提供给RHEL6客户机的Yum配置文件:
[root@kvmsvr ~]# mkdir /var/ftp/pxe
[root@kvmsvr ~]# vim /var/ftp/pxe/rhel6.repo
[rhel-packages]
name=Red Hat Enterprise Linux 6.5
baseurl=ftp://192.168.4.1/iso/redhat/6.5
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
提供给CentOS6客户机的Yum配置文件:
[root@kvmsvr ~]# vim /var/ftp/pxe/centos6.repo
[base]
name=CentOS 6.5
baseurl=ftp://192.168.4.1/iso/centos/6.5
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CENTOS-6
确保从浏览器能够访问以下文件:
1)ftp://192.168.4.1/pxe/rhel6.repo
2)ftp://192.168.4.1/pxe/centos6.repo
步骤二:配置DHCP服务
1)安装、配置DHCP服务
[root@kvmsvr ~]# yum -y install dhcp
.. ..
[root@kvmsvr ~]# vim /etc/dhcp/dhcpd.conf //配置DHCP服务
option domain-name "tarena.com";
option domain-name-servers 192.168.4.1;
default-lease-time 7200;
max-lease-time 14400;
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.50 192.168.4.200;
option routers 192.168.4.254;
next-server 192.168.4.1; //TFTP服务器地址
filename "pxelinux.0"; //要下载的启动文件名称
}
2)调整服务接口
如果KVM服务器采用的是真实物理机,而DHCP服务并不需要给物理网络的其他客户机使用,那么建议大家限制一下DHCP服务的监听接口,避免造成不必要的干扰。可以只面向本地的virbr1接口提供服务:
[root@kvmsvr ~]# vim /etc/sysconfig/dhcpd //修改运行参数
# Command line options here
DHCPDARGS="virbr1" //只服务virbr1接口
3)启动dhcpd服务
[root@kvmsvr ~]# service dhcpd restart
[root@kvmsvr ~]# chkconfig dhcpd on //设置开启自动运行
步骤三:配置TFTP引导服务、提供相关文件
1)安装、启动tftp服务端程序
[root@kvmsvr ~]# yum -y install tftp-server
.. ..
[root@kvmsvr ~]# chkconfig tftp on //允许开启tftp服务
[root@kvmsvr ~]# chkconfig xinetd on //设置xinetd开机自动运行
[root@kvmsvr ~]# service xinetd start //启动xinetd服务
正在启动 xinetd: [确定]
2)提供相关启动程序、背景素材
拷贝PXE网卡启动文件、图形模块文件、背景图片文件到:
[root@kvmsvr ~]# yum -y install syslinux
.. ..
[root@kvmsvr ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@kvmsvr ~]# cp /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot/
[root@kvmsvr ~]# cd /usr/share/doc/syslinux-4.02/sample/
[root@kvmsvr sample]# cp syslinux_splash.jpg /var/lib/tftpboot/splash.jpg
拷贝用来安装RHEL6客户机的内核文件、初始化镜像文件:
[root@kvmsvr ~]# mkdir -p /var/lib/tftpboot/rhel6/
[root@kvmsvr ~]# cd /var/ftp/iso/rhel/6.5/images/pxeboot/
[root@kvmsvr pxeboot]# cp -rf vmlinuz initrd.img /var/lib/tftpboot/rhel6/
拷贝用来安装CentOS6客户机的内核文件、初始化镜像文件:
[root@kvmsvr ~]# mkdir -p /var/lib/tftpboot/centos6
[root@kvmsvr ~]# cd /var/ftp/iso/centos/6.5/images/pxeboot/
[root@kvmsvr pxeboot]# cp -rf vmlinuz initrd.img /var/lib/tftpboot/centos6/
3)配置PXE引导菜单
[root@kvmsvr ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@kvmsvr ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32
timeout 300
menu background splash.jpg
menu title Welcome to PXE Installation Server
label rhel6
menu label Install RH^EL 6.5 (Kickstart)
kernel rhel6/vmlinuz
append ks=ftp://192.168.4.1/pxe/ks-el6.cfg initrd=rhel6/initrd.img
label centos6
menu label Install ^CentOS 6.5 ( Kickstart )
kernel centos6/vmlinuz
append ks=ftp://192.168.4.1/pxe/ks-cos6.cfg initrd=centos6/initrd.img
label rescue
menu label ^Rescue Installed System
kernel rhel6/vmlinuz
append initrd=rhel6/initrd.img rescue
label local
menu label Boot From ^Local Drive
menu default
localboot 1
4)提供kickstart自动应答文件
应答文件的部署位置:
- /var/ftp/pxe/ks-el6.cfg
- /var/ftp/pxe/ks-cos6.cfg
确保从浏览器能够访问以下文件: