第3章 既存の Ceph Storage Cluster のオーバークラウドとの統合


本章では、オーバークラウドを作成して、既存の Ceph Storage Cluster と統合する方法について説明します。オーバークラウドの作成方法と既存の Ceph Storage Cluster との統合方法に関する説明はいずれも、「2章Ceph Storage ノードでのオーバークラウドの作成」を参照してください。

本章のシナリオでは、オーバークラウドは 6 台のノードで構成されます。

  • 高可用性のコントローラーノード 3 台
  • コンピュートノード 3 台

director は、別個の Ceph Storage Cluster と独自のノードをオーバークラウドに統合します。このクラスターは、オーバークラウドから独立して、管理されます。たとえば、Ceph Storage Cluster は、OpenStack Platform director ではなく Ceph 管理ツールを使用してスケーリングします。

すべての OpenStack マシンは、電源管理に IPMI を使用したベアメタルマシンです。director により Red Hat Enterprise Linux 7 のイメージが各ノードにコピーされるため、これらのノードではオペレーティングシステムは必要ありません。

director は、イントロスペクションおよびプロビジョニングプロセス中に、プロビジョニングネットワークを使用してコントローラーノードとコンピュートノードと通信します。すべてのノードは、ネイティブの VLAN 経由でネットワークに接続します。この例では、以下の IP アドレスの割り当てで、プロビジョニングサブネットとして 192.0.2.0/24 を使用します。

Expand
ノード名IP アドレスMAC アドレスIPMI IP アドレス 

director

192.0.2.1

aa:aa:aa:aa:aa:aa

  

コントローラー 1

定義済みの DHCP

b1:b1:b1:b1:b1:b1

192.0.2.205

 

コントローラー 2

定義済みの DHCP

b2:b2:b2:b2:b2:b2

192.0.2.206

 

コントローラー 3

定義済みの DHCP

b3:b3:b3:b3:b3:b3

192.0.2.207

 

コンピュート 1

定義済みの DHCP

c1:c1:c1:c1:c1:c1

192.0.2.208

 

コンピュート 2

定義済みの DHCP

c2:c2:c2:c2:c2:c2

192.0.2.209

 

コンピュート 3

定義済みの DHCP

c3:c3:c3:c3:c3:c3

192.0.2.210

 

3.1. 既存の Ceph Storage Cluster の設定

  1. お使いの環境に適した Ceph クラスターに以下のプールを作成します。

    • volumes: OpenStack Block Storage (cinder) のストレージ
    • images: OpenStack Image Storage (glance) のストレージ
    • vms: インスタンスのストレージ
    • backups: OpenStack Block Storage Backup (cinder-backup) のストレージ
    • metrics: OpenStack Telemetry Metrics (gnocchi) のストレージ

      以下のコマンドは指標として使用してください。

      [root@ceph ~]# ceph osd pool create volumes PGNUM
      [root@ceph ~]# ceph osd pool create images PGNUM
      [root@ceph ~]# ceph osd pool create vms PGNUM
      [root@ceph ~]# ceph osd pool create backups PGNUM
      [root@ceph ~]# ceph osd pool create metrics PGNUM
      Copy to Clipboard Toggle word wrap

      PGNUM配置グループ の数に置き換えます。1 OSD につき 100 程度を推奨します。たとえば、OSD の合計数を 100 で乗算して、レプリカ数で除算します (osd pool default size)。適切な値を判断するには Ceph Placement Groups (PGs) per Pool Calculator を使用することを推奨します。

  2. Ceph クラスターに、以下のケーパビリティーを指定して client.openstack ユーザーを作成します。

    • cap_mon: allow r
    • cap_osd: allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rwx pool=images, allow rwx pool=backups, allow rwx pool=metrics

      以下のコマンドは指標として使用してください。

      [root@ceph ~]# ceph auth add client.openstack mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rwx pool=images, allow rwx pool=backups, allow rwx pool=metrics'
      Copy to Clipboard Toggle word wrap
  3. 次に、client.openstack ユーザー向けに作成された Ceph client key をメモします。

    [root@ceph ~]# ceph auth list
    ...
    client.openstack
    	key: AQDLOh1VgEp6FRAAFzT7Zw+Y9V6JJExQAsRnRQ==
    	caps: [mon] allow r
    	caps: [osd] allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rwx pool=images, allow rwx pool=backups, allow rwx pool=metrics
    ...
    Copy to Clipboard Toggle word wrap

    ここでの key の値は (AQDLOh1VgEp6FRAAFzT7Zw+Y9V6JJExQAsRnRQ==)、Ceph のクライアントキーです。

  4. 最後に、Ceph Storage Cluster の file system ID をメモします。この値は、クラスターの設定ファイルにある fsid の設定で指定されています ([global] セクションの配下)。

    [global]
    fsid = 4b5c8c0a-ff60-454b-a1b4-9747aa737d19
    ...
    Copy to Clipboard Toggle word wrap
    注記

    Ceph Storage Cluster の設定ファイルに関する詳しい情報は、『Red Hat Ceph Storage Configuration Guide』「Configuration Reference」を参照してください。

Ceph クライアントキーおよびファイルシステム ID はいずれも、「既存の Ceph Storage Cluster との統合の有効化」で後ほど使用します。

3.2. stack ユーザーの初期化

stack ユーザーとして director ホストにログインし、以下のコマンドを実行して director の設定を初期化します。

$ source ~/stackrc
Copy to Clipboard Toggle word wrap

このコマンドでは、director の CLI ツールにアクセスする認証情報が含まれる環境変数を設定します。

3.3. ノードの登録

ノード定義のテンプレート (instackenv.json) は JSON ファイル形式で、ノード登録用のハードウェアおよび電源管理の情報が含まれています。以下に例を示します。

{
    "nodes":[
        {
            "mac":[
                "bb:bb:bb:bb:bb:bb"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.205"
        },
        {
            "mac":[
                "cc:cc:cc:cc:cc:cc"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.206"
        },
        {
            "mac":[
                "dd:dd:dd:dd:dd:dd"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.207"
        },
        {
            "mac":[
                "ee:ee:ee:ee:ee:ee"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.208"
        }
        {
            "mac":[
                "ff:ff:ff:ff:ff:ff"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.209"
        }
        {
            "mac":[
                "gg:gg:gg:gg:gg:gg"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.0.2.210"
        }
    ]
}
Copy to Clipboard Toggle word wrap

テンプレートの作成後に、stack ユーザーのホームディレクトリー (/home/stack/instackenv.json) にファイルを保存してから、director にインポートします。これには、以下のコマンドを実行します。

$ openstack baremetal import --json ~/instackenv.json
Copy to Clipboard Toggle word wrap

このコマンドでテンプレートをインポートして、テンプレートから director に各ノードを登録します。

カーネルと ramdisk イメージを全ノードに割り当てます。

$ openstack baremetal configure boot
Copy to Clipboard Toggle word wrap

director でのノードの登録、設定が完了しました。

3.4. ノードのハードウェアの検査

ノードの登録後には、各ノードのハードウェア属性を検査します。各ノードのハードウェア属性を検査するには、以下のコマンドを実行します。

$ openstack baremetal introspection bulk start
Copy to Clipboard Toggle word wrap
重要

このプロセスが最後まで実行されて正常に終了したことを確認してください。ベアメタルの場合には、通常 15 分ほどかかります。

3.5. ノードの手動でのタグ付け

各ノードのハードウェアを登録、検査した後には、特定のプロファイルにノードをタグ付けします。これらのプロファイルタグによりノードとフレーバーが照合され、フレーバーがデプロイメントロールに割り当てられます。

ノード一覧を取得して UUID を識別します。

$ ironic node-list
Copy to Clipboard Toggle word wrap

特定のプロファイルにノードを手動でタグ付けする場合には、各ノードの properties/capabilities パラメーターに profile オプションを追加します。たとえば、2 台のノードをタグ付けしてコントローラープロファイルとコンピュートプロファイルをそれぞれ使用するには、以下のコマンドを実行します。

$ ironic node-update 1a4e30da-b6dc-499d-ba87-0bd8a3819bc0 add properties/capabilities='profile:control,boot_option:local'
$ ironic node-update 6faba1a9-e2d8-4b7c-95a2-c7fbdc12129a add properties/capabilities='profile:control,boot_option:local'
$ ironic node-update 5e3b2f50-fcd9-4404-b0a2-59d79924b38e add properties/capabilities='profile:control,boot_option:local'
$ ironic node-update 484587b2-b3b3-40d5-925b-a26a2fa3036f add properties/capabilities='profile:compute,boot_option:local'
$ ironic node-update d010460b-38f2-4800-9cc4-d69f0d067efe add properties/capabilities='profile:compute,boot_option:local'
$ ironic node-update d930e613-3e14-44b9-8240-4f3559801ea6 add properties/capabilities='profile:compute,boot_option:local'
Copy to Clipboard Toggle word wrap

profile オプションを追加すると、適切なプロファイルにノードをタグ付けします。

注記

手動でのタグ付けの代わりに、Automated Health Check (AHC) ツールを使用し、ベンチマークデータに基づいて、多数のノードに自動でタグ付けします。

3.6. 既存の Ceph Storage Cluster との統合の有効化

stack ユーザーのホームディレクトリー内のディレクトリーに /usr/share/openstack-tripleo-heat-templates/environments/puppet-ceph-external.yaml のコピーを作成します。

[stack@director ~]# mkdir templates
[stack@director ~]# cp /usr/share/openstack-tripleo-heat-templates/environments/puppet-ceph-external.yaml ~/templates/.
Copy to Clipboard Toggle word wrap

このファイルを編集して、下記のパラメーターを設定します。

  • 絶対パスに CephExternal のリソース定義を設定します。
OS::TripleO::Services::CephExternal: /usr/share/openstack-tripleo-heat-templates/puppet/services/ceph-external.yaml
Copy to Clipboard Toggle word wrap
  • Ceph Storage 環境の情報を使用して、以下の 3 つのパラメーターを設定します。

    • CephClientKey: Ceph Storage Cluster の Ceph クライアントキー。これは、「既存の Ceph Storage Cluster の設定」で先ほど取得した key の値です (例: AQDLOh1VgEp6FRAAFzT7Zw+Y9V6JJExQAsRnRQ==)。
    • CephExternalMonHost: Ceph Storage Cluster の全 MON ホストの IP をコンマ区切りにしたリスト
    • CephClusterFSID: Ceph Storage Cluster のファイルシステム ID。これは、「既存の Ceph Storage Cluster の設定」で先ほど取得した Ceph Storage Cluster の設定ファイルにある fsid の値です (例: 4b5c8c0a-ff60-454b-a1b4-9747aa737d19)。
  • 必要な場合は、以下のパラメーターと値を使用して、OpenStack プールとクライアントユーザーの名前を設定します。

    • CephClientUserName: openstack
    • NovaRbdPoolName: vms
    • CinderRbdPoolName: volumes
    • GlanceRbdPoolName: images
    • CinderBackupRbdPoolName: backups
    • GnocchiRbdPoolName: metrics

3.7. 以前の Red Hat Ceph Storage バージョンとの後方互換性

Red Hat OpenStack Platform が、以前のバージョン(Red Hat Ceph Storage 1.3) の外部の Ceph Storage Cluster と統合されている場合には、後方互換性を有効にする必要があります。そのためには、最初に環境ファイル (例: /home/stack/templates/ceph-backwards-compatibility.yaml) を作成して、以下の内容を記載します。

parameter_defaults:
  ExtraConfig:
    ceph::conf::args:
      client/rbd_default_features:
        value: "1"
Copy to Clipboard Toggle word wrap

「オーバークラウドの作成」に記載のとおりに、オーバークラウドのデプロイメントにこのファイルを追加します。

3.8. オーバークラウドの作成

オーバークラウドの作成には、openstack overcloud deploy コマンドに追加の引数を指定する必要があります。以下に例を示します。

$ openstack overcloud deploy --templates -e /home/stack/templates/puppet-ceph-external.yaml --control-scale 3 --compute-scale 3 --ceph-storage-scale 0 --control-flavor control --compute-flavor compute --neutron-network-type vxlan --ntp-server pool.ntp.org
Copy to Clipboard Toggle word wrap

上記のコマンドは、以下のオプションを使用します。

  • --templates: デフォルトの Heat テンプレートコレクションからオーバークラウドを作成します。
  • -e /home/stack/templates/puppet-ceph-external.yaml: 別の環境ファイルをオーバークラウドデプロイメントに追加します。この場合は、既存の Ceph Storage Cluster の設定を含むストレージ環境ファイルです。
  • --control-scale 3 : コントローラーノードを 3 台にスケーリングします。
  • --compute-scale 3: コンピュートノードを 3 台にスケーリングします。
  • --ceph-storage-scale 0: Ceph Storage ノードを 0 にスケーリングします。このように指定すると、director により Ceph Storage ノードが作成されないようになります。
  • --control-flavor control: 対象のコントローラーノードに特定のフレーバーを使用します。
  • --compute-flavor compute: コンピュートノードに特定のフレーバーを使用します。
  • --neutron-network-type vxlan: ネットワーク種別を neutron に設定します。
  • --ntp-server pool.ntp.org: NTP サーバーを設定します。
注記

オプションの完全な一覧を表示するには、以下を実行します。

$ openstack help overcloud deploy
Copy to Clipboard Toggle word wrap

詳しい情報は、『director のインストールと使用方法』ガイドの「オーバークラウドのパラメーター設定」を参照してください。

オーバークラウドの作成プロセスが開始され、director によりノードがプロビジョニングされます。このプロセスは完了するまで多少時間がかかります。オーバークラウドの作成のステータスを確認するには、stack ユーザーとして別のターミナルを開き、以下を実行します。

$ source ~/stackrc
$ heat stack-list --show-nested
Copy to Clipboard Toggle word wrap

この設定では、オーバークラウドが外部の Ceph Storage Cluster を使用するように設定します。このクラスターは、オーバークラウドから独立して、管理される点に注意してください。たとえば、Ceph Storage Cluster は、OpenStack Platform director ではなく Ceph 管理ツールを使用してスケーリングします。

3.9. オーバークラウドへのアクセス

director は、director ホストがオーバークラウドと対話するための設定と認証を行うスクリプトを生成します。このファイル (overcloudrc) は、stack ユーザーのホームディレクトリーに保存されます。このファイルを使用するには、以下のコマンドを実行します。

$ source ~/overcloudrc
Copy to Clipboard Toggle word wrap

これにより、director ホストの CLI からオーバークラウドと対話するために必要な環境変数が読み込まれます。director ホストとの対話に戻るには、以下のコマンドを実行します。

$ source ~/stackrc
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat