日常工作中运维新手都会被要求安装Linux操作系统,当只有十几台服务器时还能够轻松应付过来,假若有一天公司规模扩大领导要求给几百台服务器安装Linux操作系统,那我们再按照原始方式使用光盘镜像来一台一台安装操作系统,其效率就会相当低了。这时候我们便可以部署PXE+Kickstart无人值守安装操作系统,它可以批量自动安装操作系统。
服务部署(PXE + TFTP + DHCP + Vsftpd + Kickstart)
实验环境
- VMware 12 虚拟机
- REHL6.5系统(网卡模式:仅主机模式 IP地址:192.168.100.4)
一、安装TFTP服务
-
安装tftp服务
yum install tftp-server -y
- 修改tftp配置文件,开启tftp服务
vim /etc/xinetd.d/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
disable = no (开启tftp)
per_source = 11
cps = 100 2
flags = IPv4
}
- 添加xinetd服务并设置init3/5开机自动开启
chkconfig --add xinetd
chkconfig --level 35 xinetd on
二、安装DHCP服务
-
安装dhcp服务
yum install dhcp -y
-
复制dhcp模板替换为当前dhcp配置文件
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
- 编辑dhcpd配置文件
vim /etc/dhcp/dhcpd.conf
ddns-update-style none; #支持DNS动态更新,一般选择关闭
next-server 192.168.100.4; #指定TFTP服务器地址
filename "/pxelinux.0"; #引导文件TFTP上的位置subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.150 192.168.100.200;
option routers 192.168.100.4;
}
- 添加dhcpd服务并设置init3/5开机自动开启
chkconfig --add dhcpd
chkconfig --level 35 dhcpd on
三、安装Vsftpd服务
- 安装vsftpd服务
yum install vsftpd -y
- 加载系统镜像盘到vsftpd的默认目录下
mount /dev/cdrom /var/ftp/pub
- 添加vsftpd服务并设置init3/5开机自动开启
chkconfig --add vsftpd
chkconfig --level 35 vsftpd on
以下复制网络启动所需要文件到tftp服务器的根目录下
#安装引导加载程序
yum -y instll syslinuxcp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default //安装菜单
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot //linux引导加载模块//
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/ //压缩内核//
cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot //图形化安装菜单
启动dhcpd/vsftpd/xinetd服务:
service dhcpd restart
service vsftpd restart
service xinetd start
关闭防火墙及安全设置(不然tftp无法下载引导程序)
service iptables stop
setenforce 0
四、kickstart生成自动安装配置
- 安装kickstart软件包
yum -y install system-config-kickstart
- 在图形界面上打开kickstart进行配置,最终默认保存在/root/ks.cfg中
#新建ksconfig目录
mkdir /var/ftp/ksconfig
#将配置文件复制到ksconfig目录下
cp /root/ks.cfg /var/ftp/ksconfig/
- 编辑default配置,指定ks.conf路径地址
vim /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32
prompt 0
timeout 1
…………
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append ks=ftp://192.168.100.4/ksconfig/ks.cfg initrd=initrd.img #指定ks.cfg配置文件路径
测试
在VMware中新建一台rhel6.5 x86_64 操作系统,网络模式为:仅主机模式、仅主机模式、仅主机模式(重要的事情说三遍)然后便可以自动获取IP地址、开始加载引导文件及系统镜像开始安装操作系统了。