Ceph分布式存储的搭建(增加mon节点、模拟osd节点故障恢复)

一、Ceph分布式存储

1.1、Ceph文件系统简述

  • 圣克鲁兹加利福尼亚大学的Sage Weil在2003年开发CEPH,CEPH是一个开源的项目,其可大规模扩展、高性能并且无单点故障的分布式存储系统。从一开始它就运行在通用的商用的硬件上,具有高度的可伸缩性,容量可扩展至EB级别,甚至更大。

  • ceph是一种开源存储软件。 底层实现了对象存储,并以此为基础对外提供对象存储接口、块存储接口、文件级存储接口。

1.2、Ceph的优点

  • 1.CRUSH算法,CRUSH在一致性哈希基础上很好的考虑了容灾域的隔离,能够实现各类负载的副本放置规则,例如跨机房、机架感知等。同时, CRUSH算法支持副本和EC两种数据冗余方式,还提供了四种不同类型的Bucket(Uniform, List, Tree, Straw),充分考虑了实际生产过程中硬件的迭代式部署方式,虽然实际生产中大多数情况下的都是只用了一种Straw。

  • 2.统一存储架构
    由于云计算的发展,RADOS出色而又简洁的接口,非常高效的支持分布式块存储RBD和分布式对象存储RADOS GateWay。由于RBD和RADOS GateWay的简单设计无需考虑,容灾备份、横向扩展、负载均衡等分布式架构的负载因素。所以受到社区的认可,并成为openstack的底层存储方式。

  • 3.强大且丰富的功能
    CEPH的功能,从分布式系统最基本的横向扩展、动态伸缩、冗余容灾、负载平衡等,到生产环境环境中非常实用的滚动升级、多存储池、延迟删除等几乎什么都能做。所以受到云计算等企业的青睐。但是也有CEPHfs虽然有快照、纠错码、跨存储池等功能,却因为一直收到忽视,无法用在生产环境中。

二、Ceph架构和名称解释

2.1、Ceph架构

在这里插入图片描述

  • RADOS:代表了CEPH集群中的硬件和软件的集合。
  • RGW、RBD、CEPH FS代表了三种客户端:RGW代表了对象存储的网关,即对象存储接口。RBD代表了块存储的接口。CEPH FS代表了文件系统存储的接口。用户只有通过这三种接口才能将数据存储在RADOS中。

2.2、Ceph集群组件

  • 1.OSD:OSD对象存储进程,每块硬盘拥有一个osd进程,管理数据的副本、恢复和负载均衡等,并且向mon组件提供底层监控信息。
  • 2.CEPH-mgr:用于收集ceph集群状态、运行指标,比如存储利用率、当前性能指标和系统负载。mgr组件实现高可用至少需要2个作为主备。
  • 3.MDS:在存储时存储数据的元信息,用于文件系统存储。对象存储和块存
### Ceph分布式存储系统搭建教程 #### 基础环境准备 在所有节点上安装必要的基础工具,这是构建Ceph集群的第一步。通过以下命令可以完成这些工具的安装: ```bash dnf install -y python3 python3-pip tar ``` 此操作适用于基于Red Hat系列的操作系统,例如CentOS或openEuler[^1]。 #### 部署工具安装 为了简化Ceph集群的部署过程,推荐使用`ceph-deploy`工具来管理整个流程。该工具可以通过Python包管理器pip3进行安装: ```bash pip3 install ceph-deploy ``` 这一工具主要用于初始化集群、分发密钥以及配置监控节点等功能。 #### 创建Ceph集群并初始化 假设已经有一台服务器名为`storage01`作为初始节点,在这台机器上运行如下命令以创建一个新的Ceph集群: ```bash mkdir my-cluster && cd my-cluster ceph-deploy new storage01 ``` 随后编辑生成的`ceph.conf`文件,调整网络设置和其他参数以适配实际需求。完成后继续执行以下命令以安装Ceph软件到目标节点: ```bash ceph-deploy install storage01 ``` #### 添加监视器和启动服务 向新建立的集群添加第一个Monitor实例,并同步时间戳数据至其他成员节点: ```bash ceph-deploy mon create-initial ``` 此时应该能够看到基本的服务状态信息,可通过下面这条指令验证Monitors的状态是否正常工作: ```bash ceph status ``` #### 设置登录凭证与仪表盘访问 如果希望启用图形化界面方便管理和查看统计,则需先设定管理员账户密码组合。例如用户名为jx123邮箱地址设为123.com时可按下列方式输入: ```bash ceph dashboard set-login-credentials jx123 123.com ``` 注意这里仅作示范用途,请替换为自己安全可靠的认证资料[^2]。 #### 存储池定义及文件系统挂载 最后一步便是规划好具体的存储空间分配方案之后再着手于具体业务场景下的应用集成环节前还需要提前做好相应的准备工作比如预先划分若干个独立分区或者逻辑卷组等等然后再依据官方文档指导逐步推进直至最终成功上线为止。 创建一个简单的存储池供测试之用: ```bash ceph osd pool create test_pool 128 ``` 接着按照实际情况决定采用哪种类型的接口形式对外提供共享资源服务比如说NFS网关模式还是RGW对象网关之类的选择取决于项目本身的技术选型方向。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值