塊存儲rbd常用操作
查看集群狀態
ceph -s
ceph health detail
Ceph osd tree #查看節點狀態
Ceph df #查看bucket實際文件的空間,和包括副本的占用的總空間
ceph osd pool get test-pool size 查看副本數
ceph osd pool set test-pool size 1 設置副本數
pool狀態:
ceph df # 查看當前存儲的統計信息
ceph osd lspools #查看當前的存儲池列表
rbd ls pool-name #查看存儲池pool-name中的image列表
rbd info pool-name/image1 #查看image1的詳細信息
rados listwatchers -p pool-name rbd_header.imageid #查看哪個機器掛載了
塊存儲快照的操作:
rbd snap create pool-name/image1@image1_snap # 創建image1的快照
rbd snap list pool-name/image1 # 列出image1的所有快照
rbd info pool-name/image1@image1_snap # 查看快照的詳細信息
osd均衡:
ceph osd getmap -o osdmap
osdmaptool osdmap --upmap osdmap.new --upmap-pool cephfs_data --upmap-max 100 --upmap-deviation 1
參數:
--upmap-pool cephfs_data 指定pool
--upmap-max 100 指定次數,可以寫成500
source osdmap.new
查看osdmap命令
https://www.cnblogs.com/sisimi/p/7737177.html
客戶端塊存儲的操作:
rbd showmapped # 查看掛載了哪寫塊存儲
rbd unmap /dev/rbd0 #卸載
客戶端擴容ceph鏡像:
1.找到image信息(客戶端)
rbd showmapped # 列出poolname和image id
id pool image snap device
0 rbd_sb_bgp_k8s csi-vol-e88c4619-e803-11ea-80f9-421d829b2544 - /dev/rbd0
2.擴容操作(ceph節點操作)
rbd resize pool/image_id --size 300G #擴容,如果是縮容,會提示加 --allow-shrink參數
resize2fs /dev/rbd0
新虛機節點掛載塊存儲參考:https://www.cnblogs.com/varden/p/13914454.html
#查看某個pool所有image size,
空閑的imageid,打印出 havenowatchers
[root@ceph-node6 tmp]# more check_pools_images.sh
#!/bin/bas
poolname="rbd_bgp_k8s"
rbd ls $poolname >image_name
for i in `cat image_name|awk '{print $1}'`
do
echo === $i ===
size=$(rbd info -p $poolname $i|grep size)
echo $size
headerid=$(rbd info -p $poolname $i|grep id|sed 's/id/rbd_header/'|sed 's/ //')
rados listwatchers -p $poolname $headerid|grep watcher || echo "$I havenowatchers"
done