基本操作

  1. #查看集群状态
  2. ceph -s
  3. #查看健康详情
  4. ceph health detail
  5. #查看所有的配置属性
  6. ceph-conf -D
  7. #查看容量使用
  8. ceph df
  9. ceph df detail
  10. #查看pg组的映射信息
  11. ceph pg dump

文件系统

  1. #确保 Ceph 存储集群在运行,且处于 active + clean 状态。同时,确保至少有一个 Ceph 元数据服务器在运行
  2. #需要先创建两个存储池,一个用来存数据,一个存元数据
  3. ceph osd pool create cephfs_data 16
  4. ceph osd pool create cephfs_metadata 16
  5. #创建文件系统
  6. ceph fs new cephfs cephfs_metadata cephfs_data
  7. #查看文件系统
  8. ceph fs ls
  9. #查看mds状态
  10. ceph mds stat
  11. #,创建密钥文件,将admint用户的密钥复制到一个文件中
  12. tee admin.secret <<-EOF
  13. AQCj2YpRiAe6CxAA7/ETt7Hcl9IyxyYciVs47w==
  14. EOF
  15. #把 Ceph FS 挂载为内核驱动。
  16. #挂载 Ceph 存储集群默认需要认证,所以挂载时需要指定用户名 name 和创建密钥文件一节中创建的密钥文件 secretfile ,例如:
  17. mkdir /mnt/cephfs
  18. mount -t ceph 192.168.189.133:6789:/ /mnt/cephfs -o name=admin,secretfile=admin.secret

块设备

  1. rbd create -p ceph-pool --image rbd-demo.img --size 10G
  2. rbd create ceph-pool/image rbd-demo.img --size 10G
  3. #查看
  4. rbd -p ceph-pool ls
  5. rbd info ceph-pool/rbd-demo.img
  6. #删除
  7. rbd rm ceph-pool/rbd-demo.img
  8. #禁用 exclusive-lock object-map fast-diff deep-flatte
  9. rbd feature disable ceph-pool/rbd-demo.img exclusive-lock object-map fast-diff deep-flatte
  10. #映射
  11. rbd map ceph-pool/rbd-demo.img
  12. #查看
  13. rbd device list
  14. #格式化文件系统
  15. mkfs.ext4 /dev/rbd0
  16. #查看
  17. lsblk
  18. #创建目录
  19. mkdir /mnt/rbd-demo
  20. #挂载
  21. mount /dev/rbd0 /mnt/rbd-demo
  22. #扩容 扩容设备
  23. rbd resize ceph-pool/rbd-demo.img --size 10G
  24. #查看文件系统
  25. blkid
  26. #文件系统扩容
  27. resize2fs /dev/rbd0
  1. #创建2G大小的块设备image,data为存储池
  2. rbd create data/foo --size 2048
  3. #查看存储池中的块设备
  4. rbd -p data ls
  5. #查看设备信息
  6. rbd info data/foo
  7. #将块设备image映射为一个物理磁盘,设备名/dev/rbd/data/foo,会链接到自动分配的名字上如:/dev/rbd0
  8. rbd map data/foo
  9. #查看设备
  10. rbd device list
  11. lsblk
  12. #格式化文件系统
  13. mkfs.xfs /dev/rbd/data/foo
  14. #挂载
  15. mkdir /mnt/foo
  16. mount /dev/rbd/data/foo /mnt/foo

资源池

  1. #查看资源池
  2. ceph osd lspools
  3. #创建资源池
  4. ceph osd pool create ceph-pool 64 64
  5. #查看池的pg和pgp
  6. ceph osd pool get .rgw.root pg_num
  7. ceph osd pool get .rgw.root pgp_num
  8. #查看副本数
  9. ceph osd pool get data size
  10. #设置副本数
  11. ceph osd pool set data size 2

MON

  1. #添加多个mon节点
  2. [ceph-node-1]
  3. ceph-deploy mon add ceph-node-2
  4. ceph-deploy mon add ceph-node-3
  5. #查看
  6. ceph quorum_status --format json-pretty
  7. ceph mon stat
  8. ceph -s
  9. ceph mon dump
  10. #添加mgr节点
  11. ceph-deploy mgr create ceph-node-2 ceph-node-3

OSD

  1. #查看osd的状态
  2. ceph osd tree
  3. #将osd踢出集群
  4. ceph osd out osd.0
  5. ceph osd out <ids> [<ids> ..]
  6. #将osd加入集群
  7. ceph osd in osd.0
  8. ceph osd in <ids> [<ids> ..]
  9. #删除osd
  10. ceph osd rm osd.1 osd.2
  11. #删除osd认证密钥
  12. ceph auth del osd.1
  13. #删除 CRUSH 图的对应 OSD 条目,它就不再接收数据了
  14. ceph osd crush rm osd.1
  15. #清楚磁盘中的内容
  16. wipefs -af /dev/sdb
  17. #擦除ceph osd 的分区
  18. ceph-volume lvm zap /dev/sdb
  19. #创建osd
  20. ceph-deploy osd create ceph-node-2 --data /dev/vdb

密钥

  1. #生成管理员密钥环,生成 client.admin 用户并加入密钥环。
  2. ceph-authtool -C /tmp/ceph.client.admin.keyring -g -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow rwx'
  3. #创建监视器集群所需的密钥环、并给它们生成密钥。
  4. ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'