10.4. Ceph Storage ノードからの OSD の削除
この手順では、ノードから OSD を削除する方法を説明します。環境について以下を前提とします。
-
サーバー (
ceph-storage0
) には、/dev/sde
で実行している OSD (ceph-osd@4
) がある。 -
Ceph monitor サービス (
ceph-mon
) がcontroller0
で実行されている。 - ストレージクラスターの割合がほぼ完全とならないように、利用可能な OSD が十分にある。
Ceph OSD に関する詳細は、Red Hat Ceph Storage Operations Guideの Ceph OSDs を参照してください。
手順
-
ceph-storage0
に SSH 接続し、root
でログインします。 OSD サービスを無効にし、停止します。
systemctl disable ceph-osd@4 systemctl stop ceph-osd@4
[root@ceph-storage0 ~]# systemctl disable ceph-osd@4 [root@ceph-stoarge0 ~]# systemctl stop ceph-osd@4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ceph-storage0
からの接続を切断します。 -
controller0
に SSH 接続し、root
でログインします。 Ceph monitor コンテナーの名前を特定します。
docker ps | grep ceph-mon
[root@controller0 ~]# docker ps | grep ceph-mon ceph-mon-controller0 [root@controller0 ~]#
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph monitor コンテナーを有効にして、望ましくない OSD を
out
とマークします。docker exec ceph-mon-controller0 ceph osd out 4
[root@controller0 ~]# docker exec ceph-mon-controller0 ceph osd out 4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記このコマンドにより、Ceph はストレージクラスターをリバランスし、データをクラスター内の他の OSD にコピーします。クラスターは、リバランスが完了するまで、一時的に
active+clean
状態から離れます。以下のコマンドを実行し、ストレージクラスターの状態が
active+clean
になるまで待機します。docker exec ceph-mon-controller0 ceph -w
[root@controller0 ~]# docker exec ceph-mon-controller0 ceph -w
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CRUSH マップから OSD を削除して、データを受信しないようにします。
docker exec ceph-mon-controller0 ceph osd crush remove osd.4
[root@controller0 ~]# docker exec ceph-mon-controller0 ceph osd crush remove osd.4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD 認証キーを削除します。
docker exec ceph-mon-controller0 ceph auth del osd.4
[root@controller0 ~]# docker exec ceph-mon-controller0 ceph auth del osd.4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD を削除します。
docker exec ceph-mon-controller0 ceph osd rm 4
[root@controller0 ~]# docker exec ceph-mon-controller0 ceph osd rm 4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
controller0
から接続を解除します。 -
stack
ユーザーとしてアンダークラウドに SSH 接続し、CephAnsibleDisksConfig
パラメーターを定義した heat 環境ファイルを見つけます。 heat テンプレートに OSD が 4 つ含まれています。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow テンプレートを変更して
/dev/sde
を削除します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow openstack overcloud deploy
を実行してオーバークラウドを更新します。注記この例では、OSD を使用するすべてのホストから
/dev/sde
デバイスを削除していることを前提としています。すべてのノードから同じデバイスを削除しない場合は、以下に示すように heat テンプレートを更新し、異なるdevices
一覧を持つホストを定義する方法について、「異なる設定の Ceph Storage ノードへのディスクレイアウトのマッピング」を参照してください。