3.9. OSD の CRUSH 階層の設定
OSD デプロイメント中にカスタム Controlled Replication Under Scalable Hashing (CRUSH) 階層を設定して、OSD location 属性を Ceph Storage クラスター hosts 仕様に追加できます。location 属性は、OSD が CRUSH 階層内のどこに配置されるかを設定します。
location 属性は、最初の CRUSH ロケーションのみを設定します。その後の属性変更は無視されます。
手順
-
アンダークラウドノードに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。$ source ~/stackrc-
カスタム CRUSH 階層を定義する設定ファイルを作成します (例:
crush_hierarchy.yaml)。 そのファイルに以下の設定を追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<osd_host>を、OSD がデプロイされているノードのホスト名 (ceph-0など) に置き換えます。 -
<rack_num>を、OSD がデプロイメントされているラックの番号 (r0など) に置き換えます。
-
カスタム OSD レイアウトを使用して Ceph クラスターをデプロイします。
openstack overcloud ceph deploy \ deployed_metal.yaml \ -o deployed_ceph.yaml \ --osd-spec osd_spec.yaml \ --crush-hierarchy crush_hierarchy.yamlopenstack overcloud ceph deploy \ deployed_metal.yaml \ -o deployed_ceph.yaml \ --osd-spec osd_spec.yaml \ --crush-hierarchy crush_hierarchy.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Ceph クラスターは、カスタム OSD レイアウトで作成されます。
上記のサンプルファイルは、次の OSD レイアウトになります。
デバイスクラスは Ceph によって自動的に検出されますが、CRUSH ルールはプールに関連付けられています。プールは、引き続きオーバークラウドのデプロイメント中に CephCrushRules パラメーターを使用して定義および作成されます。
関連情報
詳細は、Red Hat Ceph Storage インストールガイド の Red Hat Ceph Storage ワークロードの考慮事項 を参照してください。