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
)。 そのファイルに以下の設定を追加します。
<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 ワークロードの考慮事項 を参照してください。