首页 > 代码库 > Redhat 7 配置Kickstart自动化部署多种系统
Redhat 7 配置Kickstart自动化部署多种系统
使用kickstart自动化部署多种系统,我想到的有两种场景,一种适合于日常运维,当机房上架个别新增的服务器时,根据不同的用途需求,通过一个多系统的启动菜单,输入相应的操作系统名称,即可自动化部署对应的操作系统。例如我在网上看到如下图这样的方案:
但是在第二种场景即系统集成项目中,如果同时要安装50台、100台的话,每台都要去输入,那也真是令人蛋疼了。系统集成项目通常会遇到服务器数量较多、且不同的项目对操作系统的需求不同的情况,如果准备一台Kickstart一次只是推送一种操作系统的自动化部署,免去了输入的尴尬,但是又具备自动化部署多种系统的能力,只要略作改动,就能摇身一变切换成推送另一种系统,这样就能灵活地适应不同的项目需求了,本文要介绍的便是这种场景的自动化部署。关于Kickstart、PXE的原理性的说明网上有很多资料,在此不再赘述,直接单刀直入进入部署配置环节。
一、测试环境
主机名:KSserver
操作系统:Red Hat Enterprise Linux Server release 7.2 (Maipo)最小化安装
IP地址:192.168.10.11
安装的服务:DHCP服务、tftp服务、PXE服务、vsftpd服务、autofs服务、kickstart服务
防火墙与SELinux:关闭
准备的介质:(1)rhel-server-7.2-x86_64-dvd.iso、(2)rhel-server-6.5-x86_64-dvd.iso
本文原始出处:江健龙的技术博客 http://jiangjianlong.blog.51cto.com/3735273/1886610
二、安装配置DHCP服务
1、[root@KSserver ~]#yum install -y dhcp
2、[root@KSserver ~]#systemctl start dhcpd
3、[root@KSserver ~]#systemctl enable dhcpd
4、[root@KSserver ~]#cat /etc/dhcp/dhcpd.conf
# DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.example # see dhcpd.conf(5) man page default-lease-time 600; max-lease-time 7200; ddns-update-style interim; ignore client-updates; allow booting; allow bootp; subnet 192.168.10.0 netmask 255.255.255.0 { option routers 192.168.10.254; option subnet-mask 255.255.255.0; range dynamic-bootp 192.168.10.100 192.168.10.200; next-server 192.168.10.11; filename "pxelinux.0"; }
5、[root@KSserver ~]#systemctl restart dhcpd
三、安装配置tftp服务和PXE服务
1、[root@KSserver ~]#yum install -y tftp-server syslinux
2、[root@KSserver ~]#systemctl start tftp
3、[root@KSserver ~]#systemctl enable tftp
4、[root@KSserver ~]#vi /etc/xinetd.d/tftp
5、[root@KSserver ~]#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
6、[root@KSserver ~]#mount /dev/cdrom /mnt
7、[root@KSserver ~]#cp /mnt/image/pxeboot/initrd.img /var/lib/tftpboot
8、[root@KSserver ~]#cp /mnt/image/pxeboot/vmlinuz /var/lib/tftpboot
9、[root@KSserver ~]#cp /mnt/isolinux/*.msg /var/lib/tftpboot
10、[root@KSserver ~]#mkdir /var/lib/tftpboot/pxelinux.cfg
11、[root@KSserver ~]#cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
12、[root@KSserver ~]vi /var/lib/tftpboot/pxelinux.cfg/default
default RH72 #控制默认从哪个label启动 timeout 50 #显示时间5秒
四、安装vsftpd服务
1、[root@KSserver ~]yum -y install vsftpd
2、[root@KSserver ~]systemctl start vsftpd
3、[root@KSserver ~]systemctl enable vsftpd
五、安装配置autofs服务
1、[root@KSserver ~]yum -y install autofs
2、[root@KSserver ~]systemctl start autofs
3、[root@KSserver ~]systemctl enable autofs
4、[root@KSserver ~]mkdir /data
5、[root@KSserver ~]ll /data
6、[root@KSserver ~]echo "/var/ftp/pub /etc/auto.ftp" >> /etc/auto.master
7、[root@KSserver ~]cat /etc/auto.ftp
8、[root@KSserver ~]df -ah
五、安装配置kickstart服务
本文原始出处:江健龙的技术博客 http://jiangjianlong.blog.51cto.com/3735273/1886610
1、[root@KSserver ~]yum -y install system-config-kickstart
2、准备RH72_ks.cfg和RH65_ks.cfg,分别用于RedHat7.2和Redhat6.5的自动化部署,放在FTP的根目录下,确保可以通过FTP访问到,其中RH72_ks.cfg的内容如下:
[root@KSserver ~]vi /var/ftp/RH72_ks.cfg
# Kickstart file automatically generated by anaconda. #version=DEVEL # Install OS instead of upgrade install #key --skip # Use network installation url --url="ftp://192.168.10.11/pub/RH72" #use graphical install graphical lang en_US.UTF-8 keyboard us timezone --utc Asia/Shanghai #Network informaton network --onboot yes --device eth0 --bootproto dhcp --noipv6 # Root password rootpw p@ssw0rd # Firewall configuration firewall --disabled #SElinux configuration selinux --disabled # System authorization information authconfig --enableshadow --passalgo=sha512 # System bootloader configuration bootloader --location=mbr # The following is the partition information you requested # Note that any partitions you deleted are not expressed # here so unless you clear all partitions first, this is # not guaranteed to work #clearpart --none firstboot --disable logging --level=info # Clear the Master Boot Record zerombr #Clear all partion clearpart --all --initlabel # Disk partitioning information part /boot --fstype=ext4 --size=200 part swap --size=1024 #part / --fstype=ext4 --grow --size=20000 part pv.01 --size 20480 --grow volgroup vg01 pv.01 logvol / --fstype=ext4 --vgname=vg01 --size=10240 --name=lv_root logvol /var --fstype=ext4 --vgname=vg01 --size=10000 --name=lv_var reboot %packages --nobase @core %end
六、测试自动化部署RedHat 7.2
七、测试自动化部署RedHat 6.5
本文原始出处:江健龙的技术博客 http://jiangjianlong.blog.51cto.com/3735273/1886610
目前我们配置的kickstart默认只提供RedHat7.2的自动化部署,但是从上文也可以看到我也做好了提供Redhat 6.5的相关准备,怎么使用呢?其实很简单,只要略作修改,就可以变身为提供RedHat 6.5自动化部署。修改的地方如下:
1、修改default文件,将第一行的default RH72改为default RH65,这样默认就从default文件的label RH65启动,也就是默认提供RedHat 6.5的自动化部署了。
[root@KSserver ~]vi /var/lib/tftpboot/pxelinux.cfg/default
default RH65
2、但是这时启动引导文件还是Redhat7.2的,必须将原来tftpboot目录中适用于Redhat7.2的文件转移走,拷贝适用于RedHat6.5的文件进来
[root@KSserver ~]mv /var/lib/tftpboot/* /var/lib/RH72
[root@KSserver ~]cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
[root@KSserver ~]cp /var/ftp/pub/RH65/image/pxeboot/initrd.img /var/lib/tftpboot
[root@KSserver ~]cp /var/ftp/pub/RH65/image/pxeboot/vmlinuz /var/lib/tftpboot
[root@KSserver ~]cp /var/ftp/pub/RH65/isolinux/*.msg /var/lib/tftpboot
[root@KSserver ~]cp -r /var/lib/RH72/pxelinux.cfg /var/lib/tftpboot
3、进行测试,成功自动化部署Redhat 6.5
4、以后如果要切换成自动化部署Redhat7.2,那么把default文件的第一行修改成default RH72后,只要两条命令把RH65的启动引导文件转移走、把RH72的转移进来,就搞定了。
[root@KSserver ~]mv /var/lib/tftpboot/* /var/lib/RH65/
[root@KSserver ~]mv /var/lib/RH72/* /var/lib/tftpboot/
本文出自 “江健龙的技术博客” 博客,请务必保留此出处http://jiangjianlong.blog.51cto.com/3735273/1886610
Redhat 7 配置Kickstart自动化部署多种系统