5.9. Ceph Storage または HCI ノードのアップグレードの準備
コンテナー化されたサービスにアップグレードされたため、Ceph Storage ノードのインストールと更新の方法が変わりました。Ceph Storage の設定では、ceph-ansible
パッケージ内の Playbook のセットを使用するようになりました。このパッケージはアンダークラウドにインストールします。
- 重要な影響
- ハイパーコンバージドのデプロイメントを使用している場合には、「ハイパーコンバージドノードのアップグレード」でアップグレード方法を確認してください。
- 混在型ハイパーコンバージドのデプロイメントを使用している場合には、「混在型ハイパーコンバージドノードのアップグレード」でアップグレード方法を確認してください。
手順
director の管理する Ceph Storage クラスターまたは外部の Ceph Storage クラスターを使用している場合には、
ceph-ansible
パッケージをインストールします。アンダークラウドで Ceph Tools リポジトリーを有効にします。
[stack@director ~]$ sudo subscription-manager repos --enable=rhel-7-server-rhceph-3-tools-rpms
ceph-ansible
パッケージをアンダークラウドにインストールします。[stack@director ~]$ sudo yum install -y ceph-ansible
Ceph 固有の環境ファイルを確認し、Ceph 固有の heat リソースがコンテナー化されたサービスを使用する状態にします。
director が Ceph Storage クラスターを管理する場合には、
resource_register
のリソースがdocker/services/ceph-ansible
のテンプレートをポイントする状態にします。resource_registry: OS::TripleO::Services::CephMgr: /usr/share/openstack-tripleo-heat-templates/docker/services/ceph-ansible/ceph-mgr.yaml OS::TripleO::Services::CephMon: /usr/share/openstack-tripleo-heat-templates/docker/services/ceph-ansible/ceph-mon.yaml OS::TripleO::Services::CephOSD: /usr/share/openstack-tripleo-heat-templates/docker/services/ceph-ansible/ceph-osd.yaml OS::TripleO::Services::CephClient: /usr/share/openstack-tripleo-heat-templates/docker/services/ceph-ansible/ceph-client.yaml
重要この設定は、
/usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml
の環境ファイルに記載されています。このファイルは、-e
を使用して今後すべてのデプロイメントコマンドに追加することができます。注記環境で使用する環境ファイルまたはテンプレートファイルが
/usr/share
ディレクトリーにない場合は、ファイルへの絶対パスを含める必要があります。外部 Ceph Storage クラスターの場合には、
resource_register
のリソースがdocker/services/ceph-ansible
のテンプレートをポイントする状態にします。resource_registry: OS::TripleO::Services::CephExternal: /usr/share/openstack-tripleo-heat-templates/docker/services/ceph-ansible/ceph-external.yaml
重要この設定は、
/usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible-external.yaml
の環境ファイルに記載されています。このファイルは、-e
を使用して今後すべてのデプロイメントコマンドに追加することができます。
director が管理する Ceph Storage クラスターの場合には、新しい
CephAnsibleDisksConfig
パラメーターを使用して、ディスクのマッピングの方法を定義します。以前のバージョンの Red Hat OpenStack Platform では、ceph::profile::params::osds
hieradata を使用して OSD レイアウトを定義していました。この hieradata をCephAnsibleDisksConfig
パラメーターの設定に変換します。以下の例で、Ceph ジャーナルディスクが共存する場合と共存しない場合について、hieradata をCephAnsibleDisksConfig
パラメーターの設定に変換する方法を説明します。重要osd_scenario
を設定する必要があります。osd_scenario
を設定しないままにすると、デプロイメントに失敗する場合があります。Ceph ジャーナルディスクが共存するケースで、hieradata が以下のようであれば、
parameter_defaults: ExtraConfig: ceph::profile::params::osd_journal_size: 512 ceph::profile::params::osds: '/dev/sdb': {} '/dev/sdc': {} '/dev/sdd': {}
CephAnsibleDisksConfig
パラメーターを使用して、以下のように hieradata を変換し、ceph::profile::params::osds
を{}
に設定します。parameter_defaults: CephAnsibleDisksConfig: devices: - /dev/sdb - /dev/sdc - /dev/sdd journal_size: 512 osd_scenario: collocated ExtraConfig: ceph::profile::params::osds: {}
ジャーナルがより高速な専用のデバイスにあり共存しないケースで、hieradata が以下のようであれば、
parameter_defaults: ExtraConfig: ceph::profile::params::osd_journal_size: 512 ceph::profile::params::osds: '/dev/sdb': journal: ‘/dev/sdn’ '/dev/sdc': journal: ‘/dev/sdn’ '/dev/sdd': journal: ‘/dev/sdn’
CephAnsibleDisksConfig
パラメーターを使用して、以下のように hieradata を変換し、ceph::profile::params::osds
を{}
に設定します。parameter_defaults: CephAnsibleDisksConfig: devices: - /dev/sdb - /dev/sdc - /dev/sdd dedicated_devices: - /dev/sdn - /dev/sdn - /dev/sdn journal_size: 512 osd_scenario: non-collocated ExtraConfig: ceph::profile::params::osds: {}
ceph-ansible
に使用する OSD ディスクレイアウトオプションの完全な一覧は、/usr/share/ceph-ansible/group_vars/osds.yml.sample
のサンプルファイルを参照してください。今後のデプロイメントコマンドでは、
-e
オプションを使用して新しい Ceph の設定環境ファイルを指定します。これには以下のファイルが含まれます。director の管理する Ceph Storage の場合:
-
/usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml
- Ansible ベースのディスクマッピングが含まれる環境ファイル
- Ceph Storage のカスタマイズに関するその他の環境ファイル
-
外部 Ceph Storage の場合:
-
/usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible-external.yaml
- Ceph Storage のカスタマイズに関するその他の環境ファイル
-