複数の OpenShift Data Foundation ストレージクラスターのデプロイ


Red Hat OpenShift Data Foundation 4.16

既存の OpenShift Data Foundation 内部ストレージクラスターがある場合に、外部 OpenShift Data Foundation ストレージクラスターをデプロイする方法

Red Hat Storage Documentation Team

概要

既存の OpenShift Data Foundation 内部ストレージクラスターがある場合に外部 OpenShift Data Foundation ストレージクラスターをデプロイする方法については、このドキュメントをお読みください。

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

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

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

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

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

  1. Bugzilla の Web サイトに移動します。
  2. Component セクションで、documentation を選択します。
  3. Description フィールドに、ドキュメントの改善に向けたご提案を記入してください。ドキュメントの該当部分へのリンクも記載してください。
  4. Submit Bug をクリックします。

第1章 ストレージクラスターの複数デプロイの概要

Red Hat OpenShift Data Foundation は、2 つのストレージクラスター (1 つは内部モード、もう 1 つは外部モード) をデプロイする機能を備えています。これを実現するには、最初のクラスターを openshift-storage namespace に内部クラスターとしてインストールし、2 番目のクラスターを openshift-storage-extended namespace に外部クラスターとしてインストールする必要があります。逆の順序でインストールされたクラスターは、現在サポートされていません。

サポート対象のプラットフォーム
  • ベアメタル
  • VMware VSphere
  • OpenStack
  • OpenShift Virtualization
  • IBM Cloud
  • IBM Power
  • IBM Z

第2章 複数の OpenShift Data Foundation ストレージクラスターをデプロイする準備

動的、ローカル、または外部ストレージを使用した OpenShift Data Foundation のデプロイを開始する前に、リソース要件が満たされていることを確認してください。プランニングガイドの リソース要件 のセクションを参照してください。

複数の OpenShift Data Foundation ストレージクラスターをインストールする前に、以下の点に注意してください。

  • openshift-storageopenshift-storage-extended は、排他的にサポートされる namespace です。
  • 内部ストレージクラスターは、OpenShift Data Foundation Operator の namespace に制限されます。
  • 外部ストレージクラスターは、Operator の namespace と非 Operator namespace の両方で許可されます。
  • 同じ namespace で複数のストレージクラスターはサポートされません。したがって、外部ストレージシステムは OpenShift Data Foundation の Operator ページには表示されません。Operator は openshift-storage namespace にあり、外部ストレージシステムはそこにはないためです。
  • Operator の namespace で外部ストレージクラスターを実行しているお客様は、複数のストレージクラスターを利用することはできません。
  • Multicloud Object Gateway は、Operator の namespace 内でのみサポートされます。他の namespace では無視されます。
  • RADOS Gateway (RGW) は、Operator の namespace、非 Operator namespace、またはその両方に配置できます。
  • ネットワークファイルシステム (NFS) は、少なくとも 1 つのクラスターで有効になっている限り有効になります。
  • トポロジーは、少なくとも 1 つのクラスターで有効になっている限り有効になります。
  • トポロジードメインラベルは、内部クラスターが存在する限り設定されます。
  • クラスターの Topology ビューは、OpenShift Data Foundation 内部モードのデプロイメントでのみサポートされます。
  • 複数のストレージクラスターで別々の multus 設定はサポートされません。

第3章 OpenShift Data Foundation 内部ストレージクラスターのデプロイ

OpenShift Data Foundation ストレージクラスターを内部モードでデプロイして検証するには、インフラストラクチャー別のデプロイガイド を参照してください。

第4章 OpenShift Data Foundation 外部ストレージクラスターのデプロイ

外部ストレージクラスターをデプロイして、ストレージを追加したり、現在の内部ストレージクラスターを拡張したりするには、この手順を使用してください。

前提条件

  • 内部モードでデプロイされた OpenShift Data Foundation クラスター。
  • OpenShift Container Platform と OpenShift Data Foundation の両方がバージョン 4.15 にアップグレードされている。

手順

  1. OpenShift Web コンソールで、Storage → Data Foundation → Storage Systems タブに移動します。
  2. Create StorageSystem をクリックします。
  3. Backing storage ページで、Connect an external storage platform がデフォルトで選択されています。

    1. 利用可能なオプションから、Storage platform として Red Hat Ceph Storage を選択します。
    2. Next をクリックします。
  4. セキュリティーとネットワークページで、以下を実行します。

    1. オプション: 暗号化を選択するには、Enable encryption チェックボックスをオンにします。
    2. Connection セクションで、Download Script リンクをクリックして、Ceph クラスターの詳細を抽出するための Python スクリプトをダウンロードします。
    3. Red Hat Ceph Storage (RHCS) クラスターの詳細を抽出するには、Red Hat Ceph Storage ノードで、ダウンロードした Python スクリプトを admin key を使用して実行します。

      1. RHCS ノードで以下のコマンドを実行し、利用可能な引数のリストを表示します。

        # python3 ceph-external-cluster-details-exporter.py --help
        Copy to Clipboard Toggle word wrap

        MON コンテナー内 (コンテナー化されたデプロイメント) または MON ノード (RPM デプロイメント) からスクリプトを実行することもできます。

        注記

        yum install cephadm コマンドを使用してから、cephadm コマンドを使用して、コンテナーを使用して RHCS クラスターをデプロイします。ノードへの Ceph パッケージのインストールには、yum を使用するのではなく、cephadm コマンドを使用して RHCS コンテナーイメージをプルする必要があります。詳細は、RHCS 製品ドキュメント を参照してください。

      2. RHCS クラスターから外部クラスターの詳細を取得するには、以下のコマンドを実行します。

        # python3 ceph-external-cluster-details-exporter.py \
        --rbd-data-pool-name <rbd block pool name>  [optional arguments]
        Copy to Clipboard Toggle word wrap

        以下に例を示します。

        # python3 ceph-external-cluster-details-exporter.py --rbd-data-pool-name ceph-rbd --monitoring-endpoint xxx.xxx.xxx.xxx --monitoring-endpoint-port xxxx --rgw-endpoint xxx.xxx.xxx.xxx:xxxx --run-as-user client.ocs
        Copy to Clipboard Toggle word wrap

        この例では、次のようになります。

        rbd-data-pool-name

        OpenShift Data Foundation でブロックストレージを提供するために使用される必須のパラメーターです。

        rgw-endpoint

        (オプション) このパラメーターは、Ceph Rados Gateway for OpenShift Data Foundation を介してオブジェクトストレージをプロビジョニングする場合にのみ必要です。<ip_address>:<port> の形式でエンドポイントを指定します。

        注記

        完全修飾ドメイン名 (FQDN) も <FQDN>:<PORT> フォーマットでサポートされています。

        monitoring-endpoint

        (オプション) OpenShift Container Platform クラスターから到達可能な、アクティブおよびスタンバイの mgrs の IP アドレスのコンマ区切りリストを受け入れます。指定しないと、値が自動的に入力されます。

        monitoring-endpoint-port

        (オプション) これは、--monitoring-endpoint で指定された ceph-mgr Prometheus エクスポーターに関連付けられるポートです。指定しないと、値が自動的に入力されます。

        run-as-user

        (オプション) このパラメーターは、スクリプトによって作成される Ceph ユーザーの名前を指定するために使用されます。このパラメーターを指定しないと、デフォルトのユーザー名 client.healthchecker が作成されます。新規ユーザーのパーミッションは以下のように設定されます。

        • caps: [mgr] はコマンド設定を許可します。
        • caps: [mon] は r を許可し、コマンド quorum_status を許可し、コマンド version を許可します。
        • caps: [osd] allow rwx pool=RGW_POOL_PREFIX.rgw.meta, allow r pool=.rgw.root, allow rw pool=RGW_POOL_PREFIX.rgw.control, allow rx pool=RGW_POOL_PREFIX.rgw.log, allow x pool=RGW_POOL_PREFIX.rgw.buckets.index

        その他のフラグ:

        rgw-pool-prefix

        (オプション) RGW プールの接頭辞。指定しない場合、デフォルトの接頭辞は default になります。

        rgw-tls-cert-path

        (オプション) RADOS Gateway エンドポイント TLS 証明書のファイルパス。

        rgw-skip-tls

        (オプション) このパラメーターは、自己署名証明書が提供される場合、TLS 証明書検証を無視します (非推奨)。

        ceph-conf

        (オプション) Ceph 設定ファイルの名前。

        cluster-name

        (オプション) Ceph クラスター名。

        出力 (output)

        (オプション) 出力の保存が必要なファイル。

        cephfs-metadata-pool-name

        (オプション) CephFS メタデータプールの名前。

        cephfs-data-pool-name

        (オプション) CephFS データプールの名前。

        cephfs-filesystem-name

        (オプション) CephFS ファイルシステムの名前。

        rbd-metadata-ec-pool-name

        (オプション) イレイジャーコードの RBD メタデータプールの名前。

        dry-run

        (オプション) このパラメーターは、実行されたコマンドを実行せずに出力する際に役立ちます。

        restricted-auth-permission

        (オプション) このパラメーターは、cephCSIKeyrings 認証パーミッションを特定のプールおよびクラスターに限定します。これで設定する必要がある必須フラグは rbd-data-pool-name および cluster-name です。また、CephFS ユーザー制限がある場合は、cephfs-filesystem-name フラグを渡して、パーミッションが特定の CephFS ファイルシステムに限定されるようにすることができます。

        注記

        このパラメーターは、新しいデプロイメントにのみ適用する必要があります。プールおよびクラスターごとに csi-users を限定するには、新しい csi-users とそれらの csi-users 用の新しいシークレットを作成する必要があります。

        限定された認証パーミッションの例:

        # python3 /etc/ceph/create-external-cluster-resources.py --cephfs-filesystem-name myfs --rbd-data-pool-name replicapool --cluster-name rookStorage --restricted-auth-permission true
        Copy to Clipboard Toggle word wrap

        python スクリプトを使用して生成された JSON 出力の例:

        [{"name": "rook-ceph-mon-endpoints", "kind": "ConfigMap", "data": {"data": "xxx.xxx.xxx.xxx:xxxx", "maxMonId": "0", "mapping": "{}"}}, {"name": "rook-ceph-mon", "kind": "Secret", "data": {"admin-secret": "admin-secret", "fsid": "<fs-id>", "mon-secret": "mon-secret"}}, {"name": "rook-ceph-operator-creds", "kind": "Secret", "data": {"userID": "<user-id>", "userKey": "<user-key>"}}, {"name": "rook-csi-rbd-node", "kind": "Secret", "data": {"userID": "csi-rbd-node", "userKey": "<user-key>"}}, {"name": "ceph-rbd", "kind": "StorageClass", "data": {"pool": "<pool>"}}, {"name": "monitoring-endpoint", "kind": "CephCluster", "data": {"MonitoringEndpoint": "xxx.xxx.xxx.xxx", "MonitoringPort": "xxxx"}}, {"name": "rook-ceph-dashboard-link", "kind": "Secret", "data": {"userID": "ceph-dashboard-link", "userKey": "<user-key>"}}, {"name": "rook-csi-rbd-provisioner", "kind": "Secret", "data": {"userID": "csi-rbd-provisioner", "userKey": "<user-key>"}}, {"name": "rook-csi-cephfs-provisioner", "kind": "Secret", "data": {"adminID": "csi-cephfs-provisioner", "adminKey": "<admin-key>"}}, {"name": "rook-csi-cephfs-node", "kind": "Secret", "data": {"adminID": "csi-cephfs-node", "adminKey": "<admin-key>"}}, {"name": "cephfs", "kind": "StorageClass", "data": {"fsName": "cephfs", "pool": "cephfs_data"}}, {"name": "ceph-rgw", "kind": "StorageClass", "data": {"endpoint": "xxx.xxx.xxx.xxx:xxxx", "poolPrefix": "default"}}, {"name": "rgw-admin-ops-user", "kind": "Secret", "data": {"accessKey": "<access-key>", "secretKey": "<secret-key>"}}]
        Copy to Clipboard Toggle word wrap

      3. JSON 出力を .json 拡張のあるファイルに保存します。

        注記

        OpenShift Data Foundation がシームレスに機能するには、JSON ファイルを使用してアップロードされるパラメーター (RGW エンドポイント、CephFS の詳細、RBD プールなど) が、ストレージクラスターの作成後も RHCS 外部クラスターで変更されないままであることを確認します。

      4. RHCS クラスターが以前のバージョンの OpenShift Data Foundation デプロイメントにすでに接続されているマルチテナントデプロイメントがある場合は、コマンドを実行します。

        # python3 ceph-external-cluster-details-exporter.py --upgrade
        Copy to Clipboard Toggle word wrap
    4. Browse をクリックして JSON ファイルを選択し、アップロードします。

      JSON ファイルの内容が入力され、テキストボックスに表示されます。

    5. Next ボタンをクリックします。このボタンは、.json ファイルをアップロードすると有効になります。
  5. Review and create ページで、設定の詳細を確認します。

    設定を変更するには、Back をクリックして前の設定ページに戻ります。

  6. Create StorageSystem をクリックします。

検証手順

  • Storage → Data Foundation → Storage Systems タブに移動し、すべてのストレージクラスターを表示できることを確認します。
  • 外部 OpenShift Data Foundation のすべてのコンポーネントが正常にインストールされていることを確認します。手順については、外部 OpenShift Data Foundation ストレージのデプロイの検証 を参照してください。

第5章 外部 OpenShift Data Foundation ストレージクラスターのデプロイの検証

外部ストレージとしてデプロイした OpenShift Data Foundation が正しくデプロイされていることを確認するには、このセクションを使用してください。

5.1. Pod の状態の確認

  1. OpenShift Web コンソールの左側のペインから Workloads → Pods をクリックします。
  2. Project ドロップダウンリストから openshift-storage を選択します。

    注記

    Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。

    各コンポーネントについて予想される Pod 数や、これがノード数によってどのように異なるかの詳細は、表5.1「OpenShift Data Foundation コンポーネントに対応する Pod」 を参照してください。

  3. 以下の Pod が実行中であるを確認します。

    Expand
    表5.1 OpenShift Data Foundation コンポーネントに対応する Pod
    コンポーネント対応する Pod

    OpenShift Data Foundation Operator

    • ocs-operator-* (任意のワーカーノードに 1 Pod)
    • ocs-metrics-exporter-*(任意のワーカーノードに 1 Pod)

      注記

      この Pod は openshift-storage-extended namespace にも存在する必要があります。その結果、openshift-storage namespace と openshift-storage extended namespace にそれぞれに 1 つずつ Pod が存在することになります。

    • odf-operator-controller-manager-*(任意のワーカーノードに 1 Pod)
    • odf-console-*(任意のワーカーノードに 1 Pod)
    • csi-addons-controller-manager- * (任意のワーカーノードに 1 つの Pod)

    Rook-ceph Operator

    • rook-ceph-operator-*(任意のワーカーノードに 1 Pod)

    CSI

    • cephfs

      • csi-cephfsplugin-* (各ワーカーノードに 1 Pod)
      • csi-cephfsplugin-provisioner-* (ワーカーノードに分散する 2 Pod)
    • rbd

      • csi-rbdplugin-* (各ワーカーノードに 1 Pod)
      • csi-rbdplugin-provisioner-* (ストレージノードに分散する 2 Pod)

5.2. OpenShift Data Foundation クラスターが正常であることの確認

  1. OpenShift Web コンソールで、StorageData Foundation をクリックします。
  2. Overview タブの Status カードで、Storage System をクリックし、表示されるポップアップに 2 つのストレージシステムのリンクが表示されていることを確認します。
  3. 各ストレージシステムのリンクをクリックし、次の点を確認します。

    1. Block and File タブの Status カードで、Storage Cluster に緑色のチェックマークが表示されていることを確認します。
    2. Details カードで、クラスター情報が表示されていることを確認します。

ブロックおよびファイルダッシュボードを使用した OpenShift Data Foundation クラスターの正常性については、OpenShift Data Foundation の監視 を参照してください。

5.3. Multicloud Object Gateway が正常であることの確認

  1. OpenShift Web コンソールで、StorageData Foundation をクリックします。
  2. Overview タブの Status カードで Storage System をクリックし、表示されたポップアップからストレージシステムリンクをクリックします。

    1. Object タブの Status カードで、Object ServiceData Resiliency の両方に緑色のチェックマークが表示されていることを確認します。
    2. Details カード で、Multicloud Object Gateway (MCG) 情報が表示されることを確認します。
注記

RADOS Object Gateway は、OpenShift Data Foundation を外部モードでデプロイする際に、RADOS Object Gateway エンドポイントの詳細が含まれている場合にのみ表示されます。

オブジェクトダッシュボードを使用した OpenShift Data Foundation クラスターの健全性に関する詳細は、OpenShift Data Foundation の監視 を参照してください。

5.4. ストレージクラスの作成および一覧表示の確認

  1. OpenShift Web コンソールの左側のペインから Storage → Storage Classes をクリックします。
  2. 以下のストレージクラスが OpenShift Data Foundation クラスターの作成時に作成されることを確認します。

    • ocs-external-storagecluster-ceph-rbd
    • ocs-external-storagecluster-ceph-rgw
    • ocs-external-storagecluster-cephfs
注記
  • MDS が外部クラスターにデプロイされていない場合、ocs-external-storagecluster-cephfs ストレージクラスは作成されません。
  • RGW が外部クラスターにデプロイされていない場合、ocs-external-storagecluster-ceph-rgw ストレージクラスは作成されません。

MDS および RGW の詳細は、Red Hat Ceph Storage のドキュメント を参照してください。

5.5. Ceph クラスターが接続されていることの確認

以下のコマンドを実行して、OpenShift Data Foundation クラスターが外部の Red Hat Ceph Storage クラスターに接続されているかどうかを確認します。

$ oc get cephcluster -n openshift-storage-extended
NAME                                      DATADIRHOSTPATH   MONCOUNT   AGE   PHASE       MESSAGE                          HEALTH      EXTERNAL   FSID
ocs-external-storagecluster-cephcluster                                51m   Connected   Cluster connected successfully   HEALTH_OK   true       8f01d842-d4b2-11ee-b43c-0050568fb522
Copy to Clipboard Toggle word wrap

5.6. ストレージクラスターの準備状態の確認

以下のコマンドを実行して、ストレージクラスターが準備状態にあり、External オプションが true に設定されていることを確認します。

$ oc get storagecluster -n openshift-storage-extended
NAME                          AGE   PHASE   EXTERNAL   CREATED AT             VERSION
ocs-external-storagecluster   51m   Ready   true       2024-02-28T10:05:54Z   4.15.0
Copy to Clipboard Toggle word wrap

第6章 アプリケーションワークロードの移行

Migration Toolkit for Containers を使用すると、同一のクラスターをソースとターゲットとして使用して、アプリケーションワークロードを内部モードストレージクラスから外部モードストレージクラスに移行できます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る