9.6. Ceph BlueStore をチューニングして小規模な書き込みを実現
BlueStore では、生のパーティションは bluestore_min_alloc_size
のブロックで割り当て、管理されます。デフォルトでは、bluestore_min_alloc_size
は HDD の場合は 64 KB、SSD では 4 KB になります。各チャンクの書き込みのない領域は、未加工パーティションに書き込まれる際にゼロで埋められます。これにより、小さいオブジェクトを書き込むなど、ワークロードのサイズが適切に設定されていない場合に未使用領域が無駄になる可能性があります。
書き込み増幅のペナルティーを回避できるように bluestore_min_alloc_size
を最小書き込みに一致させることを推奨します。
たとえば、クライアントが 4 KB のオブジェクトを頻繁に書き込みする場合は、ceph-ansible
を使用して OSD ノードで以下の設定を設定します。
bluestore_min_alloc_size = 4096
bluestore_min_alloc_size_ssd
設定および bluestore_min_alloc_size_hdd
設定は、それぞれ SSD および HDD に固有のものですが、bluestore_min_alloc_size
によりその設定が上書きされるため、設定する必要は必要ありません。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- OSD ノードとして新規にプロビジョニングできる新規サーバー、または
- 再デプロイできる OSD ノード。
- Ceph Monitor ノードの管理者キーリング (既存の Ceph OSD ノードを再デプロイする場合)。
手順
必要に応じて、既存の OSD ノードを再デプロイする場合は、Ansible Playbook
shrink-osd.yml
を使用してクラスターから OSD を削除します。ansible-playbook -v infrastructure-playbooks/shrink-osd.yml -e osd_to_kill=OSD_ID
例
[admin@admin ceph-ansible]$ ansible-playbook -v infrastructure-playbooks/shrink-osd.yml -e osd_to_kill=1
- 既存の OSD ノードを再デプロイする場合には、OSD ドライブを削除して、OSD を再インストールします。
- Ansible を使用して OSD プロビジョニング用のノードを準備します。準備タスクの例には、Red Hat Ceph Storage リポジトリーの有効化、Ansible ユーザーの追加、パスワードなしの SSH ログインの有効化が含まれます。
bluestore_min_alloc_size
を Ansible Playbookgroup_vars/all.yml
のceph_conf_overrides
セクションに追加します。ceph_conf_overrides: osd: bluestore_min_alloc_size: 4096
新規ノードをデプロイする場合は、これを Ansible インベントリーファイル (通常は
/etc/ansible/hosts
) に追加します。[osds] OSD_NODE_NAME
例
[osds] osd1 devices="[ '/dev/sdb' ]"
- 既存の OSD を再デプロイする場合は、Ceph Monitor ノードの管理キーリングファイルを OSD をデプロイするノードにコピーします。
Ansible を使用して OSD ノードをプロビジョニングします。
ansible-playbook -v site.yml -l OSD_NODE_NAME
例
[admin@admin ceph-ansible]$ ansible-playbook -v site.yml -l osd1
Playbook が完了したら、
ceph daemon
コマンドを使用して設定を確認します。ceph daemon OSD.ID config get bluestore_min_alloc_size
例
[root@osd1 ~]# ceph daemon osd.1 config get bluestore_min_alloc_size { "bluestore_min_alloc_size": "4096" }
bluestore_min_alloc_size
が 4096 バイトに設定されていることがわかります。これは 4 KiB に相当します。
関連情報
- 詳細は、Red Hat Ceph Storage インストールガイド を参照してください。