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

posted on 2021-11-04 16:53  冰冰爱学习  阅读(842)  评论(0编辑  收藏  举报

导航