搜索

4.10. 修改主机

download PDF

添加主机后,根据需要修改主机。最常见的修改是 host_namehost_role 参数。

您可以使用 /v2/infra-envs/{infra_env_id}/hosts/{host_id} 端点修改主机。如需了解在修改主机时您可以设置的字段的详情,请参阅 API viewer 中的 host-update-params 模型。

主机可以是两个角色中的一个:

  • master: 带有 master 角色的一个主机,作为控制平面(control plane)主机。
  • worker: 带有 worker 角色的主机,作为 worker 主机。

默认情况下,辅助安装程序将主机设置为 auto-assign,这意味着安装程序会自动确定主机是 master 角色还是 worker 角色。使用以下流程设置主机的角色:

先决条件

  • 您已将主机添加到集群中。

流程

  1. 刷新 API 令牌:

    $ source refresh-token
  2. 获取主机 ID:

    $ curl -s -X GET "https://api.openshift.com/api/assisted-install/v2/clusters/$CLUSTER_ID" \
    --header "Content-Type: application/json" \
      -H "Authorization: Bearer $API_TOKEN" \
    | jq '.host_networks[].host_ids'
  3. 修改主机:

    $ curl https://api.openshift.com/api/assisted-install/v2/infra-envs/${INFRA_ENV_ID}/hosts/<host_id> \ 1
    -X PATCH \
    -H "Authorization: Bearer ${API_TOKEN}" \
    -H "Content-Type: application/json" \
    -d '
        {
          "host_role":"worker"
          "host_name" : "worker-1"
        }
    ' | jq
    1
    <host_id> 替换为主机的 ID。

4.10.1. 修改存储磁盘配置

主机发现期间检索到的每个主机都可能有多个存储磁盘。您可以选择修改每个磁盘的默认配置。

重要

从 OpenShift Container Platform 4.16 开始,您可以使用 Assisted Installer 在单一 iSCSI 引导设备上安装集群。虽然 OpenShift Container Platform 还支持 iSCSI 的多路径,但此功能目前不适用于辅助安装程序部署。

先决条件

  • 配置集群并发现主机。详情请查看 其它资源
查看存储磁盘

您可以查看集群中的主机,以及每个主机上的磁盘。这可让您对特定磁盘执行操作。

流程

  1. 刷新 API 令牌:

    $ source refresh-token
  2. 获取集群的主机 ID:

    $ curl -s "https://api.openshift.com/api/assisted-install/v2/clusters/$CLUSTER_ID" \
      -H "Authorization: Bearer $API_TOKEN" \
    | jq '.host_networks[].host_ids'

    输出示例

    $ "1022623e-7689-8b2d-7fbd-e6f4d5bb28e5"

    注意

    这是单个主机的 ID。多个主机 ID 用逗号分开。

  3. 获取特定主机的磁盘:

    $ curl https://api.openshift.com/api/assisted-install/v2/infra-envs/${INFRA_ENV_ID}/hosts/<host_id> \ 1
    -H "Authorization: Bearer ${API_TOKEN}" \
    | jq '.inventory | fromjson | .disks'
    1
    <host_id> 替换为相关主机的 ID。

    输出示例

    $ [
      {
        "by_id": "/dev/disk/by-id/wwn-0x6c81f660f98afb002d3adc1a1460a506",
        "by_path": "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:0:0",
        "drive_type": "HDD",
        "has_uuid": true,
        "hctl": "1:2:0:0",
        "id": "/dev/disk/by-id/wwn-0x6c81f660f98afb002d3adc1a1460a506",
        "installation_eligibility": {
          "eligible": true,
          "not_eligible_reasons": null
        },
        "model": "PERC_H710P",
        "name": "sda",
        "path": "/dev/sda",
        "serial": "0006a560141adc3a2d00fb8af960f681",
        "size_bytes": 6595056500736,
        "vendor": "DELL",
        "wwn": "0x6c81f660f98afb002d3adc1a1460a506"
      }
    ]

    注意

    这是一个磁盘的输出。它包含磁盘的 disk_idinstallation_eligibility 属性。

更改安装磁盘

辅助安装程序默认随机分配一个安装磁盘。如果主机有多个存储磁盘,您可以选择一个不同的磁盘作为安装磁盘。这会自动取消之前磁盘的分配。

您可以选择任何其 installation_eligibility 属性为 eligible: true 的磁盘为安装磁盘。

注意

Red Hat Enterprise Linux CoreOS (RHCOS)支持主磁盘上的光纤通道进行多路径,允许对硬件故障进行更强大的弹性,以实现更高的主机可用性。在代理 ISO 镜像中默认启用多路径,带有 /etc/multipath.conf 配置。详情请查看 DM 多路径配置文件。

流程

  1. 获取主机和存储磁盘 ID。详情请参阅 查看存储磁盘
  2. 可选:识别当前安装磁盘:

    $ curl https://api.openshift.com/api/assisted-install/v2/infra-envs/${INFRA_ENV_ID}/hosts/<host_id> \ 1
    -H "Authorization: Bearer ${API_TOKEN}" \
    | jq '.installation_disk_id'
    1
    <host_id> 替换为相关主机的 ID。
  3. 分配一个新的安装磁盘:

    注意

    多路径设备会自动发现并列在主机的清单中。要将多路径光纤通道磁盘指定为安装磁盘,请选择 "drive_type" 设置为 "Multipath" 的磁盘,而不是 "FC",表示单个路径。

    $ curl https://api.openshift.com/api/assisted-install/v2/infra-envs/${INFRA_ENV_ID}/hosts/<host_id> \ 1
    -X PATCH \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer ${API_TOKEN}" \
    
    {
      "disks_selected_config": [
        {
          "id": "<disk_id>", 2
          "role": "install"
        }
      ]
    }
    1
    <host_id> 替换为主机的 ID。
    2
    <disk_id> 替换为新安装磁盘的 ID。
禁用磁盘格式化

辅助安装程序在安装过程中默认将所有可引导磁盘标记为进行格式化,无论它们是否已被定义为安装磁盘。格式化会导致数据丢失。

您可以选择禁用特定磁盘的格式化。这应该谨慎执行,因为可引导磁盘可能会干扰安装过程,主要在引导顺序方面。

您无法禁用对安装磁盘的格式化。

流程

  1. 获取主机和存储磁盘 ID。详情请参阅 查看存储磁盘
  2. 运行以下命令:

    $  curl https://api.openshift.com/api/assisted-install/v2/infra-envs/${INFRA_ENV_ID}/hosts/<host_id> \ 1
    -X PATCH \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer ${API_TOKEN}" \
    
    {
     "disks_skip_formatting": [
       {
         "disk_id": "<disk_id>", 2
         "skip_formatting": true 3
       }
     ]
    }
    注意
    1
    <host_id> 替换为主机的 ID。
    2
    <disk_id> 替换为磁盘的 ID。如果有多个磁盘,使用逗号将 ID 分开。
    3
    要重新启用格式化,请将值改为 false
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.