启动一个ceph进程
#启动mon进程
service ceph start mon.node1
#启动msd进程
service ceph start mds.node1
#启动osd进程
service ceph start osd.0
#查看机器的监控状态
ceph health
#查看ceph的实时运行状态
ceph -w
#检查信息状态信息
ceph -s
#查看ceph存储空间
ceph df
#删除一个节点的所有的ceph数据包
ceph-deploy purge node1
ceph-deploy purgedata node1
创建管理用户
#为ceph创建一个admin用户并为admin用户创建一个密钥,把密钥保存到/etc/ceph目录下:
ceph auth get-or-create client.admin mds 'allow' osd 'allow *' mon 'allow *' > /etc/ceph/ceph.client.admin.keyring
或
ceph auth get-or-create client.admin mds 'allow' osd 'allow *' mon 'allow *' -o /etc/ceph/ceph.client.admin.keyring
#为osd.0创建一个用户并创建一个key
ceph auth get-or-create osd.0 mon 'allow rwx' osd 'allow *' -o /var/lib/ceph/osd/ceph-0/keyring
#为mds.node1创建一个用户并创建一个key
ceph auth get-or-create mds.node1 mon 'allow rwx' osd 'allow *' mds 'allow *' -o /var/lib/ceph/mds/ceph-node1/keyring
#查看ceph集群中的认证用户及相关的key
ceph auth list
#删除集群中的一个认证用户
ceph auth del osd.0
#查看集群的详细配置
ceph daemon mon.node1 config show | more
#查看集群健康状态细节
ceph health detail
#查看ceph log日志所在的目录
ceph-conf --name mon.node1 --show-config-value log_file
mon命令
ceph mon stat#查看mon的状态信息
ceph mon dump#查看你ceph映射信息
ceph mon remove node1 #删除一个mon节点 ceph-deploy mon destroy {host-name [host-name]...}
ceph mon add node1 node1_ip #添加一个mon节点 ceph-deploy mon create {host-name [host-name]...}
mon节点的/var/lib/ceph/mon/ceph-node2/store.db文件内容一致,添加mon注意先改配置目录配置文件,再推送到所有节点
ceph-deploy --overwrite-conf config push node1 node2 node3
mds命令
ceph mds stat #查看msd状态
ceph mds dump #msd的映射信息
ceph mds rm 0 mds.node1#删除一个mds节点
ceph-deploy mds create {host-name}[:{daemon-name}] [{host-name}[:{daemon-name}] ...]
osd命令
ceph osd stat #查看osd状态
ceph osd dump #osd的映射信息
ceph osd tree#查看osd目录树
ceph osd down 0 #down掉osd.0节点
ceph osd rm 0#集群删除一个osd硬盘
ceph osd crush remove osd.4#删除标记
ceph osd getmaxosd#查看最大osd个数
ceph osd setmaxosd 10#设置osd的个数
ceph osd out osd.3#把一个osd节点逐出集群
ceph osd in osd.3#把逐出的osd加入集群
ceph osd pause#暂停osd (暂停后整个集群不再接收数据)
ceph osd unpause#再次开启osd (开启后再次接收数据)
pg命令
ceph pg stat#查看pg状态
ceph pg dump#查看pg组的映射信息
ceph pg map 0.3f#查看一个pg的map
ceph pg 0.26 query#查看pg详细信息
ceph pg dump --format plain#显示一个集群中的所有的pg统计
osd命令
ceph osd lspools#查看ceph集群中的pool数量
ceph osd pool create jiayuan 100#创建一个pool 这里的100指的是PG组
ceph osd pool delete jiayuan jiayuan --yes-i-really-really-mean-it #集群名字需要重复两次
rados df#显示集群中pool的详细信息
ceph osd pool get data pg_num #查看data池的pg数量
ceph osd pool set data target_max_bytes 100000000000000#设置data池的最大存储空间为100T(默认是1T)
ceph osd pool set data size 3 #设置data池的副本数是3
ceph osd pool set data min_size 2 #设置data池能接受写操作的最小副本为2
ceph osd pool set data pg_num 100#设置一个pool的pg数量
ceph osd pool set data pgp_num 100#设置一个pool的pgp数量
rados和rbd命令
rados lspools#查看ceph集群中有多少个pool (只是查看pool)
rados df #查看ceph集群中有多少个pool,并且每个pool容量及利用情况
rados mkpool test#创建一个pool
rados create test-object -p test#创建一个对象object
rados rm test-object-1 -p test#删除一个对象object
rados -p test ls
rbd ls pool_name#查看ceph中一个pool里的所有镜像
rbd info -p pool_name --image 74cb427c-cee9-47d0-b467-af217a67e60a #查看ceph pool中一个镜像的信息
rbd create -p test --size 10000 zhanguo#在test池中创建一个命名为zhanguo的10000M的镜像
rbd rm -p test lizhanguo #删除一个镜像
rbd resize -p test --size 20000 zhanguo #调整一个镜像的尺寸
创建一个osd
ceph-deploy disk zap {osd-server-name}:{disk-name} #擦净磁盘
ceph-deploy osd prepare {node-name}:{disk}[:{path/to/journal}]
ceph-deploy osd prepare osdserver1:sdb:/dev/ssd1
ceph-deploy osd activate {node-name}:{path/to/disk}[:{path/to/journal}]
ceph-deploy osd activate osdserver1:/dev/sdb1:/dev/ssd1
把改过的配置文件分发给集群内各主机
ceph-deploy config push {host-name [host-name]...}
CRUSH映射
ceph osd getcrushmap -o MAP #获取一个CRUSH映射
crushtool -d MAP -o MAP.TXT #反编译一个CRUSH映射
crushtool -c MAP.TXT -o MAP #编译一个CRUSH映射
ceph osd setcrushmap -i MAP #设置一个CRUSH映射
块设备的一些命令
单位为M,默认在rbd pool中
创建块设备:rbd create {image-name} --size {megabytes} --pool {pool-name}
列出块设备:rbd ls {poolname} -l
检索块信息:rbd --image {image-name} info
更改块大小:rbd resize --image {image-name} --size {megabytes}
删除块设备:rbd rm {image-name}
映射块设备:rbd map {image-name} --pool {pool-name} --id {user-name}
查看已映射块设备:rbd showmapped
取消映射:rbd unmap /dev/rbd/{poolname}/{imagename}
快照和克隆相关命令
创建快照:
rbd --pool {pool-name} snap create --snap {snap-name} {image-name}
rbd snap create {pool-name}/{image-name}@{snap-name}
快照回滚:
rbd --pool {pool-name} snap rollback --snap {snap-name} {image-name}
rbd snap rollback {pool-name}/{image-name}@{snap-name}
清除快照:
rbd --pool {pool-name} snap purge {image-name}
rbd snap purge {pool-name}/{image-name}
删除快照:
rbd --pool {pool-name} snap rm --snap {snap-name} {image-name}
rbd snap rm {pool-name}/{image-name}@{snap-name}
列出快照:
rbd --pool {pool-name} snap ls {image-name}
rbd snap ls {pool-name}/{image-name}
保护快照:
rbd --pool {pool-name} snap protect --image {image-name} --snap {snapshot-name}
rbd snap protect {pool-name}/{image-name}@{snapshot-name}
取消保护快照:
rbd --pool {pool-name} snap unprotect --image {image-name} --snap {snapshot-name}
rbd snap unprotect {pool-name}/{image-name}@{snapshot-name}
快照克隆
rbd clone {pool-name}/{parent-image}@{snap-name} {pool-name}/{child-image-name}
查看快照的克隆
rbd --pool {pool-name} children --image {image-name} --snap {snap-name}
rbd children {pool-name}/{image-name}@{snapshot-name}
快照克隆相关例子
创建快照:rbd snap create vms/yjk01@yjk01_s1
列出快照:rbd snap list --pool vms yjk01
快照回滚:rbd snap rollback vms/yjk01@yjk01_s1(先卸载已挂载目录)
删除快照:rbd snap rm vms/yjk01@yjk01_s2(单个)
清除快照:rbd snap purge vms/yjk01(所有)
保护快照:rbd snap protect vms/yjk01@yjk01_s1
取消保护:rbd snap unprotect vms/yjk01@yjk01_s1
快照克隆:rbd clone vms/yjk01@yjk01_s3 vms/yjk01_s3_clone1
查看克隆:rbd children vms/yjk01@yjk01_s3
克隆只能基于快照,并且只能快照处于保护状态,而且ceph仅支持克隆format 2映像。
来源:CSDN
作者:ty-boy
链接:https://blog.csdn.net/weixin_45313105/article/details/104022326