9.5. Ceph BlueStore OSD の追加
本セクションでは、BlueStore バックエンドオブジェクトストアを使用して新たな Ceph OSD ノードをインストールする方法を説明します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
デフォルトでは、新しい OSD ノードを、(デフォルトでは
/etc/ansible/hosts
にある) Ansible インベントリーファイルの[osds]
セクションに追加します。[osds] node1 node2 node3 HOST_NAME
以下を置き換えます。
-
HOST_NAME
は、OSD ノードの名前に置き換えます。
例
[osds] node1 node2 node3 node4
-
/usr/share/ceph-ansible
ディレクトリーに移動します。[user@admin ~]$ cd /usr/share/ceph-ansible
host_vars
ディレクトリーを作成します。[root@admin ceph-ansible] mkdir host_vars
新規に追加された OSD の設定ファイルを
host_vars
に作成します。[root@admin ceph-ansible] touch host_vars/HOST_NAME.yml
以下を置き換えます。
-
HOST_NAME
を、新しく追加された Ceph ノードのホスト名に置き換えます。
例
[root@admin ceph-ansible] touch host_vars/node4.yml
-
新規作成されたファイルに以下の設定を追加します。
osd_objectstore: bluestore
注記すべての OSD に BlueStore を使用するには、
osd_objectstore:bluestore
をgroup_vars/all.yml
ファイルに追加します。host_vars/HOST_NAME.yml
で BlueStore OSD を設定します。構文
lvm_volumes: - data: DATALV data_vg: DATAVG
以下を置き換えます。
-
DATALV
を、データ論理ボリューム名に置き換えます。 -
DATAVG
を、データ論理ボリュームグループ名に置き換えます。
例
lvm_volumes: - data: data-lv1 data_vg: vg1
-
オプション。
block.wal
とblock.db
を専用の論理ボリュームに保存する場合は、host_vars/HOST_NAME.yml
ファイルを以下のように編集します。lvm_volumes: - data: DATALV wal: WALLV wal_vg: VG db: DBLV db_vg: VG
以下を置き換えます。
- DATALV を、データが含まれる論理ボリュームに置き換えます。
- WALLV を、write-ahead-log が含まれる論理ボリュームに置き換えます。
- WALLV を、WAL または DB デバイス、またはその両方の論理ボリュームが含まれるボリュームグループに置き換えます。
- DBLV を、BlueStore 内部メタデータが含まれるべき論理ボリュームに置き換えます。
例
lvm_volumes: - data: data-lv3 wal: wal-lv1 wal_vg: vg3 db: db-lv3 db_vg: vg3
注記lvm_volumes:
をosd_objectstore: bluestore
と一緒に使用する場合は、lvm_volumes
の YAML 辞書には少なくともデータ
が含まれている必要があります。wal
またはdb
を定義する際には、LV 名と VG 名の両方が必要になります (db
とwal
は必要ありません)。これにより、データのみ、データおよび wal、データおよび wal および db、またはデータおよび db の 4 つの組み合わせを使用できます。データは、生のデバイス、論理ボリューム、またはパーティションにすることができます。wal
およびdb
は、論理ボリュームまたはパーティションにすることができます。生のデバイスまたはパーティションのceph-volume
を指定すると、その上に論理ボリュームが配置されます。注記現在、
ceph-ansible
は、ボリュームグループまたは論理ボリュームを作成しません。Anisble Playbook を実行する前に、これを実行する必要があります。オプション:
group_vars/all.yml
ファイルでblock.db
のデフォルトサイズをオーバーライドできます。構文
ceph_conf_overrides: osd: bluestore_block_db_size: VALUE
例
ceph_conf_overrides: osd: bluestore_block_db_size: 24336000000
注記bluestore_block_db_size
の値は 2 GB より大きくする必要があります。group_vars/all.yml
ファイルを開いて編集し、osd_memory_target
オプションのコメント設定を解除します。OSD が消費するメモリー容量に応じて値を調整します。注記osd_memory_target
オプションのデフォルト値は4000000000
( 4 GB) です。このオプションは、メモリー内の BlueStore キャッシュをピニングします。重要osd_memory_target
オプションは、BlueStore がサポートする OSD にのみ適用されます。以下の Ansible Playbook を実行します。
[user@admin ceph-ansible]$ ansible-playbook site.yml
Ceph Monitor ノードから、新規 OSD が正常に追加されたことを確認します。
[root@mon ~]# ceph osd tree