Cobbler自动化部署搭建实验
前言
Cobbler能够快速建立多系统同时安装的网络系统安装环境,传统的pxe+dhcp+tftp+kickstart仅能够提供单一系统安装,功能过于简单,如果遇到安装不同操作系统时就遇到瓶颈,而cobbler正好解决了这一问题。Cobbler是多安装树的PXE环境,是PXE的高级封装。
实验步骤
实验目的:完成从Cobbler自动化部署搭建实验
实验准备:一台C7标准系统虚拟机(内存设置最好为2GB),任意两台无系统虚拟机。(selinux与防火墙已关闭)
实验规划:192.168.10.21搭建Cobbler服务
一、配置Cobbler服务端
安装epel源,清空原有缓存,建立新的缓存。
cd /etc/yum.repos.d/
curl /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo > epel-7.repo
yum clean all
yum makecache
安装Cobbler以及相关依赖。
yum install -y cobbler cobbler-web pykickstart debmirror xinetd
启动httpd服务,为其提供文件共享能力与可视化界面。
systemctl restart httpd
systemctl enable httpd
启动Cobbler服务
systemctl restart cobblerd
systemctl enable cobblerd
编辑Cobbler主配置文件。
vim /etc/cobbler/settings
# 修改278行,配置tftp服务器信息。
next_server: 192.168.10.21
# 修改390行,配置Cobbler服务器信息
server: 192.168.10.21
保存退出,使用Cobbler下载当前版本子组件。
cobbler get-loaders
启动rsync服务
systemctl enable rsyncd
systemctl start rsyncd
编辑安装过程配置文件
vim /etc/debmirror.conf
# 注释28行
@dists="sid";
# 注释30行
@arches="i386";
生成加密密码
openssl passwd -1 -salt $(openssl rand -hex 4)
再次编辑Cobbler主配置文件
vim /etc/cobbler/settings
# 修改101行,配置安装完成后的默认密码,将生成的加密密码填入。
default_password_crypted: "$1$41e9a523$fnjAqcrlr0yAvjEI.VuM8."
安装栅设备(centos6需要该步骤,centos7不需要)
yum install cman fence-agents -y
开启tftp
vim /etc/xinetd.d/tftp
# 修改14行,将tftp开启
disable = no
# 保存退出,重载xinetd。
systemctl restart xinetd
重载Cobbler,使用rsync同步配置。
systemctl restart cobblerd
cobbler sync
cobbler check #检测Cobbler是否有错误
检测无误,开始配置DHCP。
yum install -y dhcp # 下载DHCP
vim /etc/dhcp/dhcpd.conf # 进行简单DHCP配置
# 添加以下信息
option domain-name "chinasoft.com";
option domain-name-servers 114.114.114.114,8.8.8.8;
default-lease-time 43200;
max-lease-time 86400;
log-facility local7;
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option routers 192.168.10.21;
}
next-server 192.168.10.21;
filename="pxelinux.0";
保存退出,启动DHCP服务。
systemctl enable dhcpd
systemctl restart dhcpd
启动tftp服务
systemctl enable tftp
systemctl start tftp
二、Cobbler安装Centos7
虚拟机挂载Centos7安装镜像
创建挂载目录,并挂载选择的镜像。
mkdir /mnt/cdrom
mount -t iso9660 /dev/cdrom /mnt/cdrom/
使用Cobbler封装光盘镜像。
cobbler import --name="centos7.1810" --path=/mnt/cdrom
访问Cobbler的wed界面,查看是否封装成功。
http://192.168.10.21/cobbler/ks_mirror/
配置安装模版文件(本试验已准备好模版,此处不使用kickstart工具作为演示)
cd
vim centos7.ks
#Kickstart Configurator by daqiang
#platform=x86, AMD64, or Intel EM64T
#System language
lang en_US
#System keyboard
keyboard us
#Sytem timezone
timezone Asia/Shanghai
#Root password
rootpw --iscrypted $default_password_crypted
#rootpw --iscrypted $1$ops-node$7hqdpgEmIE7Z0RbtQkxW20
#Use text mode install
text
#Install OS instead of upgrade
install
#Use NFS installation Media
url --url="http://192.168.10.21/cobbler/ks_mirror/centos7.1810"
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part /boot --fstype xfs --size 1024 --ondisk sda
part swap --size 4000 --ondisk sda
part / --fstype xfs --size 1 --grow --ondisk sda
#System authorization infomation
auth --useshadow --enablemd5
#Network information
$SNIPPET('network_config')
#network --bootproto=dhcp --device=eth0 --onboot=on
# Reboot after installation
reboot
#Firewall configuration
firewall --disabled
#SELinux configuration
selinux --disabled
#Do not configure XWindows
skipx
%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end
#Package install information
%packages
@^minimal
@core
chrony
kexec-tools
%end
ps:注意配置17行的镜像来源!!!
保存退出,将配置文件放在指定位置。
mv centos7.ks /var/lib/cobbler/kickstarts/
cobbler profile list # 列出当前的可用ks文件
删除该默认的ks文件,添加刚才自定义的ks文件。
cobbler profile remove --name=centos7.1810-x86_64
cobbler profile list
cobbler profile add --name=centos7.1810 --distro=centos7.1810-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.ks
cobbler profile list
因为对Cobbler做出了更改,需要再次使用sync同步数据。
cobbler sync
新建虚拟机,开始安装测试。
安装完成
三、Cobbler安装Centos6
弹出光盘,挂载Centos6的光盘镜像。
eject
mount -t iso9660 /dev/cdrom /mnt/cdrom/
使用Cobbler封装光盘镜像。
cobbler import --name="centos6.8" --path=/mnt/cdrom
配置安装模版文件(本试验已准备好模版,此处不使用kickstart工具作为演示)
cd
vim centos6.ks
#platform=x86, AMD64, or Intel EM64T
# System authorization information
auth --useshadow --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all --initlabel
#Partition information
part /boot --fstype ext4 --size 1024 --ondisk sda
part swap --size=1500
part / --fstype ext4 --size 1 --grow --ondisk sda
# Use text mode install
text
# Firewall configuration
firewall --disable
# Run the Setup Agent on first boot
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# Use network installation
url --url=$tree
# If any cobbler repo definitions were referenced in the kickstart profile, include them here.
$yum_repo_stanza
# Network information
$SNIPPET('network_config')
#network --bootproto=dhcp --device=em1
# Reboot after installation
reboot
#Root password
rootpw --iscrypted $default_password_crypted
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# System timezone
timezone Asia/Shanghai
# Install OS instead of upgrade
install
# Clear the Master Boot Record
zerombr
%packages
@base
@compat-libraries
@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet
%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%post
%end
ps:24行使用绝对路径或者$tree变量均可
保存退出,将配置文件放在指定位置
mv centos6.ks /var/lib/cobbler/kickstarts/
cobbler profile list # 列出当前的可用ks文件
cobbler profile remove --name=centos6.8-x86_64 #删除默认的ks文件
cobbler profile add --name=centos6.8 --distro=centos6.8-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.ks #指定创建ks文件目录
cobbler profile list
因为对Cobbler做出了更改,需要再次使用sync同步数据。
cobbler sync
新建虚拟机,开始安装测试。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tSM3SB8f-1606638020934)(https://7.dusays.com/2020/11/29/30838dd415894.png)]
四、Cobbler 设置超时默认安装系统
该选项为大规模指定安装某种系统超时设置,如果不知道需要安装哪种类型的系统,建议不要设置。
cobbler system add --name=default --profile=centos7.1810