批量部署,Kickstart自动安装linux系统
起因
当有100台机器或者更多机器需要安装Linux系统,这个时候你还是用手工一台一台安装那就很累效率也很低了,使用PXE+Kickstart可以方便的解决这些问题。
任务清单
- 1,ks 文件
- 2,DHCP服务器 ok
- 3,TFTP服务器 ok
- 4,Http服务器 ok
- 5,网卡启动 ok
- 6,YUM仓库安装源 ok
- 7,安装PXE
环境准备
在Win10主机上安装Hyper-v,在Hyper-v内虚拟一台虚拟主机2.6GHz 2G 20G,然后准备一台客户机器配置一样,需要注意客户端机器启动时选从网络启动。

网卡启动
原理图
Kickstart +PXE工作原理图

根据任务清单安装系统
1,先挂载镜像
[root@localhost ~]# mount /dev/cdrom /mnt mount: /dev/sr0 is write-protected, mounting read-only
2,安装http 和创建源
[root@localhost ~]# yum install -y httpd createrepo [root@localhost ~]# mkdir /var/www/html/CentOS-7.5-x86_64 [root@localhost ~]# cp -a /mnt/* /var/www/html/CentOS-7.5-x86_64/
3,安装 tftp、dhcp、xinetd服务
[root@localhost ~]#yum install -y tftp-server dhcp xinetd [root@localhost ~]# vim /etc/xinetd.d/tftp [root@localhost ~]# vim /etc/dhcp/dhcpd.conf [root@localhost dhcp-4.2.5]# cp dhcpd.conf.example /etc/dhcp/dhcpd.conf cp: overwrite ‘/etc/dhcp/dhcpd.conf’? yes [root@localhost dhcp-4.2.5]# vim /etc/dhcp/dhcpd.conf subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.200 192.168.0.220; option subnet-mask 255.255.255.0; next-server 192.168.0.80; filename "pxelinux.0"; }

TFTP
4,启动这些服务
[root@localhost dhcp-4.2.5]# systemctl start dhcpd [root@localhost dhcp-4.2.5]# systemctl start httpd [root@localhost dhcp-4.2.5]# systemctl start xinetd
5,测试能访问到应答文件
[root@localhost ~]# curl --head http://192.168.0.80/CentOS-7.5-x86_64/CentOS-7.5-x86_64.cfg

6,创建本地源的目录文件夹
[root@localhost ~]# createrepo -pdo /var/www/html/CentOS-7.5-x86_64/ /var/www/html/CentOS-7.5-x86_64/ [root@localhost pxelinux.cfg]# createrepo -g`ls /var/www/html/CentOS-7.5-x86_64/repodata/*-comps.xml` /var/www/html/CentOS-7.5-x86_64/
7,安装镜像文件并拷贝到启动目录
[root@localhost ~]# yum install -y syslinux [root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ [root@localhost ~]# cp /mnt/isolinux/* /var/lib/tftpboot/ [root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg [root@localhost ~]# cd /var/lib/tftpboot/pxelinux.cfg [root@localhost pxelinux.cfg]# cp /mnt/isolinux/isolinux.cfg default [root@localhost pxelinux.cfg]# vim default label ks menu label ^Auto Install CentOS 7 kernel vmlinuz append initrd=initrd.img ks=http://192.168.0.80/CentOS-7.5-x86_64/CentOS-7.5-x86_64.cfg
7,查看日志文件,监控DHCP服务日志
[root@localhost pxelinux.cfg]# tail - f /var/log/messages

测试
1,在Hyper-v控制台新建一台虚拟机,需要注意两点。第一点是需要建立和DHCP服务器同一段的IP地址,启动时选择优先从网卡启动。

2,从DHCP获取到地址后进入安装界面。

DHCP分配
3,经过一段时间安装后进入系统,查看了一下地址和DHCP分配的192.168.0.220一致,到此安装结束。

总结
Kickstart 安装比较繁琐,步骤有点多,服务也开的多,弄不好哪里就出错了
相关推荐
-
第18问:MySQL CPU 高了,怎么办?2025-02-24 10:27:18
-
mysql索引类型 normal, unique, full text
mysql索引类型 normal, unique, full text2025-02-24 10:05:05 -
uwsgi+django+nginx 搭建部分总结2025-02-24 10:03:33
-
使用Docker配置Nginx环境部署Nextcloud2025-02-24 10:02:03
-
Nginx安装和怎么使用2025-02-24 10:00:45