|NO.Z.00055|——————————|^^ 构建 ^^|——|PXE&cobbler&ks模板.V2|
一、Cobbler服务构建
### --- Cobbler优点:
~~~ 搭建更为简答,管理更为便捷
~~~ 能够选择系统版本进行安装
### --- Cobbler与PXE的不同点:
### --- Cobbler是什么:
~~~ #Cobbler是红帽公司研发的基于PXE技术的装机服务,可以选择性安装多个不同的操作系统;
~~~ PXE工具的管理器。
### --- Cobbler与PXE如何选择:
### --- PXE:
~~~ 适合环境中只需要安装同一操作系统即可,并且开机后不需介入
### --- Cobbler:
~~~ 适合环境中有多种操作系统的需求,开机后需要人员选择安装的操作系统版本
二、Cobbler安装记录
### --- 硬件环境:
### --- HA-server1:10.10.10.11:centos7.x
### --- 安装epel扩展源
[root@server11 ~]# yum install -y epel-release // 配置epel yum源
[root@server11 ~]# yum clean all
[root@server11 ~]# yum makecache
[root@server11 ~]# yum repolist all // 可以查看到epel源已经有软件包了,13,517多个
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 enabled: 13,517
### --- 安装cobbler程序包
~~~ cobbler:cobbler主程序
~~~ cobbler-web: web管理端
~~~ pykickstart: 自动复合管理器
~~~ debmirror:提供一个最基础的操作系统的形态
[root@server11 ~]# yum install -y cobbler cobbler-web pykickstart debmirror // 安装cobbler所需依赖软件
httpd-2.4.6-97.el7.centos.x86_64 // Apache作为它的依赖已经安装了。通过Apache共享镜像的。
[root@server11 ~]# systemctl restart httpd.service // 开启Apache服务,即是管理页面也是镜像分享服务
[root@server11 ~]# systemctl enable httpd.service
[root@server11 ~]# systemctl start cobblerd // 开启cobbler服务
[root@server11 ~]# systemctl enable cobblerd
[root@server11 ~]# netstat -an | grep 25151 // cobblerd的端口号,Python监听的,因为cobblerd是Python编写的。
tcp 0 0 127.0.0.1:25151 0.0.0.0:* LISTEN
### --- 修改cobbler主程序配置文件server
[root@server11 ~]# vim /etc/cobbler/settings // 修改cobbler主配置文件server
server: 10.10.10.11
next_server: 10.10.10.11 // 本机的机器地址
### --- 向GitHub发起请求,下载一些核心的软件或者组件
[root@server11 ~]# cobbler get-loaders // 向代码主站发起获取必备数据;更新的一些软件包以及所需要的的配置文件;向GitHub发起请求,下载一些核心的软件或者组件
*** TASK COMPLETE ***
[root@server11 ~]# systemctl restart rsyncd // 开启rsyncd cobbler借助rsync在本机不同目录之间的进行同步对应的文件内容
[root@server11 ~]# systemctl enable rsyncd
[root@server11 ~]# vim /etc/debmirror.conf // 注销:告诉它需要安装那些对应的操作系统;//关闭非常规系统以及32位系统的安装
#@dists="sid"; // 注销:把不属于标准化的操作系统的注销
#@arches="i386";
### --- 生成一个加密密码
[root@server11 ~]# openssl passwd -1 -salt $(openssl rand -hex 4) // 生成一个加密密码,生成想做的操作系统的认证密码。//创建与系统加密方案一致的密码卡,用于系统初始化密码
Password:空格
$1$5fc673dd$6TjJapFlgQkrFVA4ehem1/ // 出现等同于类linux操作系统一直的对应密码;复制
[root@server11 ~]# vim /etc/cobbler/settings // 设置默认密码
default_password_crypted: "$1$198bf29f$Di8PgBRHs82Td3cdul7ru1" // 在cobblerd装机的默认的密码都是这个密码。
### --- 安装cobbler隔离机制,防止重复安装
[root@server11 ~]# yum install -y cman fence-agents // 安装cobbler隔离机制,防止重复安装,centos7中没有cman报错正常,centos6中默认是有cma
[root@server11 ~]# yum install -y xinetd // centos7.x默认是没有xinetd,安装一下
### --- 开启tftp服务器
[root@server11 ~]# vim /etc/xinetd.d/tftp // 开启tftp服务器,centos7中需要安装xinetd软件包
disable = no
[root@server11 ~]# systemctl restart cobblerd
[root@server11 ~]# systemctl start xinetd
[root@server11 ~]# systemctl enable xinetd
[root@server11 ~]# systemctl restart tftp
[root@server11 ~]# systemctl enable tftp
### --- 自动同步配置文件并自检配置文件
[root@server11 ~]# cobbler sync // 进行自动同步文件;相当于把配置文件拿到对应该存在的目录下,自己去管理。
[root@server11 ~]# cobbler check // 进行cobbler自检
No configuration problems found. All systems go. // 没有发现配置问题。所有系统。
### --- 安装并配置DHCP服务
[root@server11 ~]# yum install -y dhcp
[root@server11 ~]# vim /etc/dhcp/dhcpd.conf // 配置并开启DHCP服务
subnet 10.10.10.0 netmask 255.255.255.0 {
range 10.10.10.100 10.10.10.200;
option routers 10.10.10.11;
}
next-server 10.10.10.11;
filename="pxelinux.0";
[root@server11 ~]# systemctl start dhcpd
[root@server11 ~]# systemctl enable dhcpd
### --- 导入centos7.x镜像:需要安装两款操作系统:centos6.8和centos7.5
[root@server11 ~]# mkdir /mnt/cdrom
[root@server11 ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only
[root@server11 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@server11 ~]# cobbler import --name="centos7.5" --path=/mnt/cdrom/ // 导入镜像到cobbler服务中
*** TASK COMPLETE ***
### --- 通过访问http://10.10.10.11/cobbler/可以看到分发目录 ks_mirror/下面有一个centos7.5/文件,这个路径记住后期再ks文件里需要更改。//查看到文件列表
[root@server11 ~]# cobbler distro list // 查看已导入镜像
centos7.5-x86_64
[root@server11 ~]# cobbler profile list // 查看已有KS文件
centos7.5-x86_64 // 这个ks文件是centos7.5默认镜像里自带的ks文件;默认自带的ks文件是不能进行正常的网络装机的。所以需要把它删除
[root@server11 ~]# cobbler profile remove --name=centos7.5-x86_64 // 删除对应的KS文件
### --- 导入centos6.x镜像,
[root@server11 ~]# umount /mnt/cdrom/ // 解除挂载//重新选择centos6.8的镜像进行挂载
[root@server11 ~]# mount /dev/cdrom /mnt/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only
[root@server11 ~]# cobbler import --name="centos6.8" --path=/mnt/cdrom/
*** TASK COMPLETE ***
[root@server11 ~]# cobbler distro list
centos6.8-x86_64
centos7.5-x86_64
[root@server11 ~]# cobbler profile list
centos6.8-x86_64
[root@server11 ~]# cobbler profile remove --name=centos6.8-x86_64 // 这个ks文件是centos/6.8默认镜像里自带的ks文件;默认自带的ks文件是不能进行正常的网络装机的。所以需要把它删除
### --- 配置ks模板
[root@server11 ~]# vim centos6-x86_64.cfg // 配置模板见下文Centos6KS模板分享
[root@server11 ~]# vim centos7-x86_64.cfg // 配置模板见下文Centos7KS模板分享
[root@server11 ~]# mv centos6-x86_64.cfg /var/lib/cobbler/kickstarts/
[root@server11 ~]# mv centos7-x86_64.cfg /var/lib/cobbler/kickstarts/
### --- 将已导入镜像文件与KS文件进行粘合//将cfg文件和配置文件匹配
[root@server11 ~]# cobbler profile add --name=centos6.8-basic --distro=centos6.8-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6-x86_64.cfg
[root@server11 ~]# cobbler profile add --name=centos7.5-basic --distro=centos7.5-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7-x86_64.cfg
~~~ cobbler profile add // 添加一个profile
~~~ --name=centos7.5-basic // 起一个名称,安装的时候的选项名称-basic:最基础的环境安装
~~~ --distro=cento7.5-x86_64 // 镜像名称
~~~ --kickstart=/var/lib/cobbler/kickstarts/centos7-x86_64.cfg //kickstart的脚本名称
[root@server11 ~]# cobbler profile list // 查看已经有两个镜像,自己导入的。
centos6.8-basic
centos7.5-basic
### --- 验证:新建一台主机通过cobbler进行安装。
~~~ 本来是20秒之后进行安装,在18秒左右会进行镜像选择安装那个版本的系统。
### --- web配置管理界面https://10.10.10.11/cobbler_web/
~~~ 用户名:cobbler 密码:cobbler
三、Centos6KS模板分享
[root@server11 ~]# vim centos6-x86_64.cfg
#platform=x86,AMD64或Intel EM64T
#version=DEVEL
#Firewall configuration
firewall --disabled
#Install OS instead of upgrade
install
#Use network installation
url --url="http://10.10.10.11/cobbler/ks_mirror/cento6.8/"
#Root password
rootpw --iscrypted $default_password_crypted
#System authorization information
auth --useshadow --passalgo=sha512
#Use graphical install
graphical
firstboot --disable
#System keyboard
keyboard us
#System language
lang_en_US
#SELinux configuration
selinux --disabled
#Installation logging level
logging --level=info
#Reboot after installation
reboot
#System timezone
timezone Africa/Abidjan
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part /boot --fstype="ext4" --size=600
part swap --fstype="swap" --size=4000
part / --fstype="ext4" --grow --size=1
%post --interpreter=/bin/bash
touch /root/1.txt
echo"123" >> /root/1.txt
echo"123" >> /root/1.txt
%end
%packages
@base
@chinese-support
@core
@debugging
@basic-desktop
@desktop-debugging
@desktop-platform
@directory-client
@fonts
@general-desktop
@graphical-admin-tools
@input-methods
@internet-applications
@internet-browser
@java-platform
@legacy-x
@network-file-system-client
@office-suite
@print-client
@remote-desktop-clients
@server-platform
@server-policy
@workstation-policy
@xll
mtools
python-dmidecode
oddjob
wodim
sgpio
genisoimage
device-mapper-persistent-data
abrt-gui
samba-winbind
certmonger
pam_krb5
krb5-workstation
libXmu
%end
四、Centos7KS模板分享
[root@server11 ~]# vim centos7-x86_64.cfg
#Kickstart Configurator by Jason Zhao
#platform=x86,AMD64,or Intel EM64T
#System language
lang_en_US
#System keyboard
keyboard us
#System 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://10.10.10.11/cobbler/ks_mirror/cento7.5/" # 修改对应的镜像存放路径
#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 l --grow --ondisk sda
#System authorization information
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')
#SNIPPET('pre_anamon')
%end
#Package install information
%packages
@base
@core
%end
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv001-lbchac
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」