基本操作
#查看集群状态ceph -s#查看健康详情ceph health detail#查看所有的配置属性ceph-conf -D #查看容量使用ceph df ceph df detail#查看pg组的映射信息ceph pg dump
文件系统
#确保 Ceph 存储集群在运行,且处于 active + clean 状态。同时,确保至少有一个 Ceph 元数据服务器在运行#需要先创建两个存储池,一个用来存数据,一个存元数据ceph osd pool create cephfs_data 16ceph osd pool create cephfs_metadata 16#创建文件系统 ceph fs new cephfs cephfs_metadata cephfs_data#查看文件系统ceph fs ls#查看mds状态 ceph mds stat#,创建密钥文件,将admint用户的密钥复制到一个文件中tee admin.secret <<-EOFAQCj2YpRiAe6CxAA7/ETt7Hcl9IyxyYciVs47w==EOF#把 Ceph FS 挂载为内核驱动。#挂载 Ceph 存储集群默认需要认证,所以挂载时需要指定用户名 name 和创建密钥文件一节中创建的密钥文件 secretfile ,例如:mkdir /mnt/cephfsmount -t ceph 192.168.189.133:6789:/ /mnt/cephfs -o name=admin,secretfile=admin.secret
块设备
rbd create -p ceph-pool --image rbd-demo.img --size 10Grbd create ceph-pool/image rbd-demo.img --size 10G#查看rbd -p ceph-pool lsrbd info ceph-pool/rbd-demo.img#删除rbd rm ceph-pool/rbd-demo.img#禁用 exclusive-lock object-map fast-diff deep-flatterbd feature disable ceph-pool/rbd-demo.img exclusive-lock object-map fast-diff deep-flatte#映射rbd map ceph-pool/rbd-demo.img#查看rbd device list#格式化文件系统mkfs.ext4 /dev/rbd0#查看lsblk#创建目录mkdir /mnt/rbd-demo#挂载mount /dev/rbd0 /mnt/rbd-demo#扩容 扩容设备rbd resize ceph-pool/rbd-demo.img --size 10G#查看文件系统blkid#文件系统扩容resize2fs /dev/rbd0
#创建2G大小的块设备image,data为存储池rbd create data/foo --size 2048#查看存储池中的块设备rbd -p data ls#查看设备信息rbd info data/foo#将块设备image映射为一个物理磁盘,设备名/dev/rbd/data/foo,会链接到自动分配的名字上如:/dev/rbd0rbd map data/foo#查看设备rbd device listlsblk#格式化文件系统mkfs.xfs /dev/rbd/data/foo#挂载mkdir /mnt/foomount /dev/rbd/data/foo /mnt/foo
资源池
#查看资源池ceph osd lspools#创建资源池ceph osd pool create ceph-pool 64 64#查看池的pg和pgpceph osd pool get .rgw.root pg_numceph osd pool get .rgw.root pgp_num#查看副本数ceph osd pool get data size#设置副本数ceph osd pool set data size 2
MON
#添加多个mon节点[ceph-node-1]ceph-deploy mon add ceph-node-2ceph-deploy mon add ceph-node-3#查看ceph quorum_status --format json-prettyceph mon statceph -sceph mon dump#添加mgr节点ceph-deploy mgr create ceph-node-2 ceph-node-3
OSD
#查看osd的状态ceph osd tree#将osd踢出集群ceph osd out osd.0ceph osd out <ids> [<ids> ..]#将osd加入集群ceph osd in osd.0ceph osd in <ids> [<ids> ..]#删除osdceph osd rm osd.1 osd.2#删除osd认证密钥ceph auth del osd.1 #删除 CRUSH 图的对应 OSD 条目,它就不再接收数据了ceph osd crush rm osd.1#清楚磁盘中的内容wipefs -af /dev/sdb#擦除ceph osd 的分区ceph-volume lvm zap /dev/sdb#创建osdceph-deploy osd create ceph-node-2 --data /dev/vdb
密钥
#生成管理员密钥环,生成 client.admin 用户并加入密钥环。ceph-authtool -C /tmp/ceph.client.admin.keyring -g -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow rwx'#创建监视器集群所需的密钥环、并给它们生成密钥。ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'