ceph 操作

コマンド

https://gist.github.com/pertoft/a4250bd2826a1be5f341c71c30e9e7e5

ceph -s
ceph -w
ceph health detail
ceph osd df
ceph osd tree

OSDノード停止

OSDノードがハード故障などで、一時停止する場合の手順

1. OSD停止前に、クラスタのリバランスを一時停止

ceph osd set noout
ceph osd set norebalance

https://dokuwiki.fl8.jp/01_linux/13_storage/27_ceph_osd_reboot

backfill_toofull

https://centosquestions.com/how-to-resolve-ceph-pool-getting-activeremappedbackfill_toofull/

  • 不要なデータを削除します。これは、実稼働環境のダウンタイムを回避するための短期的なソリューションです。
  • 新しい OSD ノードを追加してクラスターをスケーリングします。これは、Red Hat が推奨する長期的なソリューションです。
  • backfull_toofull に PG スタックが含まれる OSD の backfillfull の比率を増やし、復元プロセスを続行できるようにします。できるだけ早く新しいストレージをクラスターに追加するか、データを削除して、OSD がいっぱいになるのを防ぎます。

https://access.redhat.com/documentation/ja-jp/red_hat_ceph_storage/4/html/troubleshooting_guide/most-common-ceph-osd-errors

Pool の MAX AVAIL を計算する式
正確な計算式は、次のようになります。

pool.MAX AVAIL=    {osd.AVAIL−(osd.SIZE×(1−full ratio) ) }×num of osd÷pool.size

Ceph Pool の利用可能容量の計算法 - うつぼのブログ 2020

ブロックデバイス RBD 操作

rbd ls swimmingpool
rbd info swimmingpool/bar

[root@rbd-client ~]# rbd rm bar -p swimmingpool

https://access.redhat.com/documentation/ja-jp/red_hat_ceph_storage/4/html/block_device_guide/removing-a-block-device-image_block

OpenStack Cinder

ステート修正

openstack volume list

cinder reset-state --state available --attach-status detached VOLUME

https://stackoverflow.com/questions/76057696/how-can-i-fix-a-cinder-volume-stuck-in-attaching-state

OpenStack Cinder でボリュームを削除するとゼロフィル

注記
Volume の削除をリクエストした後、バックエンドでボリュームのデータ領域に対してゼロで書き込みを行います。そのため、削除に時間がかかることがあります。

https://community.cisco.com/t5/tkb-%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%B3%E3%82%BF%E3%83%BC-/cvim-openstack-%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AB%E3%81%A6-cinder-volume-%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/ta-p/4442527

ボリューム削除時にデータを0クリアする
ISCSIDriver を使っている場合、ボリュームの削除に長い時間がかかる事があります。これはボリューム削除時にボリューム全体のデータをクリアする為の書き込みを行なっているからです。

ここがヘンだよ Cinder - Japan OpenStack User Group Japan (JOSUG) openstack.jp 2012