1.4. 在安装过程中加密和镜像磁盘


在 OpenShift Container Platform 安装过程中,您可以在集群节点上启用引导磁盘加密和镜像功能。

1.4.1. 关于磁盘加密

您可以在安装时在 control plane 和计算节点上为引导磁盘启用加密。OpenShift Container Platform 支持 Trusted Platform 模块(TPM)v2 和 Tang 加密模式。

TPM v2
这是首选模式。TPM v2 将密码短语存储在服务器的安全加密处理器中。如果从服务器中删除磁盘,您可以使用此模式来防止在集群节点上解密引导磁盘数据。
tang
Tang 和 Clevis 是启用网络绑定磁盘加密(NBDE)的服务器和客户端组件。您可以将集群节点中的引导磁盘数据绑定到一个或多个 Tang 服务器。这会防止解密数据,除非节点位于可访问 Tang 服务器的安全网络中。Clevis 是一种自动化解密框架,用于在客户端中实施解密。
重要

使用 Tang 加密模式加密磁盘只支持在用户置备的基础架构上安装裸机和 vSphere。

在以前的 Red Hat Enterprise Linux CoreOS(RHCOS)版本中,磁盘加密是通过在 Ignition 配置中指定 /etc/clevis.json 来配置的。使用 OpenShift Container Platform 4.7 或更高版本创建的集群不支持该文件。使用以下步骤配置磁盘加密。

启用 TPM v2 或 Tang 加密模式时,RHCOS 引导磁盘将使用 LUKS2 格式进行加密。

这个功能:

  • 可用于安装程序置备的基础架构、用户置备的基础架构和辅助安装程序部署
  • 对于辅助安装程序部署:

    • 每个集群只能有一个加密方法 Tang 或 TPM
    • 加密可以在某些或所有节点上启用
    • 没有 Tang 阈值 ; 所有服务器都必须有效且可操作
    • 加密只适用于安装磁盘,不适用于工作负载磁盘
  • 只在 Red Hat Enterprise Linux CoreOS(RHCOS)系统上支持
  • 在清单安装过程中设置磁盘加密,加密写入磁盘的所有数据
  • 不需要用户干预来提供密码短语
  • 如果启用了 FIPS 模式,则使用 AES-256-XTS 加密或 AES-256-CBC

1.4.1.1. 配置加密阈值

在 OpenShift Container Platform 中,您可以指定多个 Tang 服务器的要求。您还可以同时配置 TPM v2 和 Tang 加密模式。这只有在存在 TPM 安全加密处理器且 Tang 服务器可以通过安全网络访问时启用引导磁盘数据解密。

您可以使用 Butane 配置中的 threshold 属性来定义解密所需的 TPM v2 和 Tang 加密条件的最小数量。

通过声明的条件的任意组合达到声明的值时,会满足阈值。如果是离线调配,使用包含的公告访问离线服务器,并且仅在在线服务器数量没有满足集合阈值时使用该广告。

例如,在以下的配置中,threshold 的值为 2,这在访问带有可用的离线服务器作为备份的两个 Tang 服务器时就达到了;或访问 TPM 安全加密处理器和一个 Tang 服务器达到:

用于磁盘加密的 Butane 配置示例

variant: openshift
version: 4.15.0
metadata:
  name: worker-storage
  labels:
    machineconfiguration.openshift.io/role: worker
boot_device:
  layout: x86_64 1
  luks:
    tpm2: true 2
    tang: 3
      - url: http://tang1.example.com:7500
        thumbprint: jwGN5tRFK-kF6pIX89ssF3khxxX
      - url: http://tang2.example.com:7500
        thumbprint: VCJsvZFjBSIHSldw78rOrq7h2ZF
      - url: http://tang3.example.com:7500
        thumbprint: PLjNyRdGw03zlRoGjQYMahSZGu9
        advertisement: "{\"payload\": \"...\", \"protected\": \"...\", \"signature\": \"...\"}" 4
    threshold: 2 5
openshift:
  fips: true

1
将此字段设置为集群节点的指令集合架构。一些示例包括、x86_64aarch64ppc64le
2
如果要使用受信任的平台模块(TPM)加密根文件系统,请包含此字段。
3
如果要使用一个或多个 Tang 服务器,请包含此部分。
4
可选:包含用于离线置备的此字段。Ignition 将置备 Tang 服务器绑定,而不是在运行时从服务器获取公告。这样,服务器在置备时不可用。
5
指定进行解密所需的最小 TPM v2 和 Tang 加密条件。
重要

默认 阈值1。如果您在配置中包含多个加密条件,但没有指定阈值,则会在满足任何条件时进行解密。

注意

如果需要 TPM v2 Tang 进行,则 threshold 属性的值必须等于声明的 Tang 服务器总数再加一。如果阈值较低,可以使用单一加密模式达到阈值。例如,如果您将 tpm2 设置为 true 并指定两个 Tang 服务器,则可以通过访问两个 Tang 服务器来满足阈值 2,即使 TPM 安全加密处理器不可用。

1.4.2. 关于磁盘镜像

在 control plane 和 worker 节点上安装 OpenShift Container Platform 时,您可以将引导和其他磁盘镜像到两个或者多个冗余存储设备。存储设备失败后节点将继续正常工作,提供一个设备仍然可用。

镜像不支持替换失败的磁盘。重新置备节点,将镜像恢复到正常的非降级状态。

注意

对于用户置备的基础架构部署,镜像只在 RHCOS 系统上可用。使用 BIOS 或 UEFI 和 ppc64le 节点上引导的 x86_64 节点上支持镜像。

1.4.3. 配置磁盘加密和镜像

您可以在 OpenShift Container Platform 安装过程中启用并配置加密和镜像功能。

先决条件

  • 您已在安装节点上下载了 OpenShift Container Platform 安装程序。
  • 在安装节点上安装了 Butane。

    注意

    Butane 是一个命令行实用程序,OpenShift Container Platform 用来为编写和验证机器配置提供方便的简短语法。如需更多信息,请参阅"使用 Butane 创建机器配置"。

  • 您可以使用 Red Hat Enterprise Linux(RHEL)8 机器来生成 Tang Exchange 密钥的指纹。

流程

  1. 如果要使用 TPM v2 加密集群,请检查每个节点的主机固件中是否需要启用 TPM v2 加密。这在大多数 Dell 系统中是必需的。检查具体系统的手册。
  2. 如果要使用 Tang 加密集群,请按照以下步骤操作:

    1. 设置 Tang 服务器或访问现有服务器。具体步骤请查看 网络绑定磁盘加密
    2. 如果尚未安装,在 RHEL 8 机器上安装 clevis 软件包:

      $ sudo yum install clevis
    3. 在 RHEL 8 计算机上,运行以下命令来生成交换密钥的指纹。使用 Tang 服务器的 URL 替换 http://tang1.example.com:7500

      $ clevis-encrypt-tang '{"url":"http://tang1.example.com:7500"}' < /dev/null > /dev/null 1
      1
      在本例中,tang d.socket 正在侦听 Tang 服务器上的端口 7500
      注意

      clevis-encrypt-tang 命令生成交换密钥的指纹。此步骤中不会将数据传递给加密命令; /dev/null 作为输入而不是纯文本存在。加密的输出也会发送到 /dev/null,因为此过程不需要它。

      输出示例

      The advertisement contains the following signing keys:
      
      PLjNyRdGw03zlRoGjQYMahSZGu9 1

      1
      Exchange 键的指纹。

      Do 您希望信任这些密钥时,显示 [ynYN] 提示时,键入 Y

    4. 可选: 对于离线 Tang 置备:

      1. 使用 curl 命令从服务器获取公告。使用 Tang 服务器的 URL 替换 http://tang2.example.com:7500

        $ curl -f http://tang2.example.com:7500/adv > adv.jws && cat adv.jws

        预期输出

        {"payload": "eyJrZXlzIjogW3siYWxnIjogIkV", "protected": "eyJhbGciOiJFUzUxMiIsImN0eSI", "signature": "ADLgk7fZdE3Yt4FyYsm0pHiau7Q"}

      2. 为 Clevis 提供广告文件进行加密:

        $ clevis-encrypt-tang '{"url":"http://tang2.example.com:7500","adv":"adv.jws"}' < /dev/null > /dev/null
    5. 如果节点配置了静态 IP 寻址,请运行 coreos-installer iso custom --dest-karg-append 或者在安装 RHCOS 节点时使用 coreos-installer --append-karg 选项来设置已安装系统的 IP 地址。为您的 网络附加 ip= 和其他参数。

      重要

      有些配置静态 IP 的方法在第一次引导后不会影响 initramfs,且不适用于 Tang 加密。这包括 coreos-installer --copy-network 选项、coreos-installer iso customize --network-keyfile 选项和 coreos-installer pxe customize --network-keyfile 选项,以及在安装过程中在 live ISO 或 PXE 镜像的内核命令行中添加 ip= 参数。静态 IP 配置不正确会导致节点第二次引导失败。

  3. 在安装节点上,切换到包含安装程序的目录,并为集群生成 Kubernetes 清单:

    $ ./openshift-install create manifests --dir <installation_directory> 1
    1
    <installation_directory> 替换为您要存储安装文件的目录的路径
  4. 创建一个 Butane 配置来配置磁盘加密、镜像或两者。例如,若要为计算节点配置存储,请创建一个 $HOME/clusterconfig/worker-storage.bu 文件。

    引导设备的ane 配置示例

    variant: openshift
    version: 4.15.0
    metadata:
      name: worker-storage 1
      labels:
        machineconfiguration.openshift.io/role: worker 2
    boot_device:
      layout: x86_64 3
      luks: 4
        tpm2: true 5
        tang: 6
          - url: http://tang1.example.com:7500 7
            thumbprint: PLjNyRdGw03zlRoGjQYMahSZGu9 8
          - url: http://tang2.example.com:7500
            thumbprint: VCJsvZFjBSIHSldw78rOrq7h2ZF
            advertisement: "{"payload": "eyJrZXlzIjogW3siYWxnIjogIkV", "protected": "eyJhbGciOiJFUzUxMiIsImN0eSI", "signature": "ADLgk7fZdE3Yt4FyYsm0pHiau7Q"}" 9
        threshold: 1 10
      mirror: 11
        devices: 12
          - /dev/sda
          - /dev/sdb
    openshift:
      fips: true 13

    1 2
    对于 control plane 配置,在这两个位置中将 worker 替换为 master
    3
    将此字段设置为集群节点的指令集合架构。一些示例包括、x86_64aarch64ppc64le
    4
    如果要加密 root 文件系统,请包含此部分。如需了解更多详细信息,请参阅"关于磁盘加密"。
    5
    如果要使用受信任的平台模块(TPM)加密根文件系统,请包含此字段。
    6
    如果要使用一个或多个 Tang 服务器,请包含此部分。
    7
    指定 Tang 服务器的 URL。在本例中,tang d.socket 正在侦听 Tang 服务器上的端口 7500
    8
    指定上一步中生成的 Exchange key thumbprint。
    9
    可选:以有效 JSON 格式指定离线 Tang 服务器的公告。
    10
    指定进行解密时必须满足的最小 TPM v2 和 Tang 加密条件。默认值为 1。有关此主题的更多信息,请参阅"配置加密阈值"。
    11
    如果要镜像引导磁盘,请包含此部分。如需了解更多详细信息,请参阅"关于磁盘镜像"。
    12
    列出引导磁盘镜像中包含的所有磁盘设备,包括 RHCOS 将安装到的磁盘。
    13
    包含此指令以在集群中启用 FIPS 模式。
    重要

    要为集群启用 FIPS 模式,您必须从配置为以 FIPS 模式操作的 Red Hat Enterprise Linux (RHEL) 计算机运行安装程序。有关在 RHEL 中配置 FIPS 模式的更多信息,请参阅在 FIPS 模式中安装该系统。如果要将节点配置为同时使用磁盘加密和镜像,则必须在同一 Butane 配置文件中配置这两个功能。如果要在启用了 FIPS 模式的节点上配置磁盘加密,则必须在同一 Butane 配置文件中包含 fips 指令,即使在单独的清单中也启用了 FIPS 模式。

  5. 从对应的 Butane 配置文件创建一个 control plane 或计算节点清单,并将它保存到 <installation_directory>/openshift 目录。例如,要为计算节点创建清单,请运行以下命令:

    $ butane $HOME/clusterconfig/worker-storage.bu -o <installation_directory>/openshift/99-worker-storage.yaml

    对需要磁盘加密或镜像的每种节点类型重复此步骤。

  6. 保存 Butane 配置文件,以防将来需要更新清单。
  7. 继续进行 OpenShift Container Platform 安装的其余部分。

    提示

    您可以在安装过程中监控 RHCOS 节点上的控制台日志,以了解与磁盘加密或镜像相关的错误消息。

    重要

    如果您配置附加数据分区,除非明确请求加密,否则不会加密它们。

验证

安装 OpenShift Container Platform 后,您可以验证是否在集群节点上启用了引导磁盘加密或镜像功能。

  1. 在安装主机上,使用 debug pod 访问集群节点:

    1. 为节点启动 debug pod,例如:

      $ oc debug node/compute-1
    2. /host 设置为 debug shell 中的根目录。debug pod 在 pod 中的 /host 中挂载节点的根文件系统。通过将根目录改为 /host,您可以运行节点上可执行路径中包含的二进制文件:

      # chroot /host
      注意

      运行 Red Hat Enterprise Linux CoreOS(RHCOS)的 OpenShift Container Platform 集群节点不可变,它依赖于 Operator 来应用集群更改。不建议使用 SSH 访问集群节点。但是,如果 OpenShift Container Platform API 不可用,或者 kubelet 在目标节点上无法正常工作,oc 操作将会受到影响。在这种情况下,可以使用 ssh core@<node>.<cluster_name>.<base_domain> 来访问节点。

  2. 如果配置了引导磁盘加密,请验证是否启用它:

    1. 在 debug shell 中查看节点上 root 映射的状态:

      # cryptsetup status root

      输出示例

      /dev/mapper/root is active and is in use.
        type:    LUKS2 1
        cipher:  aes-xts-plain64 2
        keysize: 512 bits
        key location: keyring
        device:  /dev/sda4 3
        sector size:  512
        offset:  32768 sectors
        size:    15683456 sectors
        mode:    read/write

      1
      加密格式。启用 TPM v2 或 Tang 加密模式时,RHCOS 引导磁盘将使用 LUKS2 格式进行加密。
      2
      用于加密 LUKS2 卷的加密算法。如果启用了 FIPS 模式,则使用 aes-cbc-essiv:sha256 密码。
      3
      包含加密 LUKS2 卷的设备。如果启用了镜像,该值将表示软件镜像设备,如 /dev/md126
    2. 列出绑定到加密设备的 Clevis 插件:

      # clevis luks list -d /dev/sda4 1
      1
      指定上一步中输出中 device 字段中列出的设备。

      输出示例

      1: sss '{"t":1,"pins":{"tang":[{"url":"http://tang.example.com:7500"}]}}' 1

      1
      在示例输出中,Tang 插件由 /dev/sda4 设备的 Shamir 的 Secret 共享 SSS) Clevis 插件使用。
  3. 如果配置了镜像(mirror),请验证是否启用它:

    1. 在 debug shell 中列出节点上的软件 RAID 设备:

      # cat /proc/mdstat

      输出示例

      Personalities : [raid1]
      md126 : active raid1 sdb3[1] sda3[0] 1
      	  393152 blocks super 1.0 [2/2] [UU]
      
      md127 : active raid1 sda4[0] sdb4[1] 2
      	  51869632 blocks super 1.2 [2/2] [UU]
      
      unused devices: <none>

      1
      /dev/md126 软件 RAID 镜像设备使用集群节点中的 /dev/sda3/dev/sdb3 磁盘设备。
      2
      /dev/md127 软件 RAID 镜像设备使用集群节点中的 /dev/sda4/dev/sdb4 磁盘设备。
    2. 查看上一命令输出中列出的每个软件 RAID 设备的详细信息。以下示例列出了 /dev/md126 设备详情:

      # mdadm --detail /dev/md126

      输出示例

      /dev/md126:
                 Version : 1.0
           Creation Time : Wed Jul  7 11:07:36 2021
              Raid Level : raid1 1
              Array Size : 393152 (383.94 MiB 402.59 MB)
           Used Dev Size : 393152 (383.94 MiB 402.59 MB)
            Raid Devices : 2
           Total Devices : 2
             Persistence : Superblock is persistent
      
             Update Time : Wed Jul  7 11:18:24 2021
                   State : clean 2
          Active Devices : 2 3
         Working Devices : 2 4
          Failed Devices : 0 5
           Spare Devices : 0
      
      Consistency Policy : resync
      
                    Name : any:md-boot 6
                    UUID : ccfa3801:c520e0b5:2bee2755:69043055
                  Events : 19
      
          Number   Major   Minor   RaidDevice State
             0     252        3        0      active sync   /dev/sda3 7
             1     252       19        1      active sync   /dev/sdb3 8

      1
      指定设备的 RAID 级别。raid1 表示 RAID 1 磁盘镜像。
      2
      指定 RAID 设备的状态。
      3 4
      指出活跃且正常工作的底层磁盘设备数量。
      5
      说明处于故障状态的底层磁盘设备数量。
      6
      软件 RAID 设备的名称。
      7 8
      提供有关软件 RAID 设备使用的底层磁盘设备的信息。
    3. 列出软件 RAID 设备中挂载的文件系统:

      # mount | grep /dev/md

      输出示例

      /dev/md127 on / type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,prjquota)
      /dev/md127 on /etc type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,prjquota)
      /dev/md127 on /usr type xfs (ro,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,prjquota)
      /dev/md127 on /sysroot type xfs (ro,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,prjquota)
      /dev/md127 on /var type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,prjquota)
      /dev/md127 on /var/lib/containers/storage/overlay type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,prjquota)
      /dev/md127 on /var/lib/kubelet/pods/e5054ed5-f882-4d14-b599-99c050d4e0c0/volume-subpaths/etc/tuned/1 type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,prjquota)
      /dev/md127 on /var/lib/kubelet/pods/e5054ed5-f882-4d14-b599-99c050d4e0c0/volume-subpaths/etc/tuned/2 type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,prjquota)
      /dev/md127 on /var/lib/kubelet/pods/e5054ed5-f882-4d14-b599-99c050d4e0c0/volume-subpaths/etc/tuned/3 type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,prjquota)
      /dev/md127 on /var/lib/kubelet/pods/e5054ed5-f882-4d14-b599-99c050d4e0c0/volume-subpaths/etc/tuned/4 type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,prjquota)
      /dev/md127 on /var/lib/kubelet/pods/e5054ed5-f882-4d14-b599-99c050d4e0c0/volume-subpaths/etc/tuned/5 type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,prjquota)
      /dev/md126 on /boot type ext4 (rw,relatime,seclabel)

      在示例输出中,/boot 文件系统挂载到 /dev/md126 软件 RAID 设备上,root 文件系统挂载到 /dev/md127

  4. 对每种 OpenShift Container Platform 节点类型重复验证步骤。

其他资源

1.4.4. 配置启用了 RAID 的数据卷

您可以启用软件 RAID 分区以提供外部数据卷。OpenShift Container Platform 支持 RAID 0、RAID 1、RAID 4、RAID 5、RAID 6 和 RAID 10 用于数据保护和容错。如需了解更多详细信息,请参阅"关于磁盘镜像"。

注意

OpenShift Container Platform 4.15 不支持安装驱动器中的软件 RAID。

先决条件

  • 您已在安装节点上下载了 OpenShift Container Platform 安装程序。
  • 您已在安装节点上安装了 Butane。

    注意

    但ane 是一个命令行实用程序,OpenShift Container Platform 使用它为编写机器配置提供便捷的简写语法,并对机器配置进行额外的验证。如需更多信息,请参阅使用 Butane 创建机器配置 部分。

流程

  1. 创建一个 Butane 配置,以使用软件 RAID 配置数据卷。

    • 要在用于镜像引导磁盘的相同磁盘上配置带有 RAID 1 的数据卷,请创建一个 $HOME/clusterconfig/raid1-storage.bu 文件,例如:

      镜像引导磁盘上的 RAID 1

      variant: openshift
      version: 4.15.0
      metadata:
        name: raid1-storage
        labels:
          machineconfiguration.openshift.io/role: worker
      boot_device:
        mirror:
          devices:
            - /dev/disk/by-id/scsi-3600508b400105e210000900000490000
            - /dev/disk/by-id/scsi-SSEAGATE_ST373453LW_3HW1RHM6
      storage:
        disks:
          - device: /dev/disk/by-id/scsi-3600508b400105e210000900000490000
            partitions:
              - label: root-1
                size_mib: 25000 1
              - label: var-1
          - device: /dev/disk/by-id/scsi-SSEAGATE_ST373453LW_3HW1RHM6
            partitions:
              - label: root-2
                size_mib: 25000 2
              - label: var-2
        raid:
          - name: md-var
            level: raid1
            devices:
              - /dev/disk/by-partlabel/var-1
              - /dev/disk/by-partlabel/var-2
        filesystems:
          - device: /dev/md/md-var
            path: /var
            format: xfs
            wipe_filesystem: true
            with_mount_unit: true

      1 2
      当在镜像的引导磁盘中添加数据分区时,推荐最少使用 25000MB。如果没有指定值,或者指定的值小于推荐的最小值,则生成的 root 文件系统会太小,而在以后进行的 RHCOS 重新安装可能会覆盖数据分区的开始部分。
    • 要在辅助磁盘上配置带有 RAID 1 的数据卷,请创建一个 $HOME/clusterconfig/raid1-alt-storage.bu 文件,例如:

      辅助磁盘上的 RAID 1

      variant: openshift
      version: 4.15.0
      metadata:
        name: raid1-alt-storage
        labels:
          machineconfiguration.openshift.io/role: worker
      storage:
        disks:
          - device: /dev/sdc
            wipe_table: true
            partitions:
              - label: data-1
          - device: /dev/sdd
            wipe_table: true
            partitions:
              - label: data-2
        raid:
          - name: md-var-lib-containers
            level: raid1
            devices:
              - /dev/disk/by-partlabel/data-1
              - /dev/disk/by-partlabel/data-2
        filesystems:
          - device: /dev/md/md-var-lib-containers
            path: /var/lib/containers
            format: xfs
            wipe_filesystem: true
            with_mount_unit: true

  2. 从您在上一步中创建的 Butane 配置创建 RAID 清单,并将它保存到 <installation_directory>/openshift 目录中。例如,要为计算节点创建清单,请运行以下命令:

    $ butane $HOME/clusterconfig/<butane_config>.bu -o <installation_directory>/openshift/<manifest_name>.yaml 1
    1
    <butane_config><manifest_name> 替换为上一步中的文件名。例如,对于辅助磁盘,raid1-alt-storage.buraid1-alt-storage.yaml
  3. 保存 Butane 配置,以防将来需要更新清单。
  4. 继续进行 OpenShift Container Platform 安装的其余部分。

1.4.5. 在 CPU (VROC) 数据卷中配置 Intel® 虚拟 RAID

Intel® VROC 是混合 RAID 类型,其中有些维护被卸载到硬件,但显示为软件 RAID 到操作系统。

重要

对 Intel® VROC 的支持只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

以下流程配置启用了 Intel® VROC 的 RAID1。

先决条件

  • 您有一个启用了 Intel® Volume Management Device (VMD) 的系统。

流程

  1. 运行以下命令来创建 Intel® Matrix Storage Manager (IMSM) RAID 容器:

    $ mdadm -CR /dev/md/imsm0 -e \
      imsm -n2 /dev/nvme0n1 /dev/nvme1n1 1
    1
    RAID 设备名称。本例中列出了两个设备。如果提供多个设备名称,您需要调整 -n 标志。例如,列出三个使用 -n3 的设备。
  2. 在容器内创建 RAID1 存储:

    1. 运行以下命令,在实际 RAID1 卷前面创建一个 dummy RAID0 卷:

      $ mdadm -CR /dev/md/dummy -l0 -n2 /dev/md/imsm0 -z10M --assume-clean
    2. 运行以下命令来创建实际的 RAID1 阵列:

      $ mdadm -CR /dev/md/coreos -l1 -n2 /dev/md/imsm0
    3. 停止 RAID0 和 RAID1 成员阵列,使用以下命令删除 dummy RAID0 阵列:

      $ mdadm -S /dev/md/dummy \
        mdadm -S /dev/md/coreos \
        mdadm --kill-subarray=0 /dev/md/imsm0
    4. 运行以下命令重启 RAID1 阵列:

      $ mdadm -A /dev/md/coreos /dev/md/imsm0
  3. 在 RAID1 设备上安装 RHCOS:

    1. 运行以下命令,获取 IMSM 容器的 UUID:

      $ mdadm --detail --export /dev/md/imsm0
    2. 运行以下命令安装 RHCOS 并包含 rd.md.uuid 内核参数:

      $ coreos-installer install /dev/md/coreos \
        --append-karg rd.md.uuid=<md_UUID> 1
        ...
      1
      IMSM 容器的 UUID。

      包括安装 RHCOS 所需的任何其他 coreos-installer 参数。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.