デバイスの置き換え


Red Hat OpenShift Data Foundation 4.18

動作中または故障したデバイスを安全に交換するための手順

Red Hat Storage Documentation Team

概要

このドキュメントでは、Red Hat OpenShift Data Foundation のストレージデバイスを安全に置き換える方法を説明します。

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、用語の置き換えは、今後の複数のリリースにわたって段階的に実施されます。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

Red Hat ドキュメントへのフィードバック (英語のみ)

Red Hat ドキュメントに対するご意見をお聞かせください。ドキュメントの改善点があれば、ぜひお知らせください。

フィードバックを送信するには、Jira チケットを作成します。

  1. Jira にログインします。
  2. 上部のナビゲーションバーで Create をクリックします。
  3. Summary フィールドにわかりやすいタイトルを入力します。
  4. Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも追加してください。
  5. Components フィールドで Documentation を選択します。
  6. ダイアログの下部にある Create をクリックします。

はじめに

デプロイメントのタイプに応じて、以下のいずれかの手順を選択してストレージノードを置き換えることができます。

注記

OpenShift Data Foundation は、異なる OSD サイズをサポートしません。

第1章 AWS への OpenShift Data Foundation の動的プロビジョニング

AWS のユーザーによってプロビジョニングされるインフラストラクチャー上の動的に作成されたストレージクラスターのデバイスを置き換える必要がある場合は、ストレージノードを置き換える必要があります。ノードを置き換える方法は、以下を参照してください。

AWS のインストーラーでプロビジョニングされるインフラストラクチャーの動的に作成されたストレージクラスターのデバイスを置き換える必要がある場合は、ストレージノードを置き換える必要があります。ノードを置き換える方法は、以下を参照してください。

第2章 VMware への OpenShift Data Foundation の動的プロビジョニング

VMware インフラストラクチャーに動的にデプロイされる OpenShift Data Foundation で 1 つ以上の仮想マシンディスク (VMDK) を交換する必要がある場合は、新しいボリュームに新しい永続ボリュームクレーム (PVC) を作成し、古いオブジェクトストレージデバイス (OSD) を削除します。

前提条件

  • データに耐久性があることを確認する。

    • OpenShift Web コンソールで、StorageData Foundation をクリックします。
    • Storage Systems タブをクリックし、ocs-storagecluster-storagesystem をクリックします。
    • Block and File ダッシュボードの Status cardOverview タブで、Data Resiliency に緑色のチェックマークが付いていることを確認します。

手順

  1. 置き換える必要がある OSD と、その OSD がスケジュールされている OpenShift Container Platform ノードを特定します。

    $ oc get -n openshift-storage pods -l app=rook-ceph-osd -o wide
    Copy to Clipboard Toggle word wrap

    出力例:

    rook-ceph-osd-0-6d77d6c7c6-m8xj6    0/1    CrashLoopBackOff    0    24h   10.129.0.16   compute-2   <none>           <none>
    rook-ceph-osd-1-85d99fb95f-2svc7    1/1    Running             0    24h   10.128.2.24   compute-0   <none>           <none>
    rook-ceph-osd-2-6c66cdb977-jp542    1/1    Running             0    24h   10.130.0.18   compute-1   <none>           <none>
    Copy to Clipboard Toggle word wrap

    この例では、rook-ceph-osd-0-6d77d6c7c6-m8xj6 を置き換える必要があり、compute-2 は OSD がスケジュールされる OpenShift Container platform ノードです。

    注記

    交換する OSD が正常な場合、Pod のステータスは Running になります。

  2. 置き換えられる OSD の OSD デプロイメントをスケールダウンします。

    OSD を置き換えるたびに、osd_id_to_remove パラメーターを OSD ID に更新し、この手順を繰り返します。

    $ osd_id_to_remove=0
    Copy to Clipboard Toggle word wrap
    $ oc scale -n openshift-storage deployment rook-ceph-osd-${osd_id_to_remove} --replicas=0
    Copy to Clipboard Toggle word wrap

    ここで、osd_id_to_remove は Pod 名の rook-ceph-osd 接頭辞の直後にくる整数です。この例では、デプロイメント名は rook-ceph-osd-0 です。

    出力例:

    deployment.extensions/rook-ceph-osd-0 scaled
    Copy to Clipboard Toggle word wrap
  3. rook-ceph-osd Pod が停止していることを確認します。

    $ oc get -n openshift-storage pods -l ceph-osd-id=${osd_id_to_remove}
    Copy to Clipboard Toggle word wrap

    出力例:

    No resources found.
    Copy to Clipboard Toggle word wrap
    重要

    rook-ceph-osd Pod が terminating 状態にある場合は、force オプションを使用して Pod を削除します。

    $ oc delete pod rook-ceph-osd-0-6d77d6c7c6-m8xj6 --force --grace-period=0
    Copy to Clipboard Toggle word wrap

    出力例:

    warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
      pod "rook-ceph-osd-0-6d77d6c7c6-m8xj6" force deleted
    Copy to Clipboard Toggle word wrap
  4. 新しい OSD を追加できるように、クラスターから古い OSD を削除します。

    1. 古い ocs-osd-removal ジョブを削除します。

      $ oc delete -n openshift-storage job ocs-osd-removal-job
      Copy to Clipboard Toggle word wrap

      出力例:

      job.batch "ocs-osd-removal-job" deleted
      Copy to Clipboard Toggle word wrap
      注記

      上記のジョブが 10 分後に Completed 状態にならない場合は、ジョブを削除し、FORCE_OSD_REMOVAL=true を指定して再実行する必要があります。

    2. openshift-storage プロジェクトに移動します。

      $ oc project openshift-storage
      Copy to Clipboard Toggle word wrap
    3. クラスターから以前の OSD を削除します。

      $ oc process -n openshift-storage ocs-osd-removal -p FAILED_OSD_IDS=${osd_id_to_remove} FORCE_OSD_REMOVAL=false |oc create -n openshift-storage -f -
      Copy to Clipboard Toggle word wrap

      3 つの OSD しかないクラスター、または OSD が削除された後にデータの 3 つのレプリカすべてを復元するのに十分なスペースがないクラスターでは、FORCE_OSD_REMOVAL 値を “true” に変更する必要があります。

      警告

      この手順により、OSD はクラスターから完全に削除されます。osd_id_to_remove の正しい値が指定されていることを確認します。

  5. ocs-osd-removal-job Pod のステータスをチェックして、OSD が正常に削除されたことを確認します。

    Completed のステータスで、OSD の削除ジョブが正常に完了したことを確認します。

    $ oc get pod -l job-name=ocs-osd-removal-job -n openshift-storage
    Copy to Clipboard Toggle word wrap
  6. OSD の取り外しが完了したことを確認します。

    $ oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1 | egrep -i 'completed removal'
    Copy to Clipboard Toggle word wrap

    出力例:

    2022-05-10 06:50:04.501511 I | cephosd: completed removal of OSD 0
    Copy to Clipboard Toggle word wrap
    重要

    ocs-osd-removal-job Pod が失敗し、Pod が期待される Completed 状態にない場合は、さらにデバッグするために Pod ログを確認してください。

    以下に例を示します。

    # oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1
    Copy to Clipboard Toggle word wrap
  7. 暗号化がインストール時に有効にされている場合は、それぞれの OpenShift Data Foundation ノードから削除された OSD デバイスから dm-crypt で管理される device-mapper マッピングを削除します。

    1. ocs-osd-removal-job Pod のログから、置き換えられた OSD の PVC 名を取得します。

      $ oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1  |egrep -i ‘pvc|deviceset’
      Copy to Clipboard Toggle word wrap

      出力例:

      2021-05-12 14:31:34.666000 I | cephosd: removing the OSD PVC "ocs-deviceset-xxxx-xxx-xxx-xxx"
      Copy to Clipboard Toggle word wrap
    2. これまでに特定した各ノードに以下を実行します。

      1. debug Pod を作成し、ストレージノードのホストに対して chroot を作成します。

        $ oc debug node/<node name>
        Copy to Clipboard Toggle word wrap
        <node name>

        ノードの名前。

        $ chroot /host
        Copy to Clipboard Toggle word wrap
      2. 直前の手順で特定された PVC 名に基づいて関連するデバイス名を検索します。

        $ dmsetup ls| grep <pvc name>
        Copy to Clipboard Toggle word wrap
        <pvc name>

        これは PVC の名前です。

        出力例:

        ocs-deviceset-xxx-xxx-xxx-xxx-block-dmcrypt (253:0)
        Copy to Clipboard Toggle word wrap
      3. マップ済みデバイスを削除します。

        $ cryptsetup luksClose --debug --verbose ocs-deviceset-xxx-xxx-xxx-xxx-block-dmcrypt
        Copy to Clipboard Toggle word wrap
        重要

        権限が十分にないため、コマンドがスタックした場合には、以下のコマンドを実行します。

        • CTRL+Z を押して上記のコマンドを終了します。
        • スタックしたプロセスの PID を検索します。

          $ ps -ef | grep crypt
          Copy to Clipboard Toggle word wrap
        • kill コマンドを使用してプロセスを終了します。

          $ kill -9 <PID>
          Copy to Clipboard Toggle word wrap
          <PID>
          これはプロセス ID です。
        • デバイス名が削除されていることを確認します。

          $ dmsetup ls
          Copy to Clipboard Toggle word wrap
  8. ocs-osd-removal ジョブを削除します。

    $ oc delete -n openshift-storage job ocs-osd-removal-job
    Copy to Clipboard Toggle word wrap

    出力例:

    job.batch "ocs-osd-removal-job" deleted
    Copy to Clipboard Toggle word wrap
注記

データ暗号化で外部の鍵管理システム (KMS) を使用する場合は、古い OSD 暗号化キーは孤立したキーであるため、Vault サーバーから削除できます。

検証手順

  1. 新しい OSD が実行されていることを確認します。

    $ oc get -n openshift-storage pods -l app=rook-ceph-osd
    Copy to Clipboard Toggle word wrap

    出力例:

    rook-ceph-osd-0-5f7f4747d4-snshw                                  1/1     Running     0          4m47s
    rook-ceph-osd-1-85d99fb95f-2svc7                                  1/1     Running     0          1d20h
    rook-ceph-osd-2-6c66cdb977-jp542                                  1/1     Running     0          1d20h
    Copy to Clipboard Toggle word wrap
  2. Bound 状態の新しい PVC が作成されていることを確認します。

    $ oc get -n openshift-storage pvc
    Copy to Clipboard Toggle word wrap

    出力例:

    NAME                      STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS    AGE
    ocs-deviceset-0-0-2s6w4   Bound    pvc-7c9bcaf7-de68-40e1-95f9-0b0d7c0ae2fc   512Gi      RWO            thin            5m
    ocs-deviceset-1-0-q8fwh   Bound    pvc-9e7e00cb-6b33-402e-9dc5-b8df4fd9010f   512Gi      RWO            thin            1d20h
    ocs-deviceset-2-0-9v8lq   Bound    pvc-38cdfcee-ea7e-42a5-a6e1-aaa6d4924291   512Gi      RWO            thin            1d20h
    Copy to Clipboard Toggle word wrap
  3. (オプション) クラスターでクラスター全体の暗号化が有効な場合は、新規 OSD デバイスが暗号化されていることを確認します。

    1. 新規 OSD Pod が実行しているノードを特定します。

      $ oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
      Copy to Clipboard Toggle word wrap
      <OSD-pod-name>

      これは OSD Pod の名前です。

      以下に例を示します。

      $ oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
      Copy to Clipboard Toggle word wrap

      出力例:

      NODE
      compute-1
      Copy to Clipboard Toggle word wrap
    2. 直前の手順で特定された各ノードに以下を実行します。

      1. デバッグ Pod を作成し、選択したホストの chroot 環境を開きます。

        $ oc debug node/<node name>
        Copy to Clipboard Toggle word wrap
        <node name>

        ノードの名前。

        $ chroot /host
        Copy to Clipboard Toggle word wrap
      2. ocs-deviceset 名の横にある crypt キーワードを確認します。

        $ lsblk
        Copy to Clipboard Toggle word wrap
  4. OpenShift Web コンソールにログインし、ストレージダッシュボードを表示します。

第3章 Microsoft Azure への OpenShift Data Foundation の動的プロビジョニング

Azure のインストーラーでプロビジョニングされるインフラストラクチャーの動的に作成されたストレージクラスターのデバイスを置き換える必要がある場合は、ストレージノードを置き換える必要があります。ノードを置き換える方法は、以下を参照してください。

第4章 Google Cloud にデプロイされた動的プロビジョニングされた OpenShift Data Foundation

Google Cloud のインストーラーでプロビジョニングされるインフラストラクチャーの動的に作成されたストレージクラスターのデバイスを置き換える必要がある場合は、ストレージノードを置き換える必要があります。ノードを置き換える方法は、以下を参照してください。

第5章 ローカルストレージデバイスを使用してデプロイされた OpenShift Data Foundation

以下のインフラストラクチャーでローカルストレージデバイスを使用してデプロイされた OpenShift Data Foundation のオブジェクトストレージデバイス (OSD) を置き換えることができます。

  • ベアメタル
  • VMware
注記

1 つ以上の基盤となるストレージデバイスを交換する必要がある場合があります。

前提条件

  • Red Hat は、交換用デバイスを、交換するデバイスと同様のインフラストラクチャーおよびリソースで設定することを推奨しています。
  • データに耐久性があることを確認する。

    • OpenShift Web コンソールで、StorageData Foundation をクリックします。
    • Storage Systems タブをクリックし、ocs-storagecluster-storagesystem をクリックします。
    • Block and File ダッシュボードの Status cardOverview タブで、Data Resiliency に緑色のチェックマークが付いていることを確認します。

手順

  1. 関連するワーカーノードから基礎となるストレージデバイスを削除します。
  2. 関連する OSD Pod が CrashLoopBackOff 状態になったことを確認します。

    置き換える必要がある OSD と、その OSD がスケジュールされている OpenShift Container Platform ノードを特定します。

    $ oc get -n openshift-storage pods -l app=rook-ceph-osd -o wide
    Copy to Clipboard Toggle word wrap

    出力例:

    rook-ceph-osd-0-6d77d6c7c6-m8xj6    0/1    CrashLoopBackOff    0    24h   10.129.0.16   compute-2   <none>           <none>
    rook-ceph-osd-1-85d99fb95f-2svc7    1/1    Running             0    24h   10.128.2.24   compute-0   <none>           <none>
    rook-ceph-osd-2-6c66cdb977-jp542    1/1    Running             0    24h   10.130.0.18   compute-1   <none>           <none>
    Copy to Clipboard Toggle word wrap

    この例では、rook-ceph-osd-0-6d77d6c7c6-m8xj6 を置き換える必要があり、compute-2 は OSD がスケジュールされる OpenShift Container platform ノードです。

  3. 置き換えられる OSD の OSD デプロイメントをスケールダウンします。

    $ osd_id_to_remove=0
    Copy to Clipboard Toggle word wrap
    $ oc scale -n openshift-storage deployment rook-ceph-osd-${osd_id_to_remove} --replicas=0
    Copy to Clipboard Toggle word wrap

    ここで、osd_id_to_remove は Pod 名の rook-ceph-osd 接頭辞の直後にくる整数です。この例では、デプロイメント名は rook-ceph-osd-0 です。

    出力例:

    deployment.extensions/rook-ceph-osd-0 scaled
    Copy to Clipboard Toggle word wrap
  4. rook-ceph-osd Pod が停止していることを確認します。

    $ oc get -n openshift-storage pods -l ceph-osd-id=${osd_id_to_remove}
    Copy to Clipboard Toggle word wrap

    出力例:

    No resources found in openshift-storage namespace.
    Copy to Clipboard Toggle word wrap
    重要

    rook-ceph-osd Pod が数分以上 terminating 状態である場合は、force オプションを使用して Pod を削除します。

    $ oc delete -n openshift-storage pod rook-ceph-osd-0-6d77d6c7c6-m8xj6 --grace-period=0 --force
    Copy to Clipboard Toggle word wrap

    出力例:

    warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
      pod "rook-ceph-osd-0-6d77d6c7c6-m8xj6" force deleted
    Copy to Clipboard Toggle word wrap
  5. 新しい OSD を追加できるように、クラスターから古い OSD を削除します。

    1. 古い ocs-osd-removal ジョブを削除します。

      $ oc delete -n openshift-storage job ocs-osd-removal-job
      Copy to Clipboard Toggle word wrap

      出力例:

      job.batch "ocs-osd-removal-job" deleted
      Copy to Clipboard Toggle word wrap
      注記

      次の手順に進む前に、上記のコマンドが Completed 状態に到達する必要があります。これには 10 分以上かかる場合があります。

    2. openshift-storage プロジェクトに移動します。

      $ oc project openshift-storage
      Copy to Clipboard Toggle word wrap
    3. クラスターから以前の OSD を削除します。

      $ oc process -n openshift-storage ocs-osd-removal -p FAILED_OSD_IDS=${osd_id_to_remove} FORCE_OSD_REMOVAL=false |oc create -n openshift-storage -f -
      Copy to Clipboard Toggle word wrap

      3 つの OSD しかないクラスター、または OSD が削除された後にデータの 3 つのレプリカすべてを復元するのに十分なスペースがないクラスターでは、FORCE_OSD_REMOVAL 値を “true” に変更する必要があります。

      警告

      この手順により、OSD はクラスターから完全に削除されます。osd_id_to_remove の正しい値が指定されていることを確認します。

  6. ocs-osd-removal-job Pod のステータスをチェックして、OSD が正常に削除されたことを確認します。

    Completed のステータスで、OSD の削除ジョブが正常に完了したことを確認します。

    $ oc get pod -l job-name=ocs-osd-removal-job -n openshift-storage
    Copy to Clipboard Toggle word wrap
  7. OSD の取り外しが完了したことを確認します。

    $ oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1 | egrep -i 'completed removal'
    Copy to Clipboard Toggle word wrap

    出力例:

    2022-05-10 06:50:04.501511 I | cephosd: completed removal of OSD 0
    Copy to Clipboard Toggle word wrap
    重要

    ocs-osd-removal-job が失敗し、Pod が予想される Completed の状態にない場合、追加のデバッグのために Pod ログを確認します。

    以下に例を示します。

    # oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1
    Copy to Clipboard Toggle word wrap
  8. インストール時に暗号化を有効した場合は、それぞれの OpenShift Data Foundation ノードから削除された OSD デバイスから dm-crypt で管理される device-mapper マッピングを削除します。

    1. ocs-osd-removal-job Pod のログから、置き換えられた OSD の永続ボリューム要求 (PVC) 名を取得します。

      $ oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1  |egrep -i 'pvc|deviceset'
      Copy to Clipboard Toggle word wrap

      出力例:

      2021-05-12 14:31:34.666000 I | cephosd: removing the OSD PVC "ocs-deviceset-xxxx-xxx-xxx-xxx"
      Copy to Clipboard Toggle word wrap
    2. これまでに特定した各ノードに以下を実行します。

      1. debug Pod を作成し、ストレージノードのホストに対して chroot を作成します。

        $ oc debug node/<node name>
        Copy to Clipboard Toggle word wrap
        <node name>

        ノードの名前。

        $ chroot /host
        Copy to Clipboard Toggle word wrap
      2. 直前の手順で特定された PVC 名に基づいて関連するデバイス名を検索します。

        $ dmsetup ls| grep <pvc name>
        Copy to Clipboard Toggle word wrap
        <pvc name>

        これは PVC の名前です。

        出力例:

        ocs-deviceset-xxx-xxx-xxx-xxx-block-dmcrypt (253:0)
        Copy to Clipboard Toggle word wrap
      3. マップ済みデバイスを削除します。

        $ cryptsetup luksClose --debug --verbose <ocs-deviceset-name>
        Copy to Clipboard Toggle word wrap
        <ocs-deviceset-name>

        前の手順で特定した PVC 名に基づいた、関連するデバイスの名前です。

        重要

        権限が十分にないため、コマンドがスタックした場合には、以下のコマンドを実行します。

        • CTRL+Z を押して上記のコマンドを終了します。
        • スタックしたプロセスの PID を検索します。

          $ ps -ef | grep crypt
          Copy to Clipboard Toggle word wrap
        • kill コマンドを使用してプロセスを終了します。

          $ kill -9 <PID>
          Copy to Clipboard Toggle word wrap
          <PID>
          これはプロセス ID です。
        • デバイス名が削除されていることを確認します。

          $ dmsetup ls
          Copy to Clipboard Toggle word wrap
  9. 削除する必要のある永続ボリューム (PV) を検索します。

    $ oc get pv -L kubernetes.io/hostname | grep <storageclass-name> | grep Released
    Copy to Clipboard Toggle word wrap

    出力例:

    local-pv-d6bf175b           1490Gi       RWO         Delete          Released            openshift-storage/ocs-deviceset-0-data-0-6c5pw      localblock      2d22h       compute-1
    Copy to Clipboard Toggle word wrap
  10. PV を削除します。

    $ oc delete pv <pv_name>
    Copy to Clipboard Toggle word wrap
  11. 物理的に新規デバイスをノードに追加します。
  12. deviceInclusionSpec に一致するデバイスの PV のプロビジョニングを追跡します。PV をプロビジョニングするのに数分かかる場合があります。

    $ oc -n openshift-local-storage describe localvolumeset <lvs-name>
    Copy to Clipboard Toggle word wrap

    出力例:

    [...]
    Status:
      Conditions:
        Last Transition Time:          2020-11-17T05:03:32Z
        Message:                       DiskMaker: Available, LocalProvisioner: Available
        Status:                        True
        Type:                          DaemonSetsAvailable
        Last Transition Time:          2020-11-17T05:03:34Z
        Message:                       Operator reconciled successfully.
        Status:                        True
        Type:                          Available
      Observed Generation:             1
      Total Provisioned Device Count: 4
    Events:
    Type    Reason      Age          From                Message
    ----    ------      ----         ----                -------
    Normal  Discovered  2m30s (x4    localvolumeset-     node.example.com -
            NewDevice   over 2m30s)  symlink-controller  found possible
                                                         matching disk,
                                                         waiting 1m to claim
    
    Normal  FoundMatch  89s (x4      localvolumeset-     node.example.com -
            ingDisk     over 89s)    symlink-controller  symlinking matching
                                                         disk
    Copy to Clipboard Toggle word wrap

    PV がプロビジョニングされると、新規 OSD Pod が PV 用に自動的に作成されます。

  13. ocs-osd-removal ジョブを削除します。

    $ oc delete -n openshift-storage job ocs-osd-removal-job
    Copy to Clipboard Toggle word wrap

    出力例:

    job.batch "ocs-osd-removal-job" deleted
    Copy to Clipboard Toggle word wrap
注記

データ暗号化で外部の鍵管理システム (KMS) を使用する場合は、古い OSD 暗号化キーは孤立したキーであるため、Vault サーバーから削除できます。

検証手順

  1. 新しい OSD が実行されていることを確認します。

    $ oc get -n openshift-storage pods -l app=rook-ceph-osd
    Copy to Clipboard Toggle word wrap

    出力例:

    rook-ceph-osd-0-5f7f4747d4-snshw    1/1     Running     0          4m47s
    rook-ceph-osd-1-85d99fb95f-2svc7    1/1     Running     0          1d20h
    rook-ceph-osd-2-6c66cdb977-jp542    1/1     Running     0          1d20h
    Copy to Clipboard Toggle word wrap
    重要

    数分経過しても新規 OSD が Running と表示されない場合は、rook-ceph-operator Pod を再起動して強制的に調整を行います。

    $ oc delete pod -n openshift-storage -l app=rook-ceph-operator
    Copy to Clipboard Toggle word wrap

    出力例:

    pod "rook-ceph-operator-6f74fb5bff-2d982" deleted
    Copy to Clipboard Toggle word wrap
  2. 新規 PVC が作成されていることを確認します。

    $ oc get -n openshift-storage pvc | grep <lvs-name>
    Copy to Clipboard Toggle word wrap

    出力例:

    ocs-deviceset-0-0-c2mqb   Bound    local-pv-b481410         1490Gi     RWO            localblock                    5m
    ocs-deviceset-1-0-959rp   Bound    local-pv-414755e0        1490Gi     RWO            localblock                    1d20h
    ocs-deviceset-2-0-79j94   Bound    local-pv-3e8964d3        1490Gi     RWO            localblock                    1d20h
    Copy to Clipboard Toggle word wrap
  3. オプション: クラスターでクラスター全体の暗号化が有効な場合は、新しい OSD デバイスが暗号化されていることを確認します。

    1. 新規 OSD Pod が実行しているノードを特定します。

      $ oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
      Copy to Clipboard Toggle word wrap
      <OSD-pod-name>

      これは OSD Pod の名前です。

      以下に例を示します。

      $ oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
      Copy to Clipboard Toggle word wrap

      出力例:

      NODE
      compute-1
      Copy to Clipboard Toggle word wrap
    2. 直前の手順で特定された各ノードに以下を実行します。

      1. デバッグ Pod を作成し、選択したホストの chroot 環境を開きます。

        $ oc debug node/<node name>
        Copy to Clipboard Toggle word wrap
        <node name>

        ノードの名前。

        $ chroot /host
        Copy to Clipboard Toggle word wrap
      2. ocs-deviceset 名の横にある crypt キーワードを確認します。

        $ lsblk
        Copy to Clipboard Toggle word wrap
  4. OpenShift Web コンソールにログインし、ストレージダッシュボードで OSD のステータスを確認します。
注記

データの完全復旧には、復元されるデータ量により、時間がかかる場合があります。

5.2. IBM Power で動作するストレージデバイスまたは障害のあるストレージデバイスの置き換え

IBM Power でローカルストレージデバイスを使用してデプロイされた OpenShift Data Foundation のオブジェクトストレージデバイス (OSD) を置き換えることができます。

注記

1 つ以上の基盤となるストレージデバイスを交換する必要がある場合があります。

前提条件

  • Red Hat は、交換用デバイスを、交換するデバイスと同様のインフラストラクチャーおよびリソースで設定することを推奨しています。
  • データに耐久性があることを確認する。

    • OpenShift Web コンソールで、StorageData Foundation をクリックします。
    • Storage Systems タブをクリックし、ocs-storagecluster-storagesystem をクリックします。
    • Block and File ダッシュボードの Status cardOverview タブで、Data Resiliency に緑色のチェックマークが付いていることを確認します。

手順

  1. 置き換える必要がある OSD と、その OSD がスケジュールされている OpenShift Container Platform ノードを特定します。

    $ oc get -n openshift-storage pods -l app=rook-ceph-osd -o wide
    Copy to Clipboard Toggle word wrap

    出力例:

    rook-ceph-osd-0-86bf8cdc8-4nb5t   0/1     crashLoopBackOff   0   24h   10.129.2.26     worker-0     <none>       <none>
    rook-ceph-osd-1-7c99657cfb-jdzvz   1/1     Running   0          24h     10.128.2.46     worker-1     <none>       <none>
    rook-ceph-osd-2-5f9f6dfb5b-2mnw9    1/1     Running   0          24h     10.131.0.33    worker-2     <none>       <none>
    Copy to Clipboard Toggle word wrap

    この例では、rook-ceph-osd-0-86bf8cdc8-4nb5t を置き換える必要があり、worker-0 は OSD がスケジュールされる RHOCP ノードです。

    注記

    置き換える必要のある OSD が正常である場合、Pod のステータスは Running になります。

  2. 置き換えられる OSD の OSD デプロイメントをスケールダウンします。

    $ osd_id_to_remove=0
    Copy to Clipboard Toggle word wrap
    $ oc scale -n openshift-storage deployment rook-ceph-osd-${osd_id_to_remove} --replicas=0
    Copy to Clipboard Toggle word wrap

    ここで、osd_id_to_remove は Pod 名の rook-ceph-osd 接頭辞の直後にくる整数です。この例では、デプロイメント名は rook-ceph-osd-0 です。

    出力例:

    deployment.extensions/rook-ceph-osd-0 scaled
    Copy to Clipboard Toggle word wrap
  3. rook-ceph-osd Pod が停止していることを確認します。

    $ oc get -n openshift-storage pods -l ceph-osd-id=${osd_id_to_remove}
    Copy to Clipboard Toggle word wrap

    出力例:

    No resources found in openshift-storage namespace.
    Copy to Clipboard Toggle word wrap
    重要

    rook-ceph-osd Pod が数分以上 terminating 状態である場合は、force オプションを使用して Pod を削除します。

    $ oc delete -n openshift-storage pod rook-ceph-osd-0-86bf8cdc8-4nb5t --grace-period=0 --force
    Copy to Clipboard Toggle word wrap

    出力例:

    warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
      pod "rook-ceph-osd-0-86bf8cdc8-4nb5t" force deleted
    Copy to Clipboard Toggle word wrap
  4. 新しい OSD を追加できるように、クラスターから古い OSD を削除します。

    1. 置き換える OSD に関連付けられた DeviceSet を特定します。

      $ oc get -n openshift-storage -o yaml deployment rook-ceph-osd-${osd_id_to_remove} | grep ceph.rook.io/pvc
      Copy to Clipboard Toggle word wrap

      出力例:

      ceph.rook.io/pvc: ocs-deviceset-localblock-0-data-0-64xjl
          ceph.rook.io/pvc: ocs-deviceset-localblock-0-data-0-64xjl
      Copy to Clipboard Toggle word wrap

      この例では、永続ボリューム要求 (PVC) 名は ocs-deviceset-localblock-0-data-0-64xjl です。

    2. PVC に関連付けられている永続ボリューム (PV) を特定します。

      $ oc get -n openshift-storage pvc ocs-deviceset-<x>-<y>-<pvc-suffix>
      Copy to Clipboard Toggle word wrap

      ここで、xy、および pvc-suffix は、直前の手順で特定された DeviceSet の値です。

      出力例:

      NAME                      STATUS        VOLUME        CAPACITY   ACCESS MODES   STORAGECLASS   AGE
      ocs-deviceset-localblock-0-data-0-64xjl   Bound    local-pv-8137c873    256Gi      RWO     localblock     24h
      Copy to Clipboard Toggle word wrap

      この例では、関連付けられた PV は local-pv-8137c873 です。

    3. 置き換えるデバイスの名前を特定します。

      $ oc get pv local-pv-<pv-suffix> -o yaml | grep path
      Copy to Clipboard Toggle word wrap

      ここで、pv-suffix は、前のステップで特定された PV 名の値です。

      出力例:

      path: /mnt/local-storage/localblock/vdc
      Copy to Clipboard Toggle word wrap

      この例では、デバイス名は vdc です。

    4. 置き換える OSD に関連付けられた prepare-pod を特定します。

      $ oc describe -n openshift-storage pvc ocs-deviceset-<x>-<y>-<pvc-suffix> | grep Used
      Copy to Clipboard Toggle word wrap

      ここで、xy、および pvc-suffix は、直前の手順で特定された DeviceSet の値です。

      出力例:

      Used By:    rook-ceph-osd-prepare-ocs-deviceset-localblock-0-data-0-64knzkc
      Copy to Clipboard Toggle word wrap

      この例では、prepare-pod の名前は rook-ceph-osd-prepare-ocs-deviceset-localblock-0-data-0-64knzkc です。

    5. 古い ocs-osd-removal ジョブを削除します。

      $ oc delete -n openshift-storage job ocs-osd-removal-job
      Copy to Clipboard Toggle word wrap

      出力例:

      job.batch "ocs-osd-removal-job" deleted
      Copy to Clipboard Toggle word wrap
      注記

      次の手順に進む前に、上記のコマンドが Completed 状態に到達する必要があります。これには 10 分以上かかる場合があります。

    6. openshift-storage プロジェクトを変更します。

      $ oc project openshift-storage
      Copy to Clipboard Toggle word wrap
    7. クラスターから以前の OSD を削除します。

      $ oc process -n openshift-storage ocs-osd-removal -p FAILED_OSD_IDS=${osd_id_to_remove} FORCE_OSD_REMOVAL=false |oc create -n openshift-storage -f -
      Copy to Clipboard Toggle word wrap

      3 つの OSD しかないクラスター、または OSD が削除された後にデータの 3 つのレプリカすべてを復元するのに十分なスペースがないクラスターでは、FORCE_OSD_REMOVAL 値を “true” に変更する必要があります。

      警告

      この手順により、OSD はクラスターから完全に削除されます。osd_id_to_remove の正しい値が指定されていることを確認します。

  5. ocs-osd-removal-job Pod のステータスをチェックして、OSD が正常に削除されたことを確認します。

    Completed のステータスで、OSD の削除ジョブが正常に完了したことを確認します。

    $ oc get pod -l job-name=ocs-osd-removal-job -n openshift-storage
    Copy to Clipboard Toggle word wrap
  6. OSD の取り外しが完了したことを確認します。

    $ oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1 | egrep -i 'completed removal'
    Copy to Clipboard Toggle word wrap

    出力例:

    2022-05-10 06:50:04.501511 I | cephosd: completed removal of OSD 0
    Copy to Clipboard Toggle word wrap
    重要

    ocs-osd-removal-job が失敗し、Pod が予想される Completed の状態にない場合、追加のデバッグのために Pod ログを確認します。

    以下に例を示します。

    # oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1
    Copy to Clipboard Toggle word wrap
  7. インストール時に暗号化を有効した場合は、それぞれの OpenShift Data Foundation ノードから削除された OSD デバイスから dm-crypt で管理される device-mapper マッピングを削除します。

    1. ocs-osd-removal-job Pod のログから、置き換えられた OSD の PVC 名を取得します。

      $ oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1  |egrep -i ‘pvc|deviceset’
      Copy to Clipboard Toggle word wrap

      出力例:

      2021-05-12 14:31:34.666000 I | cephosd: removing the OSD PVC "ocs-deviceset-xxxx-xxx-xxx-xxx"
      Copy to Clipboard Toggle word wrap
    2. これまでに特定した各ノードに以下を実行します。

      1. debug Pod を作成し、ストレージノードのホストに対して chroot を作成します。

        $ oc debug node/<node name>
        Copy to Clipboard Toggle word wrap
        <node name>

        ノードの名前。

        $ chroot /host
        Copy to Clipboard Toggle word wrap
      2. 直前の手順で特定された PVC 名に基づいて関連するデバイス名を検索します。

        $ dmsetup ls| grep <pvc name>
        Copy to Clipboard Toggle word wrap
        <pvc name>

        これは PVC の名前です。

        出力例:

        ocs-deviceset-xxx-xxx-xxx-xxx-block-dmcrypt (253:0)
        Copy to Clipboard Toggle word wrap
      3. マップ済みデバイスを削除します。

        $ cryptsetup luksClose --debug --verbose ocs-deviceset-xxx-xxx-xxx-xxx-block-dmcrypt
        Copy to Clipboard Toggle word wrap
        重要

        権限が十分にないため、コマンドがスタックした場合には、以下のコマンドを実行します。

        • CTRL+Z を押して上記のコマンドを終了します。
        • スタックしたプロセスの PID を検索します。

          $ ps -ef | grep crypt
          Copy to Clipboard Toggle word wrap
        • kill コマンドを使用してプロセスを終了します。

          $ kill -9 <PID>
          Copy to Clipboard Toggle word wrap
          <PID>
          これはプロセス ID です。
        • デバイス名が削除されていることを確認します。

          $ dmsetup ls
          Copy to Clipboard Toggle word wrap
  8. 削除する必要のある PV を検索します。

    $ oc get pv -L kubernetes.io/hostname | grep localblock | grep Released
    Copy to Clipboard Toggle word wrap

    出力例:

    local-pv-d6bf175b           1490Gi       RWO         Delete          Released            openshift-storage/ocs-deviceset-0-data-0-6c5pw      localblock      2d22h       compute-1
    Copy to Clipboard Toggle word wrap
  9. PV を削除します。

    $ oc delete pv <pv-name>
    Copy to Clipboard Toggle word wrap
    <pv-name>
    PV の名前です。
  10. 古いデバイスを置き換え、新規デバイスを使用して新規の OpenShift Container Platform PV を作成します。

    1. 置き換えるデバイスで OpenShift Container Platform ノードにログインします。この例では、OpenShift Container Platform ノードは worker-0 です。

      $ oc debug node/worker-0
      Copy to Clipboard Toggle word wrap

      出力例:

      Starting pod/worker-0-debug ...
      To use host binaries, run `chroot /host`
      Pod IP: 192.168.88.21
      If you don't see a command prompt, try pressing enter.
      # chroot /host
      Copy to Clipboard Toggle word wrap
    2. 先に特定したデバイス名 vdc を使用して置き換える /dev/disk の内容を記録します。

      # ls -alh /mnt/local-storage/localblock
      Copy to Clipboard Toggle word wrap

      出力例:

      total 0
      drwxr-xr-x. 2 root root 17 Nov  18 15:23 .
      drwxr-xr-x. 3 root root 24 Nov  18 15:23 ..
      lrwxrwxrwx. 1 root root  8 Nov  18 15:23 vdc -> /dev/vdc
      Copy to Clipboard Toggle word wrap
    3. LocalVolume CR の名前を見つけ、置き換えるデバイス /dev/disk を削除またはコメントアウトします。

      $ oc get -n openshift-local-storage localvolume
      Copy to Clipboard Toggle word wrap

      出力例:

      NAME          AGE
      localblock   25h
      Copy to Clipboard Toggle word wrap
      # oc edit -n openshift-local-storage localvolume localblock
      Copy to Clipboard Toggle word wrap

      出力例:

      [...]
          storageClassDevices:
          - devicePaths:
         #   - /dev/vdc
            storageClassName: localblock
            volumeMode: Block
      [...]
      Copy to Clipboard Toggle word wrap

      CR の編集後に変更を保存するようにしてください。

  11. 置き換えるデバイスで OpenShift Container Platform ノードにログインし、古い symlink を削除します。

    $ oc debug node/worker-0
    Copy to Clipboard Toggle word wrap

    出力例:

    Starting pod/worker-0-debug ...
    To use host binaries, run `chroot /host`
    Pod IP: 192.168.88.21
    If you don't see a command prompt, try pressing enter.
    # chroot /host
    Copy to Clipboard Toggle word wrap
    1. 置き換えるデバイス名の古い symlink を特定します。この例では、デバイス名は vdc です。

      # ls -alh /mnt/local-storage/localblock
      Copy to Clipboard Toggle word wrap

      出力例:

      total 0
      drwxr-xr-x. 2 root root 17 Nov  18 15:23 .
      drwxr-xr-x. 3 root root 24 Nov  18 15:23 ..
      lrwxrwxrwx. 1 root root  8 Nov  18 15:23 vdc -> /dev/vdc
      Copy to Clipboard Toggle word wrap
    2. symlink を削除します。

      # rm /mnt/local-storage/localblock/vdc
      Copy to Clipboard Toggle word wrap
    3. symlink が削除されていることを確認します。

      # ls -alh /mnt/local-storage/localblock
      Copy to Clipboard Toggle word wrap

      出力例:

      total 0
      drwxr-xr-x. 2 root root 6 Nov 18 17:11 .
      drwxr-xr-x. 3 root root 24 Nov 18 15:23 ..
      Copy to Clipboard Toggle word wrap
  12. 古いデバイスを新しいデバイスに置き換えます。
  13. 正しい OpenShift Container Platform ノードにログインし、新規ドライブのデバイス名を特定します。同じデバイスを使用しない限り、デバイス名は変更する必要があります。

    # lsblk
    Copy to Clipboard Toggle word wrap

    出力例:

    NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    vda                          252:0    0   40G  0 disk
    |-vda1                       252:1    0    4M  0 part
    |-vda2                       252:2    0  384M  0 part /boot
    `-vda4                       252:4    0 39.6G  0 part
      `-coreos-luks-root-nocrypt 253:0    0 39.6G  0 dm   /sysroot
    vdb                          252:16   0  512B  1 disk
    vdd                          252:32   0  256G  0 disk
    Copy to Clipboard Toggle word wrap

    この例では、新しいデバイス名は vdd です。

  14. 新しい /dev/disk が使用可能になったら、LocalVolume CR に新しいディスクエントリーを追加できます。

    1. LocalVolume CR を編集し、新規の /dev/disk を追加します。

      この例では、新しいデバイスは /dev/vdd です。

      # oc edit -n openshift-local-storage localvolume localblock
      Copy to Clipboard Toggle word wrap

      出力例:

      [...]
          storageClassDevices:
          - devicePaths:
          #  - /dev/vdc
            - /dev/vdd
            storageClassName: localblock
            volumeMode: Block
      [...]
      Copy to Clipboard Toggle word wrap

      CR の編集後に変更を保存するようにしてください。

  15. 新規 PV が Available 状態にあり、正しいサイズであることを確認します。

    $ oc get pv | grep 256Gi
    Copy to Clipboard Toggle word wrap

    出力例:

    local-pv-1e31f771   256Gi   RWO    Delete  Bound  openshift-storage/ocs-deviceset-localblock-2-data-0-6xhkf   localblock    24h
    local-pv-ec7f2b80   256Gi   RWO    Delete  Bound  openshift-storage/ocs-deviceset-localblock-1-data-0-hr2fx   localblock    24h
    local-pv-8137c873   256Gi   RWO    Delete  Available                                                          localblock    32m
    Copy to Clipboard Toggle word wrap
  16. 新規デバイスの OSD を作成します。

    新しい OSD をデプロイします。Operator の調整を強制的に実行するには、rook-ceph-operator を再起動する必要があります。

    1. rook-ceph-operator の名前を特定します。

      $ oc get -n openshift-storage pod -l app=rook-ceph-operator
      Copy to Clipboard Toggle word wrap

      出力例:

      NAME                                  READY   STATUS    RESTARTS   AGE
      rook-ceph-operator-85f6494db4-sg62v   1/1     Running   0          1d20h
      Copy to Clipboard Toggle word wrap
    2. rook-ceph-operator を削除します。

      $ oc delete -n openshift-storage pod rook-ceph-operator-85f6494db4-sg62v
      Copy to Clipboard Toggle word wrap

      出力例:

      pod "rook-ceph-operator-85f6494db4-sg62v" deleted
      Copy to Clipboard Toggle word wrap

      この例では、rook-ceph-operator Pod 名は rook-ceph-operator-85f6494db4-sg62v です。

    3. rook-ceph-operator Pod が再起動していることを確認します。

      $ oc get -n openshift-storage pod -l app=rook-ceph-operator
      Copy to Clipboard Toggle word wrap

      出力例:

      NAME                                  READY   STATUS    RESTARTS   AGE
      rook-ceph-operator-85f6494db4-wx9xx   1/1     Running   0          50s
      Copy to Clipboard Toggle word wrap

      新規 OSD の作成には、Operator が再起動するまでに数分かかる場合があります。

  17. ocs-osd-removal ジョブを削除します。

    $ oc delete -n openshift-storage job ocs-osd-removal-job
    Copy to Clipboard Toggle word wrap

    出力例:

    job.batch "ocs-osd-removal-job" deleted
    Copy to Clipboard Toggle word wrap
注記

データ暗号化で外部の鍵管理システム (KMS) を使用する場合は、古い OSD 暗号化キーは孤立したキーであるため、Vault サーバーから削除できます。

検証手順

  1. 新しい OSD が実行されていることを確認します。

    $ oc get -n openshift-storage pods -l app=rook-ceph-osd
    Copy to Clipboard Toggle word wrap

    出力例:

    rook-ceph-osd-0-76d8fb97f9-mn8qz   1/1     Running   0          23m
    rook-ceph-osd-1-7c99657cfb-jdzvz   1/1     Running   1          25h
    rook-ceph-osd-2-5f9f6dfb5b-2mnw9   1/1     Running   0          25h
    Copy to Clipboard Toggle word wrap
  2. 新規 PVC が作成されていることを確認します。

    $ oc get -n openshift-storage pvc | grep localblock
    Copy to Clipboard Toggle word wrap

    出力例:

    ocs-deviceset-localblock-0-data-0-q4q6b   Bound    local-pv-8137c873       256Gi     RWO         localblock         10m
    ocs-deviceset-localblock-1-data-0-hr2fx   Bound    local-pv-ec7f2b80       256Gi     RWO         localblock         1d20h
    ocs-deviceset-localblock-2-data-0-6xhkf   Bound    local-pv-1e31f771       256Gi     RWO         localblock         1d20h
    Copy to Clipboard Toggle word wrap
  3. (オプション) クラスターでクラスター全体の暗号化が有効な場合は、新規 OSD デバイスが暗号化されていることを確認します。

    1. 新規 OSD Pod が実行しているノードを特定します。

      $ oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
      Copy to Clipboard Toggle word wrap
      <OSD-pod-name>

      これは OSD Pod の名前です。

      以下に例を示します。

      $ oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
      Copy to Clipboard Toggle word wrap

      出力例:

      NODE
      compute-1
      Copy to Clipboard Toggle word wrap
    2. これまでに特定した各ノードに以下を実行します。

      1. デバッグ Pod を作成し、選択したホストの chroot 環境を開きます。

        $ oc debug node/<node name>
        Copy to Clipboard Toggle word wrap
        <node name>

        ノードの名前。

        $ chroot /host
        Copy to Clipboard Toggle word wrap
      2. ocs-deviceset 名の横にある crypt キーワードを確認します。

        $ lsblk
        Copy to Clipboard Toggle word wrap
  4. OpenShift Web コンソールにログインし、Storage セクションの OpenShift Data Foundation ダッシュボードでステータスカードをチェックします。
注記

データの完全復旧には、復元されるデータ量により、時間がかかる場合があります。

IBM Z または IBM® LinuxONE インフラストラクチャー上の動作中または障害のあるストレージデバイスを、新しい Small Computer System Interface (SCSI) ディスクに置き換えることができます。

IBM Z または IBM® LinuxONE は、外部ディスクストレージからの永続ストレージとして SCSI FCP ディスク論理ユニット (SCSI ディスク) に対応します。SCSI ディスクは、FCP デバイス番号、2 つのターゲットワールドワイドポート名 (WWPN1 と WWPN2)、および論理ユニット番号 (LUN) を使用して識別できます。詳細は、https://www.ibm.com/support/knowledgecenter/SSB27U_6.4.0/com.ibm.zvm.v640.hcpa5/scsiover.html を参照してください。

前提条件

  • データに耐久性があることを確認する。

    • OpenShift Web コンソールで、StorageData Foundation をクリックします。
    • Storage Systems タブをクリックし、ocs-storagecluster-storagesystem をクリックします。
    • Block and File ダッシュボードの Status cardOverview タブで、Data Resiliency に緑色のチェックマークが付いていることを確認します。

手順

  1. すべてのディスクをリスト表示します。

    $ lszdev
    Copy to Clipboard Toggle word wrap

    出力例:

    TYPE         ID
    zfcp-host    0.0.8204                                        yes  yes
    zfcp-lun     0.0.8204:0x102107630b1b5060:0x4001402900000000 yes  no    sda sg0
    zfcp-lun     0.0.8204:0x500407630c0b50a4:0x3002b03000000000  yes  yes   sdb sg1
    qeth         0.0.bdd0:0.0.bdd1:0.0.bdd2                      yes  no    encbdd0
    generic-ccw  0.0.0009                                        yes  no
    Copy to Clipboard Toggle word wrap

    SCSI ディスクは、ID セクションの <device-id>:<wwpn>:<lun-id> 構造で zfcp-lun として表されます。最初のディスクはオペレーティングシステムに使用されます。1 つのストレージデバイスに障害が発生した場合は、それを新しいディスクに置き換えることができます。

  2. ディスクを削除します。

    ディスクで以下のコマンドを実行し、scsi-id を、置き換えるディスクの SCSI ディスク識別子に置き換えます。

    $ chzdev -d scsi-id
    Copy to Clipboard Toggle word wrap

    たとえば、以下のコマンドはデバイス ID 0.0.8204、WWPN 0x500507630a0b50a4、および LUN 0x4002403000000000 のディスクを 1 つ削除します。

    $ chzdev -d 0.0.8204:0x500407630c0b50a4:0x3002b03000000000
    Copy to Clipboard Toggle word wrap
  3. 新しい SCSI ディスクを追加します。

    $ chzdev -e 0.0.8204:0x500507630b1b50a4:0x4001302a00000000
    Copy to Clipboard Toggle word wrap
    注記

    新規ディスクのデバイス ID は、置き換えるディスクと同じである必要があります。新規ディスクは、WWPN および LUN ID で識別されます。

  4. すべての FCP デバイスをリスト表示して、新規ディスクが設定されていることを確認します。

    $ lszdev zfcp-lun
    Copy to Clipboard Toggle word wrap

    出力例:

    TYPE         ID                                              ON   PERS  NAMES
    zfcp-lun     0.0.8204:0x102107630b1b5060:0x4001402900000000 yes  no    sda sg0
    zfcp-lun     0.0.8204:0x500507630b1b50a4:0x4001302a00000000  yes  yes   sdb sg1
    Copy to Clipboard Toggle word wrap

第6章 OpenShift Data Foundation CLI ツールを使用した OSD の削除

6.1. OpenShift Data Foundation CLI ツールを使用したオブジェクトストレージデバイスの削除

OpenShift Data Foundation コマンドラインインターフェイス (CLI) ツールを使用して、オブジェクトストレージデバイス (OSD) の削除プロセスを自動化できます。これは、OSD の削除中に発生する可能性のあるデータ損失を回避するのに役立ちます。

前提条件

  • OpenShift Data Foundation コマンドラインインターフェイス (CLI) ツールをダウンロードします。Data Foundation CLI ツールを使用すると、ターミナルから Data Foundation 環境を効果的に管理およびトラブルシューティングできます。互換性のあるバージョンを見つけて、カスタマーポータル から CLI ツールをダウンロードできます。

手順

  1. 削除する必要がある OSD を特定します。削除が必要な OSD は CrashLoopBackOff または Error の状態です。

    $ oc get -n openshift-storage pods -l app=rook-ceph-osd -o wide
    Copy to Clipboard Toggle word wrap

    出力例:

    rook-ceph-osd-0-6d77d6c7c6-m8xj6    0/1    CrashLoopBackOff    0    24h   10.129.0.16   compute-2   <none>           <none>
    Copy to Clipboard Toggle word wrap
  2. 以下のコマンドを実行して OSD 0 を削除します。

    $ odf purge-osd 0
    Copy to Clipboard Toggle word wrap
  3. [オプション] OSD の削除が配置グループ (PG) のステータスに影響する場合は、yes-force-destroy-osd と入力します。
  4. コマンド出力の最後の行に cephosd: completed removal of OSD 0 が含まれていることを確認します。
  5. 対応するデプロイメントが削除されていることを確認します。

    $ oc get deployment rook-ceph-osd-0
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る