3.8. 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)。 そのファイルに以下の設定を追加します。
<osd_host>: root: default rack: <rack_num> <osd_host>: root: default rack: <rack_num> <osd_host>: root: default rack: <rack_num>-
<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.yaml
Ceph クラスターは、カスタム OSD レイアウトで作成されます。
上記のサンプルファイルは、次の OSD レイアウトになります。
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
-1 0.02939 root default
-3 0.00980 rack r0
-2 0.00980 host ceph-node-00
0 hdd 0.00980 osd.0 up 1.00000 1.00000
-5 0.00980 rack r1
-4 0.00980 host ceph-node-01
1 hdd 0.00980 osd.1 up 1.00000 1.00000
-7 0.00980 rack r2
-6 0.00980 host ceph-node-02
2 hdd 0.00980 osd.2 up 1.00000 1.00000
デバイスクラスは Ceph によって自動的に検出されますが、CRUSH ルールはプールに関連付けられています。プールは、引き続きオーバークラウドのデプロイメント中に CephCrushRules パラメーターを使用して定義および作成されます。
関連情報
詳細は、Red Hat Ceph Storage インストールガイド の Red Hat Ceph Storage ワークロードの考慮事項 を参照してください。