Ceph服务管理命令
Ceph 官方文档:https://docs.ceph.com/docs/master/start/intro/
# 重启mon服务
systemctl restart ceph-mon.target
# 重启osd服务
sysetmctl restart ceph-osd.target
# 重启mgr服务
systemctl restart ceph-mgr.target
显示集群状态和信息:
# ceph帮助
ceph --help
# 显示 Ceph 集群状态信息
ceph -s
# 列出 OSD 状态信息
ceph osd status
# 列出 PG 状态信息
ceph pg stat
# 查看mon状态:
ceph mon stat
# 列出集群使用情况和磁盘空间信息
ceph df
# 列出当前 Ceph 集群中所有的用户和它们的权限
ceph auth list
管理数据池(pool)
# 查看osd池
ceph osd lspool
# 创建一个新的数据池(pool)
ceph osd pool create <pool-name> <pg-num>
# 创建pool池
## (64是PG)
ceph osd pool create vms(名称) 64
# 设置指定数据池中的属性值
ceph osd pool set <pool-name> <property> <value>
# 查看指定数据池的属性值
ceph osd pool get <pool-name> <property>
# 删除指定数据池
ceph osd pool delete <pool-name> <pool-name> --yes-i-really-really-mean-it
管理 OSD
# 查看osd目录树
ceph osd tree
# 下线osd
# 将指定 OSD 标记为 down:
ceph osd down <osd-number>
# 让编号为0的osd down掉,此时该osd不接受读写请求,但仍然活着
ceph osd down 0
# 拉起osd:
# 让编号为0的osd up,此时该osd接受读写请求
ceph osd up 0
# 将osd加入集群:
# 将一个编号为0的osd加入集群
ceph osd in 0
# 将指定 OSD 标记为 in (可用)
ceph osd in <osd-number>
# 将osd逐出集群:
# 将指定 OSD 标记为 out (不可用)
ceph osd out <osd-number>
# 将一个编号为0的osd逐出集群,此时可以做维护
ceph osd out 0
# 重新映射 CRUSH Map
ceph osd crush reweight-all
# 显示 CRUSH Map
ceph osd crush map
# 查看最大OSD的个数,默认最大是4个osd节点
ceph osd getmaxosd
# 设置最大OSD个数
ceph osd setmaxosd 20
# 删除host节点:
# 在集群中删除一个host节点
ceph osd crush rm node1
# 在指定 OSD 上运行 SMART 检查
ceph osd smart <osd-id> --test-deep
# 在指定 OSD 上运行 SMART 检查并输出结果到指定目录
ceph osd smart <osd-id> --test-deep --output /path/to/output
# 暂停OSD:
# 暂停后整个集群不再接受数据
ceph osd pause
# 开启OSD:
# 开启后再次接收数据
ceph osd unpause
# 删除OSD:
# 在集群中删除一个 OSD,可能需要先 stop 该 OSD,即 stop osd.0
ceph osd rm 0
设置副本数
# 设置指定存储池的最小副本数为 2
## poolA:存储池名称
## min_size:在写入失败时允许的最小副本数
ceph osd pool set poolA min_size 2
管理 RADOS Gateway
# 列出所有 RADOS Gateway 网关
radosgw-admin user list
# 创建一个新的 RADOS Gateway 用户
radosgw-admin user create --uid=<user-id> --display-name=<name>
# 删除指定的 RADOS Gateway 用户
radosgw-admin user rm --uid=<user-id>
Ceph-deploy工具常用命令
# 使用ceph-deploy工具给c1 c2节点安装ceph
ceph-deploy install c1 c2
# 使用ceph-deploy工具创建一个集群(ct,c1,c2三个节点),此命令需要在ceph目录中敲,一般为/etc/ceph,没有需要创建
ceph-deploy new ct c1 c2
# 使用ceph-deploy工具创建mon(在ct,c1,c2三个节点上常见mon)
ceph-deploy mon create ct c1 c2
# 使用ceph-deploy工具创建osd,并将osd加入集群中
ceph-deploy osd create ct:sdb c1:sdb c2:sdb
# 上述是同时创建3个OSD,或者也可以用下面三条命令创建
ceph-deploy create --date /dev/sdb ct
ceph-deploy create --date /dev/sdb c1
ceph-deploy create --date /dev/sdb c2
# 在管理节点分发配置文件到各个节点上去:
ceph-deploy admin ct c1 c2
# 获取秘钥key:
ceph-deploy mon create-initial
# 收集秘钥(在ct节点):
ceph-deploy gatherkeys ct
# 创建mgr管理服务(ct c1 c2三个节点):
ceph-deploy mgr create ct c1 c2
# 生成UUID:
uuidgen
# 开启ceph监控:
ceph osd pool application enable vms mon