一、Ceph 集群部署命令
1.1 Cephadm 初始化
# 下载 cephadm
CEPH_RELEASE=20.2.1
curl --silent --remote-name --location https://download.ceph.com/rpm-${CEPH_RELEASE}/el9/noarch/cephadm
# 初始化集群
cephadm bootstrap --mon-ip <IP> --cluster-network <CIDR> --allow-fqdn-hostname --skip-pull
1.2 安装 Ceph 客户端工具
# 安装 ceph-common
cephadm add-repo --release tentacle
apt update && apt -y install ceph-common
1.3 主机管理
# 添加主机
ceph orch host add <hostname> <IP>
ceph orch host ls
ceph orch host drain <hostname>
ceph orch host rm <hostname>
1.4 OSD 管理
# 查看可用设备
ceph orch device ls
# 添加 OSD
ceph orch daemon add osd <hostname>:/dev/<device>
# 查看 OSD 树
ceph osd tree
二、存储池管理命令
# 查看存储池列表
ceph osd pool ls
# 创建副本池
ceph osd pool create <pool_name> <pg_num> --size 3
# 设置副本数
ceph osd pool set <pool> size 2
# 删除存储池
ceph osd pool delete <pool> <pool> --yes-i-really-really-mean-it
三、RBD 块设备管理
# 创建块设备
rbd create -s 5G <pool>/<image>
# 查看块设备
rbd ls -p <pool>
# 映射块设备
rbd map <pool>/<image>
# 格式化
mkfs.ext4 /dev/rbd0
# 挂载
mount /dev/rbd0 /mnt/
四、RBD 快照管理
# 创建快照
rbd snap create <pool>/<image>@<snapname>
# 查看快照
rbd snap ls <pool>/<image>
# 回滚快照
rbd snap rollback <pool>/<image>@<snapname>
# 保护快照
rbd snap protect <pool>/<image>@<snapname>
# 克隆快照
rbd clone <pool>/<image>@<snap> <pool>/<new_image>
# Flatten
rbd flatten <pool>/<image>
五、Ceph 用户认证
# 查看所有用户
ceph auth list
# 创建用户
ceph auth add client.<user> mon 'allow r' osd 'allow rwx'
# 获取 Key
ceph auth print-key client.<user>
# 修改权限
ceph auth caps client.<user> mon 'allow rx' osd 'allow r pool=<pool>'
# 删除用户
ceph auth del client.<user>
六、CephFS 文件系统
# 创建数据池和元数据池
ceph osd pool create cephfs_data 32
ceph osd pool create cephfs_metadata 32
# 创建文件系统
ceph fs new <fs_name> cephfs_metadata cephfs_data
# 部署 MDS
ceph orch apply mds <fs_name>
# 查看文件系统
ceph fs ls
# 内核模块挂载
mount -t ceph <mon_ip>:6789,/ /mnt -o name=<user>,secret=<key>
七、快捷命令速查
| 用途 |
命令 |
| 集群状态 |
ceph -s |
| OSD 树 |
ceph osd tree |
| 创建块设备 |
rbd create -s 5G pool/image |
| 映射块设备 |
rbd map pool/image |
| 创建快照 |
rbd snap create pool/image@snap |
| 保护快照 |
rbd snap protect pool/image@snap |
| 克隆快照 |
rbd clone pool/image@snap pool/new |
| 创建用户 |
ceph auth add client.user mon 'allow r' |
| 创建 CephFS |
ceph fs new fs metadata data |