ceph块存储rbd常用操作
块存储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