Board logo

标题: 使用 Cobbler 自动化和管理系统安装(2) [打印本页]

作者: look_w    时间: 2018-6-18 12:46     标题: 使用 Cobbler 自动化和管理系统安装(2)

使用 Cobbler配置和使用 Cobbler 的方式包括命令行、API、XML-RPC 和 Web UI。我重点介绍命令行选项。
EPEL 程序包RHEL 和 CentOS 的 Cobbler 程序包通过 EPEL (Extra Packages for Enterprise Linux) 分发,这是 Fedora 社区的一个特殊兴趣小组。EPEL 维护着一组针对 Enterprise Linux 的附加程序包,包括 Red Hat Enterprise Linux (RHEL)、CentOS 和 Scientific Linux (SL) 发行版。如需了解更多信息,请访问 。

Cobbler 拥有 Fedora、RHEL、CentOS、Ubuntu 和 OpenSuse 发行版的程序包(参阅 )。我以一个 Fedora 系统上的指令为基础 — 如果愿意,可针对另一个系统轻松地调整这些指令。
首先,安装该工具和 fence 代理包,Cobbler 使用这个程序包执行电源管理活动。以 root 用户的身份,执行发行版的包管理器的 install 命令:
yum -y install cobbler fence-agents
安装好这些程序包后,启动必要的服务:
1
2
service cobblerd start
service httpd start




要测试 Cobbler 是否在正常运行,可键入 cobbler check。这个命令显示可能需要调整的配置点。不要担心它们;该命令只是一个为用户提供帮助的指南。后续步骤将配置相关的各个方面(惟一的例外是 SELinux 警告,可按照来自 Cobbler 的指令调整它们)。如果您碰巧获得一条连接错误消息,则需要验证各种服务 — 以及 SELinux 日志(如果已启用)— 是否已正常启动。您可能需要将 SELinux 布尔值 httpd_can_network_connect_cobbler 设置为 true (setsebool -P httpd_can_network_connect_cobbler 1)。如果需要这么做,则请记住在完成后重新启动各项服务。
配置 Cobbler主要的 Cobbler 配置文件是 /etc/cobbler/settings。使用文本编辑器打开这个文件,并设置以下选项:
选项 manage_* 和 restart_* 无需加以说明。选项 next_server 用在 DHCP 配置文件中,向机器告知提供引导文件的服务器地址。选项 server 在机器安装期间用于引用 Cobbler 服务器地址。最后,选项 pxe_just_once 预防将机器中的安装循环配置为始终从网络引导。激活此选项时,机器告诉 Cobbler 安装已完成。Cobbler 将系统对象的 netboot 标志更改为 false,这会强制机器从本地磁盘引导。本示例稍后面将使用此选项。
仅配置部分服务可以将 Cobbler 配置为仅管理某些服务来适应您的需要。例如,您可能管理一台文件服务器,但网络中您无法访问的另一台机器提供 DHCP。在这种情况下,DHCP 管理员设置 filename 选项来询问引导文件(x86 系统为 pxelinux.0,PowerPC 为 yaboot),设置 next_server 选项来指向您的文件服务器的 IP 地址。在网络中引导的机器会从您的服务器请求引导文件。然后,配置 Cobbler 来管理 TFTP 服务并在该工具中注册机器,以便它为这些机器提供合适的文件。

您可能未激活所有选项(参阅 )。在本例中,配置 Cobbler 来管理所有服务,因为这是一种常见场景,并可展示如何进行配置。
现在,Cobbler 已知道要管理哪些服务,请告诉它要使用哪些程序。使用的选项为:
为 DHCP 和 DNS 使用 dnsmasq 是一个不错的主意,因为 dnsmasq 的配置过程很容易。可使用 in.tftpd,因为这是系统的默认选择。使用清单 1 中的设置编辑文件 /etc/cobbler/modules.conf:
清单 1. 配置设置
1
2
3
4
5
6
7
8
[dns]
module = manage_dnsmasq

[dhcp]
module = manage_dnsmasq

[tftpd]
module = manage_in_tftpd




Cobbler 使用一个模板来创建服务的配置文件。需要编辑 /etc/cobbler/dnsmasq.template 上的 dnsmasq 模板来修改网络信息,比如要使用的网关地址和 IP 范围。假设运行 Cobbler 的服务器也是网关,而且我们的 IP 范围为 192.168.122.5-192.168.122.254,那么在文件中输入以下这行内容:
1
dhcp-range=192.168.122.5,192.168.122.254,255.255.255.0




通常,您希望阻止未注册的客户端从服务器引导。为此,添加参数 dhcp-ignore=tag:!known。(在以前的版本中,语法可能有所不同:dhcp-ignore=#known。如果有疑问,您可以同时插入两个版本。)文件内容类似于清单 2 中的代码:
清单 2. dnsmasq 模板文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Cobbler generated configuration file for dnsmasq
# $date
#

# resolve.conf .. ?
#no-poll
#enable-dbus
read-ethers
addn-hosts = /var/lib/cobbler/cobbler_hosts

dhcp-range=192.168.122.5,192.168.122.254,255.255.255.0
dhcp-ignore=tag:!known
dhcp-option=3,$next_server
dhcp-lease-max=1000
dhcp-authoritative
dhcp-boot=pxelinux.0
dhcp-boot=net:normalarch,pxelinux.0
dhcp-boot=net:ia64,$elilo

$insert_cobbler_system_definitions




Cobbler 基本上已可以使用了。重新启动服务,并将更改同步到文件系统以使它们生效。还要记住重新启动 xinetd 服务以提供 TFTP。运行以下命令:
1
2
3
service cobblerd restart
cobbler sync
service xinetd restart




您可添加发行版和存储库,创建配置文件,以及注册系统。请记得要验证您的防火墙配置是否允许网络服务 TFTP、DHCP 和 HTTP/HTTPS 使用端口上的流量。
安装 Fedora 17 系统准备 Cobbler 以安装 Fedora 17 系统,有两个选项可用:Xfce 或 GNOME 桌面。要添加 Fedora 安装树,首先需要下载 ISO 媒介,然后运行以下命令来挂载媒介并解压缩其内容。(在一些系统中,Cobbler 可能无法看到挂载的目录内容,而且无法导入媒介。如果遇到这种问题,可在执行挂载命令后重新启动 Cobbler 服务。):
1
2
mount -o loop /Fedora-17-x86_64-DVD.iso /mnt/iso
cobbler import --arch=x86_64 --path=/mnt/iso --name=Fedora17




Cobbler 现在将媒介内容复制到文件系统。请耐心等待:该操作可能需要一段时间才能完成。命令 cobbler import 很方便,它会自动为您创建一个发行版和一个配置文件对象。您也可以将 Cobbler 直接指向一个网络存储库。结果类似于清单 3:
清单 3. cobbler import 命令的结果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
cobbler distro report
Name                           : Fedora17-x86_64
Architecture                   : x86_64
TFTP Boot Files                : {}
Breed                          : redhat
Comment                        :
Fetchable Files                : {}
Initrd                         : /var/www/cobbler/ks_mirror/Fedora17-x86_64/images/
                                  pxeboot/initrd.img
Kernel                         : /var/www/cobbler/ks_mirror/Fedora17-x86_64/images/
                                  pxeboot/vmlinuz
Kernel Options                 : {}
Kernel Options (Post Install)  : {}
Kickstart Metadata             : {'tree': 'http://@@http_server@@/cblr/links/
                                  Fedora17-x86_64'}
Management Classes             : []
OS Version                     : generic26
Owners                         : ['admin']
Red Hat Management Key         : <<inherit>>
Red Hat Management Server      : <<inherit>>
Template Files                 : {}

cobbler profile report

Name                           : Fedora17-x86_64
TFTP Boot Files                : {}
Comment                        :
DHCP Tag                       : default
Distribution                   : Fedora17-x86_64
Enable gPXE?                   : 0
Enable PXE Menu?               : 1
Fetchable Files                : {}
Kernel Options                 : {}
Kernel Options (Post Install)  : {}
Kickstart                      :
Kickstart Metadata             : {}
Management Classes             : []
Management Parameters          : <<inherit>>
Name Servers                   : []
Name Servers Search Path       : []
Owners                         : ['admin']
Parent Profile                 :
Proxy                          :
Red Hat Management Key         : <<inherit>>
Red Hat Management Server      : <<inherit>>
Repos                          : []
Server Override                : <<inherit>>
Template Files                 : {}
Virt Auto Boot                 : 1
Virt Bridge                    : xenbr0
Virt CPUs                      : 1
Virt Disk Driver Type          : raw
Virt File Size(GB)             : 5
Virt Path                      :
Virt RAM (MB)                  : 512
Virt Type                      : qemu




这个配置文件是您将为希望安装的每个桌面创建的其他两个配置文件的父文件。
但是,在这么做之前,要考虑到您有一个 yum 存储库,这个存储库中包含更多要在安装中使用的程序包。为此,创建一个存储库对象:
1
2
3
4
cobbler repo add --arch=x86_64 --name=Flash-plugin \
  --mirror=http://linuxdownload.adobe.com/linux/x86_64/
cobbler reposync
cobbler repo report




对于 yum 存储库 URL,Cobbler 接受 http://、ftp://、rsync://、文件系统路径和 ssh 位置(通过使用基于私钥的身份验证)。reposync 操作很重要,因为它会从远程存储库中复制文件。如果创建了存储库对象但未运行 reposync,那么您的存储库将是空的,而且您的安装可能会失败。
要完成存储库激活,可将存储库与一个配置文件相关联。使用以下命令将其与 Fedora 配置文件相关联:
1
cobbler profile edit --name=Fedora17-x86_64 --repos=Flash-plugin






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0