前言
在上一篇博文《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- # Network information
network --bootproto=dhcp --device=ens33 --ipv6=auto #这里的--no-active需要删掉
network --hostname=localhost.localdomain # Root password
rootpw --iscrypted $$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= --minquality= --notstrict --nochanges --notempty
#pwpolicy user --minlen= --minquality= --notstrict --nochanges --emptyok
#pwpolicy luks --minlen= --minquality= --notstrict --nochanges --notempty
#%end
CentOS 6.x 的一个kickstart配置文件示例:
# Kickstart file automatically generated by anaconda. #version=RHEL6.
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-
keyboard us
network --device eth0 --bootproto dhcp --noipv6
#network --device eth0 --bootproto dhcp --ipv6 dhcp
rootpw --iscrypted $$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.-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ks.cfg --name=centos7.3_ken
制作完成,进行同步。
[root@ken ~]# cobbler sync
查看所有的profile
[root@ken ~]# cobbler profile list
centos7.-x86_64
centos7.3_ken
centos7.5_ken
可以发现,我们现在已经有了不同版本的系统了。
删除没有ks文件的profile
[root@ken ~]# cobbler profile remove --name=centos7.-x86_64
[root@ken ~]# cobbler profile list
centos7.3_ken
centos7.5_ken
新建虚拟机测试
现在我们可以根据工作需要可以选择不同版本的系统了。
我们选择我们刚才创建的第1个centos7.3系统进行测试安装。
开始安装软件包
安装完成。
故障排除
在安装的时候如果出现了这个错误,需要把内存加到两个G以上即可。