Ceph操作指导手册
1、ceph简介
Ceph是一个开源的、统一分布式存储系统(Unified Storage),提供对象存储(RADOSGW)、块存储(RBD)和文件存储(CephFS)三种接口,所有存储服务基于同一集群实现。
2、典型应用场景
场景 | 使用接口 | 案例 |
---|---|---|
云平台虚拟磁盘 | RBD | OpenStack Cinder、 K8s PV |
企业文件共享 | CephFS | 替代 NFS,支持多客户端读写 |
海量非结构化数据存储 | RGW(S3/Swift) | 图片、视频、备份归档 |
容器持久化存储 | RBD/CephFS | KubernetesCSl驱动 |
3、ceph操作指南
1.集群操作
显示Ceph集群状态信息 | ceph -s |
---|---|
列出PG状态信息 | ceph pg stat |
查看ceph存储空间 | ceph df |
列出所有客户端密钥和权限 | ceph auth list |
查看机器的监控状态 | ceph health |
查看ceph的实时运行状态 | ceph -w |
删除集群中的一个认证用户 | ceph auth del osd.0 |
查看集群健康状态细节 | ceph health detail |
显示各组件版本 | ceph versions |
查看所有OSD版本 | ceph tell osd.* version |
2.管理数据池
查看osd池 | ceph osd lspool |
---|---|
创建一个新的数据池 | ceph osd pool create mypool 128 128 |
创建pool池 | 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 |
设置存储池配额 | ceph osd pool set-quota <pool-name> max_objects <num> # 对象数量限制 ceph osd pool set-quota <pool-name> max_bytes <bytes> # 容量限制(如 10G) |
开启ceph监控 | ceph osd pool application enable vms mon |
3.管理OSD
查看osd目录树 | ceph osd tree |
---|---|
将指定OSD标记为down | ceph osd down 0 |
让编号为0的osd up | ceph osd up 0 |
将一个编号为0的osd加入集群 | ceph osd in 0 |
将指定OSD标记为in | ceph osd in <osd-number> |
将指定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的个数 | ceph osd getmaxosd |
设置最大OSD个数 | ceph osd setmaxosd 20 |
删除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 /data/output |
暂停后整个集群不再接受数据 | ceph osd pause |
开启后再次接收数据 | ceph osd unpause |
在集群中删除一个OSD | ceph osd rm 0 |
检查OSD状态 | ceph osd stat # OSD状态摘要 ceph osd dump # 详细OSD信息 |
启停OSD | ceph osd down <osd-id> # 标记OSD为down ceph osd out <osd-id> # 将OSD移出集群 ceph osd in <osd-id> # 重新加入集群 |
移除OSD | ceph osd crush remove osd.<osd-id> # 从CRUSH映射移除 ceph auth del osd.<osd-id> # 删除认证密钥 ceph osd rm <osd-id> # 删除OSD |
列出OSD状态信息 | ceph osd status |
4.管理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> |
5.Ceph-deploy工具常用命令
使用ceph-deploy工具给c1 c2节点安装ceph | ceph-deploy install c1 c2 |
---|---|
使用ceph-deploy工具创建一个集群 | ceph-deploy new ct c1 c2 |
使用ceph-deploy工具创建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管理服务 | ceph-deploy mgr create ct c1 c2 |
生成UUID | uuidgen |
6.管理mon
查看mon状态 | ceph mon stat |
---|---|
查看mon的映射信息 | ceph mon dump |
添加新Mon | ceph mon add <mon-id> <mon-ip> |
删除Mon | ceph mon remove <mon-id> |
查看mon的选举状态 | ceph quorum_status |
删除一个mon节点 | ceph mon remove node1 |
7.元数据操作
查看MDS状态 | ceph mds stat |
---|---|
查看MDS映射信息 | ceph mds dump |
删除MDS节点 | ceph mds rm 0 |
增加数据存储池 | ceph mds add_data_pool <pool_name> |
启动MDS集群 | ceph mds cluster_up |
关闭MDS集群 | ceph mds cluster_down |
查看兼容性选项 | ceph mds compat show |
删除兼容功能 | ceph mds compat rm_compat <int> |
删除不兼容功能 | ceph mds compat rm_incompat <int> |
4、总结
Ceph 是下一代分布式存储的核心解决方案,其 统一架构、无中心设计、自愈能力 使其成为云环境和大数据场景的理想存储底座。无论是构建私有云、混合云,还是处理海量非结构化数据,Ceph 都能提供高性能、高可靠的存储服务。