12.6. BlueStore 管理ツールを使用して RocksDB データベースをリシャーディングする
このリリースでは、BlueStore 管理ツールを使用してデータベースをリシャード化できます。これにより、BlueStore の RocksDB データベースを、OSD を再デプロイせずに、ある形態から別の形態に、さらに複数の列ファミリーに変換します。列ファミリーはデータベース全体と同じ機能がありますが、ユーザーは小規模なデータセットで操作し、異なるオプションを適用することができます。これは、保存されたキーの異なる有効期間を活用します。このキーは、新しいキーを作成したり既存のキーを削除せずに、変換中に移動されます。
OSD をリシャードするには 2 つの方法があります。
-
rocksdb-resharding.yml
Playbook を使用します。 - OSD を手動でリシャードします。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- オブジェクトストアが BlueStore として設定されている。
- OSD ノードがホストにデプロイされている。
- すべてのホストへ root レベルでアクセスできる。
-
ceph-common
パッケージおよびcephadm
パッケージがすべてのホストにインストールされている。
12.6.1. rocksdb-resharding.yml Playbook を使用する リンクのコピーリンクがクリップボードにコピーされました!
root ユーザーとして、管理ノードで、Playbook がインストールされている
cephadm
フォルダーに移動します。例
cd /usr/share/cephadm-ansible
[root@host01 ~]# cd /usr/share/cephadm-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Playbook を実行します。
構文
ansible-playbook -i hosts rocksdb-resharding.yml -e osd_id=OSD_ID -e admin_node=HOST_NAME
ansible-playbook -i hosts rocksdb-resharding.yml -e osd_id=OSD_ID -e admin_node=HOST_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow リシャーディングが完了したことを確認します。
リシャーディングされた OSD を停止します。
例
[ceph: root@host01 /]# ceph orch daemon stop osd.7
[ceph: root@host01 /]# ceph orch daemon stop osd.7
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD コンテナーを入力します。
例
cephadm shell --name osd.7
[root@host03 ~]# cephadm shell --name osd.7
Copy to Clipboard Copied! Toggle word wrap Toggle overflow リシャーディングを確認します。
例
[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 P
[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 P
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD を起動します。
例
[ceph: root@host01 /]# ceph orch daemon start osd.7
[ceph: root@host01 /]# ceph orch daemon start osd.7
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.6.2. OSD を手動でリシャーディングする リンクのコピーリンクがクリップボードにコピーされました!
cephadm
シェルにログインします。例
cephadm shell
[root@host01 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 管理ノードから OSD_ID とホストの詳細を取得します。
例
[ceph: root@host01 /]# ceph orch ps
[ceph: root@host01 /]# ceph orch ps
Copy to Clipboard Copied! Toggle word wrap Toggle overflow それぞれのホストに
root
ユーザーでログインし、OSD を停止します。構文
cephadm unit --name OSD_ID stop
cephadm unit --name OSD_ID stop
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
cephadm unit --name osd.0 stop
[root@host02 ~]# cephadm unit --name osd.0 stop
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 停止中の OSD デーモンコンテナーに入ります。
構文
cephadm shell --name OSD_ID
cephadm shell --name OSD_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
cephadm shell --name osd.0
[root@host02 ~]# cephadm shell --name osd.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm shell
にログインし、ファイルシステムの整合性を確認します。構文
ceph-bluestore-tool --path/var/lib/ceph/osd/ceph-OSD_ID/ fsck
ceph-bluestore-tool --path/var/lib/ceph/osd/ceph-OSD_ID/ fsck
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-0/ fsck fsck success
[ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-0/ fsck fsck success
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD ノードのシャーディングのステータスを確認します。
構文
ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-OSD_ID/ show-sharding
ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-OSD_ID/ show-sharding
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-6/ show-sharding m(3) p(3,0-12) O(3,0-13) L P
[ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-6/ show-sharding m(3) p(3,0-12) O(3,0-13) L P
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph-bluestore-tool
コマンドを実行してリシャードします。Red Hat は、コマンドで指定されたパラメーターを使用することを推奨します。構文
ceph-bluestore-tool --log-level 10 -l log.txt --path /var/lib/ceph/osd/ceph-OSD_ID/ --sharding="m(3) p(3,0-12) O(3,0-13)=block_cache={type=binned_lru} L P" reshard
ceph-bluestore-tool --log-level 10 -l log.txt --path /var/lib/ceph/osd/ceph-OSD_ID/ --sharding="m(3) p(3,0-12) O(3,0-13)=block_cache={type=binned_lru} L P" reshard
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-6/ --sharding="m(3) p(3,0-12) O(3,0-13)=block_cache={type=binned_lru} L P" reshard reshard success
[ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-6/ --sharding="m(3) p(3,0-12) O(3,0-13)=block_cache={type=binned_lru} L P" reshard reshard success
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD ノードのシャーディングのステータスを確認するには、
show-sharding
コマンドを実行します。構文
ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-OSD_ID/ show-sharding
ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-OSD_ID/ show-sharding
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-6/ show-sharding m(3) p(3,0-12) O(3,0-13)=block_cache={type=binned_lru} L P
[ceph: root@host02 /]# ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-6/ show-sharding m(3) p(3,0-12) O(3,0-13)=block_cache={type=binned_lru} L P
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm
シェルを終了します。[ceph: root@host02 /]# exit
[ceph: root@host02 /]# exit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow それぞれのホストに
root
ユーザーでログインし、OSD を起動します。構文
cephadm unit --name OSD_ID start
cephadm unit --name OSD_ID start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
cephadm unit --name osd.0 start
[root@host02 ~]# cephadm unit --name osd.0 start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow