Ceph 管理

稼働中のosdに設定を適用する/設定を確認する

It's usually best practice to propagate changes to ceph.conf amongst all
nodes. In this case, it will at least need to be on the OSD nodes.

You will need to restart OSDs for it to take effect OR use ceph tell.
>From a node with admin keyring:

ceph tell osd.* injectargs '--osd_recovery_max_active 1'

To verify the settings have taken effect, use ceph --admin-daemon against a
running (or multiple running) OSD admin socket.

ceph --admin-daemon /var/run/ceph/ceph-osd..asok config show | grep recovery_max_active

Keep in mind that if set with "ceph tell", the setting will be lost upon
OSD restart, unless it exists in the ceph.conf as well.
[ceph-users] newb question: how to apply and check config

リバランシングを一時的に無効にする

https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux_openstack_platform/7/html/director_installation_and_usage/sect-rebooting-ceph

$ sudo ceph osd set noout
$ sudo ceph osd set norebalance
Cephクラスタ シャットダウン 全停止
1. Stop all vm's
2. Set osd noout
3.shutdown all servers.
Does that loo ok?

yes.

Ceph cluster shutdown | Proxmox Support Forum

noout

OSD が失敗するか、これを停止すると、CRUSH アルゴリズムが自動的に再バランスプロセスを開始して、データを残りの OSD に再分配します。
再バランスは時間がかかり、リソースも多く使用するので、トラブルシュートの間や OSD のメンテナンス時には再バランスを停止することを検討してください。これを停止するには、OSD の停止前に noout フラグを設定します。
第5章 OSD のトラブルシューティング Red Hat Ceph Storage 2 | Red Hat Customer Portal

$ ceph --version
ceph version 0.80.9 (b5a67f0e1d15385bc0d60a6da6e7fc810bde6047)

全VM停止

(VMからのI/O停止を確認)
$ ceph -w

(どこか1台で)
$ ceph osd set noout
set noout

(noout確認)
$ ceph health detail
HEALTH_WARN noout flag(s) set
noout flag(s) set

(各サーバで)
$ stop ceph-all

$ /sbin/shutdown -P now

再度起動して再開する場合は noout 解除

ceph osd unset noout