1、PXE批量部署的作用及必要性:
xml
1)智能实现操作系统的批量安装(无人值守安装)
2)减少管理员工作,提高工作效率
3)可以定制操作系统的安装流程
a.标准流程定制(ks.cfg)
b.自定义流程定制(ks.cfg(%post))
2、通过dhcp+tftp+nfs/http/ftp+kickstart(ks.cfg)+DNS
xml
1、客户机可以通过服务端dhcp在获取IP地址,并且dhcpd服务器会告诉客户端tftp服务器IP地址。
2、pxe客户端会从tftp服务器上下载pxelinux.0操作系统和这个操作系统对应的配置文件(default)至本机,在本机上运行pxelinux.0这个操作系统,这个操作系统会加载自己的配置文件:default.
default加载后会弹出一个安装系统选择界面,让用户去选择要安装哪个操作系统
tftp的作用是实现安装文件UDP快速传输
3、启动第三个临时系统(vmlinuz/initrd.img),构造安装之前一个临时系统环境,在这里会重新获取IP地址,并且会读取ks.cfg这个配置文件
4、nfs/http/ftp用来导出红帽系统安装目录树
5、根据ks.cfg来自动完成操作系统的安装
1.配置dhcp|tftp|http|vsftp服务器
(1) dhcp配置
bash
yum -y install dhcp
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
bash
vim /etc/dhcp/dhcpd.conf
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
option domain-name-servers 192.168.0.252;
option domain-name "uplooking.com";
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.200;
option routers 192.168.0.254;
next-server 192.168.0.252; <---------- 找到tftp服务器地址
filename "pxelinux.0";
}
bash
service dhcpd start
chkconfig dhcpd on
(2)vsftp、httpd配置
bash
yum -y install vsftpd httpd
mkdir /var/ftp/pub/rhel6.10
service vsftpd start
chkconfig vsftpd on
挂载镜像
bash
vim /etc/fstab
/var/ftp/pub/rhel6.3-dvd.iso /var/ftp/pub/rhel6.3 iso9660 loop 0 0
httpd配置
bash
yum -y install httpd
service httpd start
chkconfig httpd on
(3)tftp服务器配置
bash
yum -y install tftp-server
vim /etc/xinetd.d/tftp
修改 server_args = -s /pxe/tftpboot
bash
chkconfig tftp on
service xinetd restart
netstat -unlp |grep :69
udp 0 0 0.0.0.0:69 0.0.0.0:* 11007/xinetd
2.新建并拷贝tftp所需发布的文件
bash
mkdir -p /pxe/tftpboot
mkdir /pxe/tftpboot/pxelinux.cfg
mkdir /pxe/tftpboot/rhel6.3
yum -y install syslinux
bash
cd /var/ftp/pub/rhel6.3/isolinux/
cp vmlinuz initrd.img /pxe/tftpboot/rhel6.3 <-------- 复制临时操作系统到tftp共享目录
cp isolinux.cfg /pxe/tftpboot/pxelinux.cfg/default <--------从光盘中复制pxe操作系统的配置文件及相关文件
cp boot.msg splash.jpg /pxe/tftpboot/
cp /usr/share/syslinux/pxelinux.0 /pxe/tftpboot/ <------把PXE的操作系统存放至tftp共享目录
cp /usr/share/syslinux/vesamenu.c32 /pxe/tftpboot
3.生成ks.cfg和pxelinux的配置文件(default)
bash
yum -y install system-config-kickstart
#在图形界面下使用system-config-kickstart并保存为ks.cfg到/var/ftp/pub/ks/里
配置default
bash
vim /var/lib/tftpboot/pxelinux.cfg/default
default local
prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to Red Hat Enterprise Linux 6.4!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label manual
menu label ^Install or upgrade an existing system
menu default
kernel rhel6.4/vmlinuz
append initrd=rhel6.4/initrd.img
label auto
menu label ^Install or upgrade an existing system
menu default
kernel rhel6.4/vmlinuz
append initrd=rhel6.4/initrd.img ks=ftp://192.168.0.252/pub/ks/ks.cfg
label local
menu label Boot from ^local drive
localboot 0xffff