Cobbler自动化部署搭建实验

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

Cobbler自动化部署搭建实验

启动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自动化部署搭建实验

再次编辑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是否有错误

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安装镜像

Cobbler自动化部署搭建实验

创建挂载目录,并挂载选择的镜像。

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/

Cobbler自动化部署搭建实验

配置安装模版文件(本试验已准备好模版,此处不使用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文件

Cobbler自动化部署搭建实验

删除该默认的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自动化部署搭建实验

因为对Cobbler做出了更改,需要再次使用sync同步数据。

cobbler sync

新建虚拟机,开始安装测试。

Cobbler自动化部署搭建实验

Cobbler自动化部署搭建实验

安装完成

三、Cobbler安装Centos6

弹出光盘,挂载Centos6的光盘镜像。

eject 

Cobbler自动化部署搭建实验

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自动化部署搭建实验

因为对Cobbler做出了更改,需要再次使用sync同步数据。

cobbler sync

新建虚拟机,开始安装测试。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tSM3SB8f-1606638020934)(https://7.dusays.com/2020/11/29/30838dd415894.png)]

Cobbler自动化部署搭建实验

四、Cobbler 设置超时默认安装系统

该选项为大规模指定安装某种系统超时设置,如果不知道需要安装哪种类型的系统,建议不要设置。

cobbler system add --name=default --profile=centos7.1810
上一篇:Cobbler自定义安装系统和私有源


下一篇:asp.net core中,使用CancellationToken在用户终止请求时取消所有异步操作+ abp中的设计