cobbler安装手册

  • 发行版
    • 面对不同的操作系统
    • 面对同一个操作系统不同的版本
  • profile
    • 核心特性是通过 kickstart 来部署
  • system
    • 主要目的配置网络接口

1.1 关于pxe

pxe工作原理

现代服务器的网卡(NIC)一般都支持PXE1)启动。即常说的网络启动。PXE协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机启动时,BIOS 把 PXE client 调入内存执由 PXE client将放置在远端的文件通过网络下载到本地运行。运行PXE协议需要设置DHCP服务器和TFTP服务器。DHCP服务器用来给PXE client(将要安装系统的主机)分配一个IP地址。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件(PXEclient的ROM中,已经存在了TFTP Client)。

1.2 关于KickStart

KickStart是RedHat提供的一种无人值守安装系统的方式。KickStart的工作原理是通过记录安装过程中所需人工干预填写的各种参数,然后生成一个名为ks.cfg的文件;其后,只要提供给引导程序此ks文件位置,引导程序便能够完成后续的安装.

1.3 关于cobbler

相比早期的 tftp+dhcp+kickstart 方式cobbler配置简单,可以管理多系统的安装,而且可以通过指定客户端mac地址的方式来确保只有指定的某些服务器可以从dhcp服务器获取IP,这样不会干扰网络中正常的dhcp服务器.

我们由一批DELL服务器上架的流程来看cobbler所处的地位:

  1. 服务器到货,机房上架,配置IDRAC(远程管理);
  2. IDRAC远程管理,设置BIOS,RAID(BIOS,RAID也可以通过IDRAC用命令操作实现);
  3. 记录下每台服务器网卡MAC地址;
  4. 网段内部署cobbler服务器,定制ks文件;
  5. 根据上面获取的MAC地址,cobbler服务器添加部署任务;
  6. 服务器从指定网卡启动,cobbler中的DHCP服务器验证其MAC地址,通过后,运行后续自动化部署步骤;

2.1 安装

#安装epel源
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#安装cobbler
yum install -y dhcp tftp-server xinetd httpd bind cobbler cobbler-web pykickstart rsync
#安装其他组件
yum install -y fence-agents debmirror
#设置开机启动
systemctl enable dhcpd xinetd named httpd cobblerd rsyncd
systemctl is-enabled dhcpd xinetd named httpd cobblerd rsyncd

2.2 配置cobbler settings

#配置debmirror
sed -in s/'@dists="sid"'/'#@dists="sid"'/ /etc/debmirror.conf
sed -in s/'@arches="i386"'/'#@arches="i386"'/ /etc/debmirror.conf
#配置cobbler
cp /etc/cobbler/settings{,.ori}
#依据实际IP修改
sed -i 's/server: 127.0.0.1/server: 192.168.221.130/' /etc/cobbler/settings
sed -i 's/next_server: 127.0.0.1/next_server: 192.168.221.130/' /etc/cobbler/settings
sed -i 's/disable.*= yes/disable                 = no/g' /etc/xinetd.d/tftp
sed -i 's/manage_dhcp: 0/manage_dhcp: 1/g' /etc/cobbler/settings
sed -i 's/manage_rsync: 0/manage_rsync: 1/g' /etc/cobbler/settings
sed -i 's/manage_tftpd: 0/manage_tftpd: 1/g' /etc/cobbler/settings
sed -i "s/manage_dns:.*/manage_dns: 1/g" /etc/cobbler/settings
#防止loop installing
sed -i 's/pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settings
# 生成默认root密码
#openssl passwd -1 'foobar'
sed -i "s#default_password_crypted:.*#default_password_crypted: `openssl passwd -1 'foobar'`#" /etc/cobbler/settings

2.3 配置被管理服务

定义后端服务所用软件.

vim /etc/cobbler/modules.conf
 
[authentication]
module = authn_configfile
[authorization]
module = authz_allowall
[dns]
module = manage_bind
[dhcp]
module = manage_isc
[tftpd]
module = manage_in_tftpd

2.4 配置dhcp.template

cp /etc/cobbler/dhcp.template{,.ori}
vim /etc/cobbler/dhcp.template
 
subnet `192.168.10.0` netmask 255.255.255.0 {
     option routers             `192.168.10.1`;
     option domain-name-servers `192.168.10.254;`
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        `192.168.10.201 192.168.10.250`;
...

systemctl restart xinetd httpd rsyncd cobblerd
#下载引导相关文件
cobbler get-loaders
#检查cobbler配置
cobbler check
#同步cobbler配置,使之生效
cobbler sync

之后便可以访问cobbler 管理页面了,用户名&密码:cobbler

https://$ip/cobbler_web

  • linux/os_provision/cobbler安装手册.txt
  • 最后更改: 2019/04/16 18:31
  • (外部编辑)