文章目录
展开cobbler集群快速部署
需求场景
实验室有多台服务器在机柜里,如果一台一台装,会十分麻烦。给出解决方案。
cobbler+pxe
网络环境
服务器由一台三层交换机管理,分2个vlan.
如有使用路由器,记得关闭路由器dhcp功能
地址段为,10.0.0.0/24和172.16.1.0/24
服务器有2张网卡,默认使用第一张。(我这里用的第二张,第一张我有用)
在部署前需关闭交换机DHCP功能。
cobbler所需组件介绍
cobbler (cobbler 的核心)
httpd (提供 cobbler 的 web 界面)
dhcpd (为自动安装系统分配 IP 地址)
epel-release(为之提供yum源)
rsync (cobbler 需要同步信息)
cobbler-web (cobbler 的一个 web 插件)
xinetd (为 rsync 和 tftp 的守护进程)
tftp (传送安装的一些文件的 类似ftp)
环境准备
基本环境部署
# 关闭防火墙和 selinux
systemctl stop firewalld
systemctl disable firewalld
sed -i '/SELINUX/s/enforcing/disabled/'/etc/selinux/config
# cobbler 安装
腾讯云:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
腾讯云:
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
yum -y install cobbler cobbler-web tftp-server dhcp httpd xinetd
# 加入开机自启并启动
systemctl start httpd cobblerd
systemctl enable httpd cobblerd
## 问题
输入cobbler check,会出现很多提示,我们一一解决 问题如下
# 启用Cobbler的动态配置设置 # Cobbler可以根据需要动态地更改和更新配置设
置
sed -ri '/allow_dynamic_settings:/c\allow_dynamic_settings: 1' /etc/cobbler/settings
grep allow_dynamic_settings /etc/cobbler/settings
systemctl restart cobblerd
# 开始解决问题
1.cobbler setting edit --name=server --value=172.16.1.61
2.cobbler setting edit --name=next_server --value=172.16.1.61
3.sed -ri '/disable/c\disable = no' /etc/xinetd.d/tftp
systemctl enable xinetd
systemctl restart xinetd
4. cobbler get-loaders # 先不要管
5. systemctl start rsyncd
systemctl enable rsyncd
6.可选 # 这个报错无所谓
7.yum -y install pykickstart
8.重装后系统的默认密码配置
[root@m01 ~]# openssl passwd -1 -salt `openssl rand -hex 4`'123'
Password:
$1$5bc4a82d$8SicqqF902td6SRpd2ilc1
[root@m01 ~]# cobbler setting edit --name=default_password_crypted --value="$1$5bc4a82d$8SicqqF902td6SRpd2ilc1"
9.yum -y install fence-agents
10.修改配置文件
vim /etc/xinetd.d/tftp
wait=yes 改成 wait=no
DHCP配置
# 设置Cobbler 管理 DHCP 服务
[root@m01 ~]# cobbler setting edit --name=manage_dhcp --value=1
# 编辑 Cobbler 的 DHCP 模板文件
vim /etc/cobbler/dhcp.template
# 就改成这样子就行
subnet 172.16.1.0 netmask 255.255.255.0 {
option routers 172.16.1.2;
option domain-name-servers 223.5.5.5;
option subnet-mask 255.255.255.0;
range dynamic-bootp 172.16.1.100 172.16.1.254;
# 同步cobbler配置,它会根据配置自动修改dhcp等
[root@m01 [~]# cobbler sync
出现*** TASK COMPLETE ***就行
# 这个时候开启新建的虚拟机,桥接模式测试下是否出现如下页面,注意不要挂载光驱
(此页面为成功页面)
部署Centos7
# 创建挂载目录
1.mkdir /mnt/iso
方法一:下载aliyun的centos7镜像
# 建议下载到tmp目录
wget https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso
# 挂载镜像
[root@m01 [/tmp]# mount /tmp/CentOS-7-x86_64-DVD-2009.iso
/mnt/iso/
mount: /dev/loop0 is write-protected, mounting read-only
# 镜像导入cobbler命令
cobbler import --path=/mnt/iso/ --name=Centos7 --arch=x86_64
# 查看镜像
[root@m01 [~]# cobbler distro report --name=centos7-x86_64
方法二:
直接挂载自己的镜像
mount /dev/cdrom /mnt/iso
cobbler import --arch=x86_64 --path=/mnt/iso --name=Centos7
# 写入安装脚本
# [root@m01 [~]# vim /var/lib/cobbler/kickstarts/centos7.ks
# Cobbler for Kickstart Configurator for CentOS 7.4 by lidao
install
url --url=$tree
text
lang en_US.UTF-8
keyboard us
zerombr
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet "
$SNIPPET('network_config')
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw --iscrypted $1$5bc4a82d$8SicqqF902td6SRpd2ilc1
clearpart --all --initlabel
part /boot --fstype xfs --size 1024
part swap --size 1024
part / --fstype xfs --size 1 --grow
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
reboot
%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end
%packages
@base
@compat-libraries
@debugging
@development
bash-completion
tree
nmap
sysstat
lrzsz
dos2unix
telnet
%end
%post
systemctl disable postfix.service
%end
# 指定配置文件
cobbler profile edit --name=Centos7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.ks
# 同步cobbler
cobbler sync
重启虚拟机(需要2c2g)
开机后有镜像
选择镜像后等待安装完成
Comments | NOTHING