为什么是kickstart
当需要同时安装上百成千台服务器时,不可能用光盘或者存储介质一台台手动操作,我们需要的无人值守的全静默安装。kickstart就能做到这一点,只要把你需要装的机器和制作好的kickstart服务器放在同一网段的交换机下,就可以插线,开机自己装了。
kickstart的启动流程
写了点儿文字,觉得完全描述不清楚。所以从网上偷来一张图,请看下图。
描述一下就是:(1)DHCP负责分配地址 (2)tftp负责引导文件 (3)ftp负责ks文件和安装包
配置
1. 安装配置DHCP
yum -y install dhcp
vim /etc/dhcp/dhcpd.conf
[dhcpd.conf 文件]
allow booting;
allow bootp;
subnet 192.168.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.0.100;
range dynamic-bootp 192.168.0.10 192.168.0.20;
next-server 192.168.0.100;
filename "pxelinux.0";
}
systemctl start dhcpd
2. 安装配置tftp
yum -y install xinetd tftp-server
vim /etc/xinetd.d/tftp (将yes 改为no,保存)
systemctl start tftp
3. 安装syslinux 和system-config-kickstart
安装syslinux和system-config-kickstart
4. 安装配置vsftp
yum -y install vsftpd
systemctl start vsftpd
5. 拷贝文件
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 引导文件
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/ 引导加载模块
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/ 压缩内核
cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/ 图形化安装菜单
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default 开机选择项
cp ~/initial-setup-ks.cfg /var/ftp/pub/ks.cfg kickstart应答文件
chmod 755 /var/ftp/ 修改权限
6. 编辑开机启动项
vim /var/lib/tftpboot/pxelinux.cfg/default
[default 文件]
label linux
menu label ^Install My LINUX(Redhat7.2)
kernel vmlinuz
append initrd=initrd.img inst.stage2=ftp://192.168.0.100 ks=ftp://192.168.0.100/pub/ks.cfg quiet
7. 编辑KS文件
system-config-kickstart
File > Open File > File System > var > ftp > pub > ks.cfg
修改完成后保存在 /var/ftp/pub/ks.cfg
设置ftp目录和匿名登录
当然你可以自己写ks.cfg
vim /var/ftp/pub/ks.cfg 增加下面一行
8. 拷贝光盘镜像
cp -r /mnt/* /var/ftp/ 将/mnt下所有文件,拷贝到/var/ftp目录下 ( 当然这里之前我做 mount /dev/sr0 /mnt 的挂载)
9. 新建虚拟机查看效果
注意虚机的网卡模式,需要和Kickstart server为同一种网络模式。也就是说在同一网段下。
半夜睡不着,起来把这个写下。毕竟当时自己学的时候,觉得还是蛮无厘头的。碎觉碎觉………