补鞋匠(cobbler)的修仙之旅

一、筑基期---cobbler简介

Cobbler是一个开源的系统部署软件,基于PXE的二次封装,并集成了DNS,DHCP,软件包更新,电源管理以及配置管理编排等功能;实现快速网络安装操作系统。

二、开光期---部署

系统版本:centos 7 x86_64
Cobble版本:cobble.2.8.4

2.1、环境准备

Cobbler的RPM文件在Fedora EPEL源中
安装epel源

yum install epel-release.noarch

安装cobbler等软件

yum  install cobbler cobbler-web dhcp tftp-server pykickstart httpd

关闭防火墙与selinux

systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config 
reboot

添加开机启动并启动

systemctl enable cobblerd.service
systemctl enable httpd.service
systemctl start cobblerd.service 
systemctl start httpd.service

检查环境

cobbler check

补鞋匠(cobbler)的修仙之旅

2.2、根据提示步骤操作

修改/etc/cobbler/settings 中的server值为cobbler服务器地址
补鞋匠(cobbler)的修仙之旅

修改etc/cobbler/settings 中的next_server值为PXE-server/DHCP-server的地址
补鞋匠(cobbler)的修仙之旅

准备引导文件

cobbler get-loaders

设置在kickstart期间为新系统设置的root密码。
生成加密密码:111111 $1$YR4j5LKJ$VZ8XrLSovC4qZQaVG9WGT.

openssl passwd -1

修改/etc/cobbler/settings 中的default_password_crypted值为加密密码
补鞋匠(cobbler)的修仙之旅

使用cobble管理DHCP服务器,将/etc/cobbler/settings 中的manage_dhcp的值设置为1,cobbler将根据cobbler附带的dhcp.template生成dhcpd.conf文件
补鞋匠(cobbler)的修仙之旅

修改DHCP模板文件,/etc/cobbler/dhcp.template 中的网段信息
补鞋匠(cobbler)的修仙之旅

启动rsyncd

systemctl start rsyncd

在/etc/xinetd.d/tftp中将'disable'更改为'no'
补鞋匠(cobbler)的修仙之旅

2.3、重启cobbler,并同步

systemctl restart cobblerd.service 
cobbler sync

补鞋匠(cobbler)的修仙之旅

2.4、挂载镜像,并导入

mount -o loop -t iso9660 /dev/sr0 /media
cobbler import --name=centos-7 --path=/media --arch=x86_64

补鞋匠(cobbler)的修仙之旅
umount /media

2.5、准备ks文件

使用 system-config-kickstart自定义ks文件

yum install system-config-kickstart

system-config-kickstart在桌面环境下配置ks文件
安装GNOME

yum groupinstall "X Window System"

命令行启动桌面

startx

命令行启动

system-config-kickstart

2.5.1、 设置语言,键盘,时区,Root密码,安装完毕后重启

补鞋匠(cobbler)的修仙之旅

2.5.2、 设置安装方式,选择安装,cobbler使用HTTP方式,选择HTTP,填写地址以及镜像目录

补鞋匠(cobbler)的修仙之旅

2.5.3、选择安装MBR

补鞋匠(cobbler)的修仙之旅

2.5.4、分区

补鞋匠(cobbler)的修仙之旅

2.5.5、配置网络,选择BOOTP方式,将安装系统时获取的IP的配置到系统中

补鞋匠(cobbler)的修仙之旅

2.5.6、关闭selinux和防火墙

补鞋匠(cobbler)的修仙之旅

2.5.7、关闭桌面

补鞋匠(cobbler)的修仙之旅

2.5.8、保存ks文件

补鞋匠(cobbler)的修仙之旅

2.5.9、命令行修改,加入package selection

install
keyboard 'us'
rootpw --iscrypted $1$gQGu0rtQ$zsLfgley77DRagCu/21VF1
url --url="http://192.168.118.141/cobbler/ks_mirror/centos-7-x86_64/"
lang en_US
auth  --useshadow  --passalgo=sha512
graphical
selinux --disabled
skipx
firewall --disabled
network  --bootproto=bootp --device=eth0
reboot
timezone --utc Asia/Shanghai
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part /boot --fstype="xfs" --size=512
part / --fstype="xfs" --size=8192
part swap --fstype="swap" --size=1024
**%packages 
@base**
%end

2.5.10、更多kickstart文件相关

redhat-kickstart文件 命令与参数相关

2.6、cobbler添加ks文件

mv /root/ks.cfg /var/lib/cobbler/kickstarts/centos7-base.cfg
cobbler profile add --name=centos7-base --distro=centos-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7-base.cfg

验证

cobbler profile list

补鞋匠(cobbler)的修仙之旅

2.7、重启cobbler

systemctl restart cobblerd.service
systemctl restart tftp.socket 

三、融合期---安装验证

准备,关闭虚拟机dhcp,创建两台虚拟机与cobbler主机同网络
开机,获取到IP 192.168.118.200
补鞋匠(cobbler)的修仙之旅
补鞋匠(cobbler)的修仙之旅

Login 成功,获取IP 192.168.118.200
补鞋匠(cobbler)的修仙之旅

四、心动期之cobbler的web管理界面

4.1、配置cobbler_web认证

配置文件:/etc/cobbler/modules.conf
补鞋匠(cobbler)的修仙之旅
有多种认证方式可供选择
我这里使用默认的authn_configfile 方式

4.1.1、创建认证文件/etc/cobbler/users.digest,初次创建新用户使用-c参数

htdigest -c /etc/cobbler/users.digest "Cobbler" admin  

4.1.2、cobbler同步

cobbler sync

4.1.3、重启服务

systemctl restart httpd.service
systemctl restart cobblerd.service

4.1.4、访问页面(cobbler-web仅支持https访问)

https://192.168.118.150/cobbler_web
补鞋匠(cobbler)的修仙之旅

使用默认账号 cobbler cobbler登陆或是新创建的账号登陆web界面
补鞋匠(cobbler)的修仙之旅

五、金丹期---问题汇总

5.1、许可证bug

补鞋匠(cobbler)的修仙之旅

Centos 官方 bug编号:0007177 https://bugs.centos.org/view.php?id=7177
bug原因:配置kickstart文件时,我们安装了GNOME界面,重启系统后,显示初始设置屏幕,要求接受许可证,显然centos系统不应该提示这个

处理1:关闭初始化设置

systemctl disable initial-setup-graphical.service

处理2:为避免后续安装系统出现问题,在ks文件中加入

# missing systemctl disable initial-setup.service
# https://bugzilla.redhat.com/show_bug.cgi?id=1213114
# https://bugzilla.redhat.com/show_bug.cgi?id=968582
systemctl disable initial-setup-graphical.service

5.2、cobbler_web-403错误

补鞋匠(cobbler)的修仙之旅
日志报错:/var/log/httpd/error_log

补鞋匠(cobbler)的修仙之旅
需要ssl访问,使用https访问:/var/log/httpd/ssl_error_log
补鞋匠(cobbler)的修仙之旅

日志报错,ssl证书出现问题
处理:重装cobbler

5.3、cobbler_web internal server error

补鞋匠(cobbler)的修仙之旅

检查selinux,防火墙,以及httpd错误日志 /var/log/httpd/ssl_error_log
补鞋匠(cobbler)的修仙之旅

日志提示:导入模块失败,django支持问题
处理:

5.3.1、安装pip

yum install python2-pip

5.3.2、安装django

目前django的稳定支持版为1.8版本

pip install Django==1.8.11

5.3.3、重启httpd

systemctl restart httpd

5.4、安装过程报错:write error:no space left on device

报错:/sbin/dmsquash-live-root:line 273:printf:write error:no space left on device
补鞋匠(cobbler)的修仙之旅

原因:虚拟机内存不到2G

六、元婴期---cobbler-web界面深度配置ks文件

6.1、挂载镜像

挂载镜像

mount -o loop -t iso9660 /dev/sr0 /media

6.2、导入镜像

补鞋匠(cobbler)的修仙之旅

日志显示导入镜像正在进行中(running),状态变为complete表示导入结束
补鞋匠(cobbler)的修仙之旅

6.3、修改网卡名称

补鞋匠(cobbler)的修仙之旅

在内核参数添加net.ifnames=0 biosdevname=0
补鞋匠(cobbler)的修仙之旅

6.4、创建ks文件

补鞋匠(cobbler)的修仙之旅
补鞋匠(cobbler)的修仙之旅

6.5、根据MAC地址定制系统

在融合期时代,需要手动选择要安装的系统,现在,可以根据MAC地址定制系统;
根据指定的MAC地址安装指定的系统,并且可以提前配置全局网络,网卡等信息
补鞋匠(cobbler)的修仙之旅

七、出窍期---快速部署


cobbler_server="192.168.118.100"
cobbler_net="192.168.118"

[ -x /usr/bin/yum ] && yum -y install epel-release.noarch &> /dev/null
if [ $? -eq 0  ];then
    yum -y install cobbler cobbler-web dhcp tftp-server pykickstart httpd &> /dev/null 
fi

systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config 

systemctl enable cobblerd.service
systemctl enable httpd.service
systemctl enable rsyncd
systemctl enable tftp.socket

sed -i 's/server: 127.0.0.1/server: ${cobbler_server}/' /etc/cobbler/settings
sed -i 's/next_server: 127.0.0.1/next_server: ${cobbler_server}/' /etc/cobbler/settings
sed -i 's/manage_dhcp: 0/manage_dhcp: 1/' /etc/cobbler/settings
sed -i 's/pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settings
sed -ri "/default_password_crypted/s#(.*: ).*#\1\"`openssl passwd -1 -salt 'admin' '111111'`\"#" /etc/cobbler/settings
sed -i 's#yes#no#' /etc/xinetd.d/tftp
sed -i.ori 's#192.168.1#${cobbler_net}#g;22d;23d' /etc/cobbler/dhcp.template

systemctl start httpd.service
systemctl start cobblerd.service  
systemctl start rsyncd.service 
systemctl start tftp.socket

八、大神期---参考文章

https://blog.oldboyedu.com/autoinstall-cobbler/
https://www.zyops.com/autoinstall-cobbler/
http://cobbler.github.io/manuals/2.8.0/

转载于:https://blog.51cto.com/jiayimeng/2407187

猜你喜欢

转载自blog.csdn.net/weixin_34191734/article/details/91760399