1.4. インストール時のディスクの暗号化およびミラーリング


OpenShift Container Platform のインストール時に、クラスターノードでブートディスクの暗号化およびミラーリングを有効にできます。

1.4.1. ディスクの暗号化について

インストール時に、コントロールプレーンおよびコンピュートノードのブートディスクの暗号化を有効にできます。OpenShift Container Platform は Trusted Platform Module (TPM) v2 および Tang 暗号化モードをサポートします。

TPM v2
これは優先モードです。TPM v2 は、パスフレーズをサーバー上の安全な暗号プロセッサーに保存します。このモードを使用すると、ディスクがサーバーから取り外された場合に、クラスターノード上のブートディスクデータの暗号化が解除されないようにすることができます。
Tang
Tang および Clevis は、ネットワークバインドディスク暗号化 (NBDE) を有効にするサーバーおよびクライアントコンポーネントです。クラスターノードのブートディスクデータを 1 つまたは複数の Tang サーバーにバインドできます。これにより、ノードが Tang サーバーにアクセスできる安全なネットワーク上にない限り、データの復号化が防止されます。Clevis は、クライアント側の復号化の実装に使用される自動復号化フレームワークです。
重要

Tang 暗号化モードを使用したディスクの暗号化は、user-provisioned infrastructure でのベアメタルおよび vSphere インストールでのみサポートされます。

以前のバージョンの Red Hat Enterprise Linux CoreOS (RHCOS) では、ディスク暗号化は Ignition 設定で /etc/clevis.json を指定して設定されました。このファイルは、OpenShift Container Platform 4.7 以降で作成されたクラスターではサポートされていません。次の手順を使用して、ディスク暗号化を設定します。

TPM v2 または Tang 暗号化モードを有効にすると、RHCOS ブートディスクは LUKS2 形式を使用して暗号化されます。

この機能には以下の特徴があります。

  • installer-provisioned infrastructure、user-provisioned infrastructure、および Assisted Installer のデプロイメントで利用可能
  • Assisted Installer のデプロイメントの場合:

    • 各クラスターは、Tang または TPM の 1 つの暗号化方式のみを持つことができる
    • 一部またはすべてのノードで暗号化を有効にできる
    • 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 サーバーがセキュアネットワーク経由でアクセスできる場合にのみ、ブートディスクデータの復号化が有効になります。

ブタン設定で threshold 属性を使用して、復号化が発生するために必要な TPM v2 および Tang 暗号化条件の最小数を定義できます。

宣言条件の組み合わせで指定値に到達した場合に、しきい値が満たされます。オフラインプロビジョニングの場合、オフラインサーバーは含まれているアドバタイズメントを使用してアクセスされ、オンラインサーバーの数が設定されたしきい値を満たさない場合にのみ、その提供されたアドバタイズメントを使用します。

たとえば、次の設定の threshold 2 は、オフラインサーバーをバックアップとして使用して 2 つの Tang サーバーにアクセスするか、TPM セキュア暗号プロセッサーといずれかの Tang サーバーにアクセスすることで到達できます。

ディスク暗号化の Butane 設定例

variant: openshift
version: 4.14.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
Copy to Clipboard

1
このフィールドをクラスターノードの命令セットアーキテクチャーに設定します。いくつかの例には、x86_64aarch64、または ppc64le が含まれます。
2
Trusted Platform Module (TPM) を使用してルートファイルシステムを暗号化する場合は、このフィールドを追加してください。
3
1 台以上の Tang サーバーを使用する必要がある場合は、このセクションを追加してください。
4
オプション: オフラインプロビジョニングにこのフィールドを含めます。Ignition は、実行時にサーバーからアドバタイズメントを取得するのではなく、Tang サーバーバインディングをプロビジョニングします。これにより、プロビジョニング時にサーバーが利用できなくなります。
5
復号化を行うために必要な TPM v2 および Tang 暗号化条件の最小数を指定します。
重要

デフォルトの しきい値1 です。設定に複数の暗号化条件を追加してもしきい値を指定しない場合は、いずれかの条件が満たされると復号が行われます。

注記

復号に TPM v2 Tang が必要な場合、threshold 属性の値は、指定された Tang サーバーの総数に 1 を加えた値と等しくする必要があります。threshold が低い場合は、単一の暗号化モードを使用することで、しきい値に達する可能性があります。たとえば、tpm2true に設定し、2 つの Tang サーバーを指定すると、TPM セキュア暗号プロセッサーが利用できない場合でも、2 つの Tang サーバーにアクセスすることでしきい値 2 を満たすことができます。

1.4.2. ディスクのミラーリングについて

コントロールプレーンおよびワーカーノードでの OpenShift Container Platform のインストール時に、ブートおよびその他のディスクの 2 つ以上の冗長ストレージデバイスへのミラーリングを有効にできます。1 つのデバイスが使用可能なままであれば、ストレージデバイスの障害後もノードは機能し続けます。

ミラーリングは、障害の発生したディスクの置き換えをサポートしません。ノードを再プロビジョニングして、ミラーを本来の劣化していない状態に復元します。

注記

user-provisioned infrastructure のデプロイメントの場合、ミラーリングは RHCOS システムでのみ使用できます。ミラーリングのサポートは、BIOS または UEFI で起動した x86_64 ノードおよび ppc64le ノードで利用できます。

1.4.3. ディスク暗号化およびミラーリングの設定

OpenShift Container Platform のインストール時に暗号化およびミラーリングを有効にし、設定できます。

前提条件

  • インストールノードで OpenShift Container Platform インストールプログラムをダウンロードしている。
  • インストールノードに Butane がインストールされている。

    注記

    Butane は、OpenShift Container Platform が使用するコマンドラインユーティリティーであり、マシンの設定を記述および検証するための便利で簡潔な構文を提供します。詳細は、「Butane を使用したマシン設定の作成」を参照してください。

  • Tang 交換キーのサムプリントの生成に使用できる Red Hat Enterprise Linux (RHEL) 8 マシンにアクセスできる。

手順

  1. TPM v2 を使用してクラスターを暗号化する必要がある場合は、TPM v2 暗号化を各ノードのホストファームウェアで有効にする必要があるかどうかを確認します。これは、ほとんどの Dell システムで必要になります。特定のシステムのマニュアルを確認してください。
  2. Tang を使用してクラスターを暗号化する必要がある場合は、以下の準備段階の手順に従います。

    1. Tang サーバーを設定するか、既存のサーバーにアクセスします。手順は、Network-bound disk encryption を参照してください。
    2. RHEL 8 マシンに clevis パッケージがインストールされていない場合はインストールします。

      $ sudo yum install clevis
      Copy to Clipboard
    3. RHEL 8 マシンで以下のコマンドを実行し、交換キーのサムプリントを生成します。http://tang1.example.com:7500 を Tang サーバーの URL に置き換えます。

      $ clevis-encrypt-tang '{"url":"http://tang1.example.com:7500"}' < /dev/null > /dev/null 
      1
      Copy to Clipboard
      1
      この例では、tangd.socket は Tang サーバーのポート 7500 でリッスンしています。
      注記

      clevis-encrypt-tang コマンドは、交換キーの拇印を生成します。このステップでは、データは暗号化コマンドに渡されません。/dev/null は、プレーンテキストの代わりに入力としてここに存在します。この手順には必要ないため、暗号化された出力は /dev/null に送信されます。

      出力例

      The advertisement contains the following signing keys:
      
      PLjNyRdGw03zlRoGjQYMahSZGu9 
      1
      Copy to Clipboard

      1
      エクスチェンジキーのサムプリント。

      Do you wish to trust these keys? [ynYN] のプロンプトが表示されたら、Y と入力します。

    4. オプション: オフライン Tang プロビジョニングの場合は、以下を行います。

      1. curl コマンドを使用して、サーバーからアドバタイズメントを取得します。http://tang2.example.com:7500 を Tang サーバーの URL に置き換えます。

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

        予想される出力

        {"payload": "eyJrZXlzIjogW3siYWxnIjogIkV", "protected": "eyJhbGciOiJFUzUxMiIsImN0eSI", "signature": "ADLgk7fZdE3Yt4FyYsm0pHiau7Q"}
        Copy to Clipboard

      2. 暗号化のためにアドバタイズメントファイルを Clevis に提供します。

        $ clevis-encrypt-tang '{"url":"http://tang2.example.com:7500","adv":"adv.jws"}' < /dev/null > /dev/null
        Copy to Clipboard
    5. ノードが静的 IP アドレス指定で設定されている場合は、RHCOS ノードをインストールするときに coreos-installer iso customize --dest-karg-append を実行するか、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 オプションが含まれるほか、インストール中のライブ ISO または PXE イメージのカーネルコマンドラインに ip= 引数が追加されます。静的 IP 設定が間違っていると、ノードの 2 回目のブートが失敗します。

  3. インストールノードで、インストールプログラムが含まれるディレクトリーに切り替え、クラスターの Kubernetes マニフェストを生成します。

    $ ./openshift-install create manifests --dir <installation_directory> 
    1
    Copy to Clipboard
    1
    <installation_directory> は、インストールファイルを保存するディレクトリーへのパスに置き換えます。
  4. ディスクの暗号化、ミラーリング、またはそれら両方を設定する Butane 設定を作成します。たとえば、コンピュートノードのストレージを設定するには、$HOME/clusterconfig/worker-storage.bu ファイルを作成します。

    起動デバイスの Butane 設定例

    variant: openshift
    version: 4.14.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
    Copy to Clipboard

    1 2
    コントロールプレーンの設定は、これらの両方の場所で workermaster に置き換えます。
    3
    このフィールドをクラスターノードの命令セットアーキテクチャーに設定します。いくつかの例には、x86_64aarch64、または ppc64le が含まれます。
    4
    ルートファイルシステムを暗号化する必要がある場合は、このセクションを追加してください。詳細は、「ディスクの暗号化について」を参照してください。
    5
    Trusted Platform Module (TPM) を使用してルートファイルシステムを暗号化する場合は、このフィールドを追加してください。
    6
    1 台以上の Tang サーバーを使用する必要がある場合は、このセクションを追加してください。
    7
    Tang サーバーの URL を指定します。この例では、tangd.socket は Tang サーバーのポート 7500 でリッスンしています。
    8
    前述のステップで生成された Exchange キーサムプリントを指定します。
    9
    オプション: オフライン Tang サーバーのアドバタイズメントを有効な JSON 形式で指定します。
    10
    復号化に実行に必要な TPM v2 および Tang 暗号化条件の最小数を指定します。デフォルト値は 1 です。このトピックの詳細は、「暗号化しきい値の設定」を参照してください。
    11
    ブートディスクをミラーリングする必要がある場合は、このセクションを追加してください。詳細は、「ディスクのミラーリングについて」を参照してください。
    12
    RHCOS がインストールされるディスクを含む、ブートディスクミラーに含まれる必要があるすべてのディスクデバイスを一覧表示します。
    13
    クラスターで FIPS モードを有効にするためにこのディレクティブを追加します。
    重要

    クラスターで FIPS モードを有効にするには、FIPS モードで動作するように設定された Red Hat Enterprise Linux (RHEL) コンピューターからインストールプログラムを実行する必要があります。RHEL での FIPS モードの設定の詳細は、FIPS モードでのシステムのインストール を参照してください。ノードをディスク暗号化とミラーリングの両方を使用するように設定する場合は、両方の機能を同じ Butane 設定ファイルに設定する必要があります。FIPS モードが有効になっているノードでディスク暗号化を設定する際には、FIPS モードが別のマニフェストで有効になっている場合でも、同じ Butane 設定ファイルに fips ディレクティブを追加する必要があります。

  5. 対応する Butane 設定ファイルからコントロールプレーンまたはコンピュートノードのマニフェストを作成し、<installation_directory>/openshift ディレクトリーに保存します。たとえば、コンピュートノードのマニフェストを作成するには、以下のコマンドを実行します。

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

    ディスクの暗号化またはミラーリングを必要とするノード種別ごとに、この手順を繰り返します。

  6. 今後マニフェストを更新する必要がある場合は、Butane 設定ファイルを保存します。
  7. 残りの OpenShift Container Platform インストールを継続します。

    ヒント

    インストール時に、ディスク暗号化またはミラーリングに関連するエラーメッセージがないか、RHCOS ノードでコンソールログをモニタリングできます。

    重要

    追加のデータパーティションを設定する場合、暗号化が明示的に要求されない限り、それらは暗号化されません。

検証

OpenShift Container Platform のインストール後に、ブートディスクの暗号化またはミラーリングがクラスターノードで有効にされているかどうかを確認できます。

  1. インストールホストから、デバッグ Pod を使用してクラスターノードにアクセスします。

    1. ノードのデバッグ Pod を開始します。次に例を示します。

      $ oc debug node/compute-1
      Copy to Clipboard
    2. /host をデバッグシェル内の root ディレクトリーとして設定します。デバッグ Pod は、Pod 内の /host にノードのルートファイルシステムをマウントします。root ディレクトリーを /host に変更すると、ノードの実行可能パスに含まれるバイナリーを実行できます。

      # chroot /host
      Copy to Clipboard
      注記

      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. デバッグシェルで、ノードでのルートマッピングのステータスを確認します。

      # cryptsetup status root
      Copy to Clipboard

      出力例

      /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
      Copy to Clipboard

      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
      Copy to Clipboard
      1
      前述のステップの出力の device フィールドに一覧表示されるデバイスを指定します。

      出力例

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

      1
      この出力例では、Tang プラグインは、/dev/sda4 デバイスの Shamir の Secret Sharing (SSS) Clevis プラグインにより使用されます。
  3. ミラーリングを設定している場合は、有効かどうかを確認します。

    1. デバッグシェルから、ノードにあるソフトウェアの RAID デバイスのリストを表示します。

      # cat /proc/mdstat
      Copy to Clipboard

      出力例

      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>
      Copy to Clipboard

      1
      /dev/md126 ソフトウェア RAID ミラーデバイスは、クラスターノードの /dev/sda3 および /dev/sdb3 ディスクデバイスを使用します。
      2
      /dev/md127 ソフトウェア RAID ミラーデバイスは、クラスターノードの /dev/sda4 および /dev/sdb4 ディスクデバイスを使用します。
    2. 上記のコマンドの出力に記載されている各ソフトウェア RAID デバイスの詳細を確認してください。以下の例は、/dev/md126 デバイスの詳細を示しています。

      # mdadm --detail /dev/md126
      Copy to Clipboard

      出力例

      /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
      Copy to Clipboard

      1
      デバイスの RAID レベルを指定します。raid1 は、RAID 1 ディスクミラーリングを示します。
      2
      RAID デバイスの状態を指定します。
      3 4
      アクティブかつ機能している基礎となるディスクデバイスの数を示します。
      5
      ステータスが failed のディスクデバイスの数を示します。
      6
      ソフトウェア RAID デバイスの名前。
      7 8
      ソフトウェア RAID デバイスが使用する基礎となるディスクデバイスに関する情報を提供します。
    3. ソフトウェア RAID デバイスにマウントされているファイルシステムを一覧表示します。

      # mount | grep /dev/md
      Copy to Clipboard

      出力例

      /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)
      Copy to Clipboard

      この出力例では、/boot ファイルシステムが /dev/md126 software 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.19 は、インストールドライブ上のソフトウェア RAID をサポートしていません。

前提条件

  • インストールノードで OpenShift Container Platform インストールプログラムをダウンロードしている。
  • インストールノードに Butane をインストールしている。

    注記

    Butane は、OpenShift Container Platform が使用するコマンドラインユーティリティーで、マシン設定を作成するための便利で簡略化した構文を提供したり、マシン設定の追加検証を実行したりします。詳細は、Butane を使用したマシン設定の作成 セクションを参照してください。

手順

  1. ソフトウェア RAID を使用してデータボリュームを設定する Butane 設定を作成します。

    • ミラーリングされた起動ディスクに使用されるのと同じディスク上に RAID 1 を使用してデータボリュームを設定するには、$HOME/clusterconfig/raid1-storage.bu ファイルを作成します。以下に例を示します。

      ミラーリングされた起動ディスク上の RAID 1

      variant: openshift
      version: 4.14.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
      Copy to Clipboard

      1 2
      データパーティションをブートディスクに追加する場合は、25000 のメビバイトの最小値が推奨されます。値の指定がない場合や、指定した値が推奨される最小値よりも小さい場合は、生成されるルートファイルシステムのサイズが小さ過ぎるため、RHCOS の再インストールでデータパーティションの最初の部分が上書きされる可能性があります。
    • セカンダリーディスク上に RAID 1 を使用してデータボリュームを設定するには、$HOME/clusterconfig/raid1-alt-storage.bu ファイルを作成します。以下に例を示します。

      セカンダリーディスク上の RAID 1

      variant: openshift
      version: 4.14.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
      Copy to Clipboard

  2. 前のステップで作成した Butane 設定から RAID マニフェストを作成し、それを <installation_directory>/openshift ディレクトリーに保存します。たとえば、コンピュートノードのマニフェストを作成するには、以下のコマンドを実行します。

    $ butane $HOME/clusterconfig/<butane_config>.bu -o <installation_directory>/openshift/<manifest_name>.yaml 
    1
    Copy to Clipboard
    1
    <butane_config> および <manifest_name> を直前の手順のファイル名に置き換えます。たとえば、セカンダリーディスクの場合は、raid1-alt-storage.bu および raid1-alt-storage.yaml になります。
  3. 今後マニフェストを更新する必要がある場合には、Butane 設定を保存します。
  4. 残りの OpenShift Container Platform インストールを継続します。

1.4.5. Intel® Virtual RAID on CPU (VROC) データボリュームの設定

Intel® VROC はハイブリッド RAID の一種で、メンテナンスの一部はハードウェアにオフロードされますが、オペレーティングシステムにはソフトウェア RAID として表示されます。

重要

Intel® VROC のサポートはテクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

次の手順では、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
    Copy to Clipboard
    1
    RAID のデバイス名。この例では、2 つのデバイスがリストされています。2 つ以上のデバイス名を指定する場合は、-n フラグを調整する必要があります。たとえば、3 つのデバイスをリストするには、フラグ -n3 を使用します。
  2. コンテナー内に RAID1 ストレージを作成します。

    1. 次のコマンドを実行して、実際の RAID1 ボリュームの前にダミーの RAID0 ボリュームを作成します。

      $ mdadm -CR /dev/md/dummy -l0 -n2 /dev/md/imsm0 -z10M --assume-clean
      Copy to Clipboard
    2. 次のコマンドを実行して、実際の RAID1 アレイを作成します。

      $ mdadm -CR /dev/md/coreos -l1 -n2 /dev/md/imsm0
      Copy to Clipboard
    3. 次のコマンドを使用して、RAID0 と RAID1 のメンバーアレイを停止し、ダミーの RAID0 アレイを削除します。

      $ mdadm -S /dev/md/dummy \
        mdadm -S /dev/md/coreos \
        mdadm --kill-subarray=0 /dev/md/imsm0
      Copy to Clipboard
    4. 次のコマンドを実行して RAID1 アレイを再起動します。

      $ mdadm -A /dev/md/coreos /dev/md/imsm0
      Copy to Clipboard
  3. RAID1 デバイスに RHCOS をインストールします。

    1. 次のコマンドを実行して、IMSM コンテナーの UUID を取得します。

      $ mdadm --detail --export /dev/md/imsm0
      Copy to Clipboard
    2. 次のコマンドを実行して、RHCOS をインストールし、rd.md.uuid カーネル引数を含めます。

      $ coreos-installer install /dev/md/coreos \
        --append-karg rd.md.uuid=<md_UUID> 
      1
      
        ...
      Copy to Clipboard
      1
      IMSM コンテナーの UUID。

      RHCOS をインストールするために必要な追加の coreos-installer 引数を含めます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat