进阶!基于CentOS7系统使用cobbler实现单台服务器批量自动化安装不同版本系统(week3_day5_part2)-技术流ken
前言
在上一篇博文《cobbler批量安装系统使用详解-技术流ken》中已经详细讲解了cobbler的使用以及安装,本篇博文将会使用单台cobbler实现自动化批量安装不同版本的操作系统。
pxe+kickstart单台服务器只能安装一个版本的操作系统,这就造成了实际工作中的局限性。
系统环境准备
- 一台安装好cobbler的服务器
- 准备centos7.3版本的镜像
添加centos7镜像
关掉虚拟机,在虚拟机CD/DVD选项中选择准备好的centos6镜像。
挂载光盘
把centos7的光盘挂载到/mnt下,并检查是否挂载成功。
[root@ken ~]# mount /dev/cdrom /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@ken ~]# ls /mnt
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
cobbler导入镜像
复制过程会有点慢,大概三四分钟左右,等待完成即可。
[root@ken ~]# cobbler import --path=/mnt --name=centos7.3
导入完成,进行同步。
[root@ken ~]# cobbler sync
制作ks文件
不同版本的系统要求的ks文件内容都是不同的,下面这个7.3版本系统的ks文件是我根据7.5修改的
大家如果需要一个ks文件。可以事先使用该镜像下载一个系统出来,获取到该ks文件。
[root@ken ~]# cat /var/lib/cobbler/kickstarts/ks.cfg #version=DEVEL # System authorization information auth --enableshadow --passalgo=sha512 # Use CDROM installation media url --url=http://192.168.182.152/cobbler/ks_mirror/centos7.3/ #这里需要修改成与上面centos7.3定义的名称一致 # Use graphical install graphical # Run the Setup Agent on first boot firstboot --enable ignoredisk --only-use=sda # Keyboard layouts keyboard --vckeymap=us --xlayouts='us' # System language lang en_US.UTF-8 # Network information network --bootproto=dhcp --device=ens33 --ipv6=auto #这里的--no-active需要删掉 network --hostname=localhost.localdomain # Root password rootpw --iscrypted $6$7zu1wIUDgBGEFV1Y$KsLVeaGmyN92.QHr1fqKdTqPu8PDmd8K9V/s3Ru8NxE53NZz4gQKsmP6K0udcXVvDtponekICYUwBD7tYZJqU/ # System services services --disabled="chronyd" # System timezone timezone Asia/Shanghai --isUtc --nontp # System bootloader configuration bootloader --location=mbr --boot-drive=sda autopart --type=lvm # Partition clearing information clearpart --none --initlabel %packages @^minimal @core %end %addon com_redhat_kdump --disable --reserve-mb='auto' %end #%anaconda #从这里开始下面注释掉 #pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty #pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok #pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty #%end
CentOS 6.x 的一个kickstart配置文件示例:
# Kickstart file automatically generated by anaconda. #version=RHEL6.7 install url --url=http://mirrors.ustc.edu.cn/centos/6.7/os/x86_64 #url --url=http://mirrors.163.com/centos/6.7/os/x86_64 #url --url=http://mirrors.aliyun.com/centos/6.7/os/x86_64 lang en_US.UTF-8 keyboard us network --device eth0 --bootproto dhcp --noipv6 #network --device eth0 --bootproto dhcp --ipv6 dhcp rootpw --iscrypted $6$45lFuCoyFZwpy3Gn$kvCuoEVXyK0q6ow7qBmo9vaEyajunJ62LR5HlmAKRAOpK/Z2ZyrSSbaPsSHnhZU2P1MF5e.QDu2wkOOo661It. zerombr clearpart --all --initlabel autopart firewall --service=ssh authconfig --enableshadow --passalgo=sha512 --enablefingerprint selinux --enforcing timezone --utc America/New_York bootloader --location=partition --driveorder=sda --append="rhgb quiet" skipx text cmdline poweroff %packages @base nfs-utils NetworkManager %end
自定义制作profile
自定义profile,指定kickstart文件。
[root@ken ~]# cobbler profile add --distro=centos7.3-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ks.cfg --name=centos7.3_ken
制作完成,进行同步。
[root@ken ~]# cobbler sync
查看所有的profile
[root@ken ~]# cobbler profile list centos7.3-x86_64 centos7.3_ken centos7.5_ken
可以发现,我们现在已经有了不同版本的系统了。
删除没有ks文件的profile
[root@ken ~]# cobbler profile remove --name=centos7.3-x86_64 [root@ken ~]# cobbler profile list centos7.3_ken centos7.5_ken
新建虚拟机测试
现在我们可以根据工作需要可以选择不同版本的系统了。
我们选择我们刚才创建的第1个centos7.3系统进行测试安装。
开始安装软件包
安装完成。
故障排除
在安装的时候如果出现了这个错误,需要把内存加到两个G以上即可。