基本操作
#查看集群状态
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 16
ceph 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 <<-EOF
AQCj2YpRiAe6CxAA7/ETt7Hcl9IyxyYciVs47w==
EOF
#把 Ceph FS 挂载为内核驱动。
#挂载 Ceph 存储集群默认需要认证,所以挂载时需要指定用户名 name 和创建密钥文件一节中创建的密钥文件 secretfile ,例如:
mkdir /mnt/cephfs
mount -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 10G
rbd create ceph-pool/image rbd-demo.img --size 10G
#查看
rbd -p ceph-pool ls
rbd info ceph-pool/rbd-demo.img
#删除
rbd rm ceph-pool/rbd-demo.img
#禁用 exclusive-lock object-map fast-diff deep-flatte
rbd 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/rbd0
rbd map data/foo
#查看设备
rbd device list
lsblk
#格式化文件系统
mkfs.xfs /dev/rbd/data/foo
#挂载
mkdir /mnt/foo
mount /dev/rbd/data/foo /mnt/foo
资源池
#查看资源池
ceph osd lspools
#创建资源池
ceph osd pool create ceph-pool 64 64
#查看池的pg和pgp
ceph osd pool get .rgw.root pg_num
ceph 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-2
ceph-deploy mon add ceph-node-3
#查看
ceph quorum_status --format json-pretty
ceph mon stat
ceph -s
ceph mon dump
#添加mgr节点
ceph-deploy mgr create ceph-node-2 ceph-node-3
OSD
#查看osd的状态
ceph osd tree
#将osd踢出集群
ceph osd out osd.0
ceph osd out <ids> [<ids> ..]
#将osd加入集群
ceph osd in osd.0
ceph osd in <ids> [<ids> ..]
#删除osd
ceph 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
#创建osd
ceph-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 *'