Ceph 架构以及部署

Ceph 是一个开源的分布式存储系统,它提供了对象存储、块存储和文件系统存储。Ceph 的设计目标是高度可扩展性和高性能,同时提供无单点故障的高可用性。

Ceph 架构

Ceph 的架构主要包括以下组件:

  1. Monitor (MON)

    • Ceph Monitor 负责维护集群的状态,包括存储节点的成员信息和数据分布图。它们是Ceph集群的中枢,保证了集群的一致性和健康状态。
  2. Object Storage Daemon (OSD)

    • Ceph OSD 守护进程负责存储数据、处理数据复制、恢复、回填、重新平衡等任务。一个Ceph集群通常有多个OSD,每个OSD守护进程管理一个物理硬盘或一个逻辑卷。
  3. Metadata Server (MDS)

    • Ceph 元数据服务器用于Ceph文件系统(CephFS),它管理文件系统元数据(例如目录和文件的层次结构),使CephFS能够提供高性能的文件系统存储服务。
  4. Ceph Manager (Mgr)

    • Ceph Manager模块收集集群的状态和性能指标,提供仪表板和API来监控和管理Ceph集群。

部署Ceph

部署Ceph可以使用多种方法,例如手动部署、使用Ceph-deploy工具或Ceph-Ansible。这里介绍一种基于Ceph-Ansible的部署方法,它适合于自动化和大规模部署。

准备工作
  1. 环境准备

    • 多台服务器(至少3台)用于部署Ceph集群,确保每台服务器上安装了CentOS/RHEL或Ubuntu。
    • 配置好网络和时间同步,确保每台服务器可以相互通信。
    • 确保每台服务器上有足够的磁盘空间。
  2. 安装Ansible和Ceph-Ansible

    sudo yum install -y epel-release
    sudo yum install -y ansible
    git clone https://github.com/ceph/ceph-ansible.git
    cd ceph-ansible
    git checkout stable-7.0  # 对应Ceph版本
    
配置Ansible Inventory

创建一个Ansible Inventory文件,定义集群节点。

inventory.ini

[mons]
mon1 ansible_host=192.168.1.101
mon2 ansible_host=192.168.1.102
mon3 ansible_host=192.168.1.103

[osds]
osd1 ansible_host=192.168.1.104
osd2 ansible_host=192.168.1.105
osd3 ansible_host=192.168.1.106

[mgrs]
mgr1 ansible_host=192.168.1.107
mgr2 ansible_host=192.168.1.108

[mgrs:vars]
ceph_mgrs=${mgr1}:${mgr2}
配置Ceph-Ansible变量

group_vars 目录中创建变量文件。

group_vars/all.yml

ceph_origin: repository
ceph_repository: community
ceph_stable_release: quincy  # Ceph 7.0 对应的版本

monitor_interface: eth0  # 根据实际网络接口名修改
public_network: 192.168.1.0/24

osd_objectstore: bluestore
执行部署

执行以下命令来部署Ceph集群:

ansible-playbook -i inventory.ini site.yml

这个过程会自动执行Ceph集群的初始化和配置,包括安装软件包、配置网络、初始化Monitor、OSD、MDS和Manager等组件。

验证部署
  1. 查看Ceph集群状态

    ceph -s
    
  2. 检查集群健康状态

    ceph health
    

Ceph 客户端使用

Ceph 提供了多种存储接口,包括RADOSGW对象存储、RBD块存储和CephFS文件系统。

使用RADOSGW对象存储
  1. 安装s3cmd工具

    sudo yum install -y s3cmd
    
  2. 配置s3cmd

    s3cmd --configure
    
使用RBD块存储
  1. 创建RBD映像

    rbd create myimage --size 10240
    
  2. 映射RBD映像

    rbd map myimage
    
  3. 格式化并挂载RBD映像

    mkfs.ext4 /dev/rbd0
    mount /dev/rbd0 /mnt
    
使用CephFS文件系统
  1. 创建CephFS

    ceph fs volume create myfs
    
  2. 挂载CephFS

    mount -t ceph mon1:6789:/ /mnt/cephfs -o name=admin,secret=<admin-secret>
    

总结

Ceph 是一个强大的分布式存储系统,通过自动化部署工具如Ceph-Ansible,可以方便地部署和管理Ceph集群。Ceph 提供了多种存储接口,满足不同的存储需求。

  • 19
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

完颜振江

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值