11.3. 置备发现的主机
在 Satellite 服务器和 Capsule 服务器上正确配置了发现插件后,您可以自动检测裸机主机。要做到这一点,请在任何使用 第 11.1.2 节 “配置 PXE 引导” 中描述的 PXE 配置模板配置的 provisioning 网络中引导机器。计算机自动注册到 Satellite 服务器,并出现在 Satellite Web UI 中的 列表中。
您可以手动置备发现的主机,也可以配置自动置备。
11.3.1. 手动置备主机 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
以下流程描述了如何从 Satellite Web UI 手动置备发现的主机。
过程 11.2. 手动置备发现的主机:
- 前往
。 - 选择您要调配的主机,再单击。
- 在主机的 Edit 页面中,完成所需详情,然后单击 。
保存主机配置后,Satellite 会在 TFTP 服务器上修改主机的 PXELinux 文件,然后重新启动发现的主机。然后,它会引导到所选操作系统的安装程序,最后进入安装的操作系统。
如果您决定重新置备现有的发现的主机,请从机器中删除操作系统并重启它。然后,主机会在 Discovered Hosts 页面中重新显示。
11.3.2. 停用发现的主机 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
如果您不再需要 Red Hat Satellite 管理特定主机,您需要停用该主机以防止被发现。
过程 11.3. 禁止发现的主机:
- 关闭主机。
- 前往
。 - 在 Name 列中找到您要停用的主机,然后从对应的 下拉菜单中选择 。
11.3.3. 自动配置主机 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
使用 Satellite 6.2 时,可以定义调配规则,将主机组分配到调配的主机并自动触发调配。
过程 11.4. 要创建置备规则,请执行以下操作:
- 导航到
。 - 单击。指定置备规则的以下参数:
- name 是规则列表中显示的规则的名称。此名称不得包含空格或非字母数字字符。
- search 是用于匹配特定规则发现的主机的 search 语句。您可以使用范围搜索语法进行定义。有关使用范围搜索的示例,请参阅 第 11.3.4 节 “有范围搜索语法”。
- 在开始置备过程前,主机组 是要分配给匹配主机的主机组。确保所选主机组已设置了所有必要的参数;所需参数被标记为星号 unicode。
- hostname 定义为匹配的主机分配人类可读的主机名的模式。当留空时,主机名默认以"macMACADDRESS"格式分配。此实例中使用了与调配模板相同的语法。如需更多信息和示例,请参阅 第 11.3.5 节 “主机名模式”。
- 主机限制是 每个规则置备的主机的最大数量。如果达到限制,则规则在一个或多个主机被删除后才会生效。典型的用例是每个服务器机架或行的规则,当需要更改置备参数,如每个条目的主机名或主机组等。您可以将这个值设置为 0 (0)来指定限制。
- priority 指定规则的执行顺序。该值必须大于或等于零。较低值表示优先级更高。如果两个规则具有相同的优先级,则应用第一个规则。
- Enabled 提供用于临时启用或禁用规则的选项。
- 单击以保存该规则。
默认情况下,Satellite 不启用主机自动发现。以下流程描述了如何启用
discovery_auto
变量根据指定规则提供自动置备。
过程 11.5. 启用自动置备:
- 在 Satellite Web UI 中,导航到
。 - 在 Name 列中找到
discovery_auto
,并将其值设为true
。 - 点击。
在定义了一些规则后,红帽建议您发现主机,并使用主机上的
按钮应用规则。这会触发自动置备,而无需启用全局选项。
11.3.4. 有范围搜索语法 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
本节介绍如何使用范围搜索语法根据所选参数过滤发现的主机。这在为自动置备创建规则时很有用(请参阅 第 11.3.3 节 “自动配置主机”)。
Satellite Web UI 中的搜索字段支持自动完成,以便更轻松地构建搜索字符串。例如,您可以在 页面中测试搜索模式。以下是典型的搜索查询示例:
- facts.architecture = x86_64
- facts.bios_vendor ~ 'Dell*'
- facts.macaddress = "aa:bb:cc:dd:ee:ff"
- facts.macaddress_eth0 = "aa:bb:cc:dd:ee:ff"
- facts.ipaddress_eth1 ~ "192.168.*"
- facts.architecture ^(x86_64,i386)
注意
在有范围搜索中的 caret 符号(^)表示"in" (与 SQL 中相同)的使用,而不是"开始与正则表达式中使用的一样。您可以在以下位置查看范围搜索操作符的完整列表 https://github.com/wvanbergen/scoped_search/blob/master/lib/scoped_search/query_language/tokenizer.rb
在 Satellite 6.2 中,所有事实都是字符串,因此无法进行数字比较。但是,提取三个重要事实并将其转换为数字。它们在 表 11.1 “允许数字比较的事实” 中进行了描述。
搜索参数 | 描述 | 用法示例 |
---|---|---|
cpu_count | CPU 数量 | cpu_count >= 8 |
disk_count | 附加的磁盘数 | disk_count < 10 |
disks_size | 磁盘空间总量(以 MiB 为单位) | disks_size > 1000000 |
11.3.5. 主机名模式 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
本节列出了您在为自动置备创建规则时使用的主机名模式(请参阅 第 11.3.3 节 “自动配置主机”)。
目标主机名模板模式的语法与调配模板(ERB)相同。域会自动附加。除了
@host
属性外,还提供随机整数的 rand()
功能。例如:
- application-server-<%= rand(99999) %>
- load-balancer-<%= @host.facts['bios_vendor'] + '-' + rand (99999)%>
- wwwsrv-<%= @host.hostgroup.name %>
- minion-<%= @host.discovery_rule.name %>
- db-server-<%= @host.ip.gsub('.','-') + '-' + @host.hostgroup.subnet.name %>>
重要
在创建主机名模式时,请确保生成的主机名是唯一的。主机名不能以数字开头。最好是使用 Facter (如 MAC 地址、BIOS 或串行 ID)或随机化主机名提供的唯一信息。
11.3.6. 在命令行中使用发现插件 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
您可以使用 hammer 命令来执行某些与发现相关的任务。运行 hammer -h 命令来验证您的配置:
hammer -h | grep discovery
$ hammer -h | grep discovery
discovery Manipulate discovered hosts.
discovery_rule Manipulate discovered rules.
使用 hammer discovery -h 命令查看可用选项。例如,您可以使用以下命令重新引导发现的主机(假设其 ID 为 130):
hammer discovery reboot -id 130
$ hammer discovery reboot -id 130
Host reboot started