12.6. BlueStore 管理ツールを使用して RocksDB データベースをリシャーディングする
このリリースでは、BlueStore 管理ツールを使用してデータベースをリシャード化できます。これにより、BlueStore の RocksDB データベースを、OSD を再デプロイせずに、ある形態から別の形態に、さらに複数の列ファミリーに変換します。列ファミリーはデータベース全体と同じ機能がありますが、ユーザーは小規模なデータセットで操作し、異なるオプションを適用することができます。これは、保存されたキーの異なる有効期間を活用します。このキーは、新しいキーを作成したり既存のキーを削除せずに、変換中に移動されます。
OSD をリシャードするには 2 つの方法があります。
-
rocksdb-resharding.ymlPlaybook を使用します。 - OSD を手動でリシャードします。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- オブジェクトストアが BlueStore として設定されている。
- OSD ノードがホストにデプロイされている。
- すべてのホストへ root レベルでアクセスできる。
-
ceph-commonパッケージおよびcephadmパッケージがすべてのホストにインストールされている。
12.6.1. rocksdb-resharding.yml Playbook を使用する リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとして、管理ノードで、Playbook がインストールされている
cephadmフォルダーに移動します。例
[root@host01 ~]# cd /usr/share/cephadm-ansiblePlaybook を実行します。
構文
ansible-playbook -i hosts rocksdb-resharding.yml -e osd_id=OSD_ID -e admin_node=HOST_NAME例
[root@host01 ~]# ansible-playbook -i hosts rocksdb-resharding.yml -e osd_id=7 -e admin_node=host03 ............... TASK [stop the osd] *********************************************************************************************************************************************************************************************** Wednesday 29 November 2023 11:25:18 +0000 (0:00:00.037) 0:00:03.864 **** changed: [localhost -> host03] TASK [set_fact ceph_cmd] ****************************************************************************************************************************************************************************************** Wednesday 29 November 2023 11:25:32 +0000 (0:00:14.128) 0:00:17.992 **** ok: [localhost -> host03] TASK [check fs consistency with fsck before resharding] *********************************************************************************************************************************************************** Wednesday 29 November 2023 11:25:32 +0000 (0:00:00.041) 0:00:18.034 **** ok: [localhost -> host03] TASK [show current sharding] ************************************************************************************************************************************************************************************** Wednesday 29 November 2023 11:25:43 +0000 (0:00:11.053) 0:00:29.088 **** ok: [localhost -> host03] TASK [reshard] **************************************************************************************************************************************************************************************************** Wednesday 29 November 2023 11:25:45 +0000 (0:00:01.446) 0:00:30.534 **** ok: [localhost -> host03] TASK [check fs consistency with fsck after resharding] ************************************************************************************************************************************************************ Wednesday 29 November 2023 11:25:46 +0000 (0:00:01.479) 0:00:32.014 **** ok: [localhost -> host03] TASK [restart the osd] ******************************************************************************************************************************************************************************************** Wednesday 29 November 2023 11:25:57 +0000 (0:00:10.699) 0:00:42.714 **** changed: [localhost -> host03]リシャーディングが完了したことを確認します。
リシャーディングされた OSD を停止します。
例
[ceph: root@host01 /]# ceph orch daemon stop osd.7OSD コンテナーを入力します。
例
[root@host03 ~]# cephadm shell --name osd.7リシャーディングを確認します。
例
[ceph: root@host03 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-7/ show-sharding m(3) p(3,0-12) O(3,0-13) L POSD を起動します。
例
[ceph: root@host01 /]# ceph orch daemon start osd.7