时 间:2023年6月25日
参加人:全班人员
内 容:
一、Ceph概述
是一个可扩展的分布式文件系统和对象存储系统,具有高可用性,可靠性和可扩展性,可用于存储海量数据。
Ceph的设计目标是为分布式存储提供一个简单的,易于管理的接口。它提供了强大的块存储,文件系统和对象存储功能。Ceph存储集群由许多服务器节点组成,每个节点都运行多个进程,这些进程参与文件和对象操作。
Ceph架构基于可扩展的 RADOS 分布式对象存储系统。主要组件包括:
– Monitor(监视器):负责集群状态的维护,包括 OSD 状态、PG 状态、MON 状态等。
– OSD(对象存储守护进程):负责实际的数据存储以及管理数据重复、恢复、数据平衡。
– Metadata server(元数据服务器):在 CephFS 中使用,负责元数据的存储和检索。
– RADOS Gateway(对象存储网关):提供了对 Ceph 存储集群中的对象的 HTTP REST 接口和 S3 和 Swift 对象访问协议的支持。
Ceph 的优点之一是高可用性和故障转移能力,它可以很容易地适应硬件故障或网络问题。而且 Ceph 支持在线扩容和更换硬件,这使得 Ceph 存储集群更具可扩展性。
此外,Ceph 的块存储、文件系统和对象存储功能都支持快照和克隆,支持多租户和多用户,这使得 Ceph 可以在各种应用场景下广泛使用。
总之,Ceph 是一个强大、可扩展、高可用的存储解决方案,是当前流行的物联网、云存储和大数据应用的首选技术之一。
二、Ceph 的工作原理和工作流程
在 Ceph 中,数据写入会被分为多个对象,并为每一份数据创建多个副本以确保数据可靠性和可用性。每个对象都是一个小的存储单元,其大小通常在 4KB 到 1MB 之间,每个对象都会被划分到一个或多个 PG(Placement Group)中。
PG 是一组 OSD 的逻辑集合,每个 PG 由多个 OSD 组成,每个 PG 中都会包含对象的多个备份。PG 的数量是一个可配置的参数,它对 Ceph 的存储容量、性能和可用性等方面都有影响。在数据写入时,Ceph 会根据 PG 的状态来确定最佳的对象的放置位置,从而实现负载均衡和数据冗余。
3. OSD 操作:
OSD 是 Ceph 存储集群中的最基本的存储单元,每个 OSD 都负责存储一部分对象,并且不断地监控副本的状态,保证数据的可靠性和可用性。在数据读取时,客户端会与 OSD 交互,OSD 会在可用的副本中选择一个并返回给客户端。
4. 节点间的通讯:
在 Ceph 存储集群中,MON(Monitor)和 MDS(Metadata Server)等节点也会在节点间传递数据和元数据,来实现负载均衡和数据冗余。节点间的数据交换和通讯通常基于 CRUSH 算法实现。
5. 客户端操作:
客户端通过 Ceph API 或者其他支持 Ceph 协议的网络存储设备进行数据读写,请求由客户端向 Ceph 集群的 OSD 发送请求,然后确定数据的位置,数据封装为对象的形式并在多个 OSD 上存储。
在读取时,Ceph 会从备份中选择一个进行读取。如果主副本出现故障,Ceph 会从备份中选择一个作为新的主副本。在数据写入、副本、以及读写等各个操作中,Ceph 会进行数据压缩和加密。
总之,Ceph 通过对象存储方式为分散在网络各个角落的数据提供了通用的快速、可靠的访问方式,强调数据的可靠性和可用性,提高了数据持久化和维护的数据一致性。
三、Ceph 组件包括
1. RADOS
RADOS(Reliable Autonomic Distributed Object Store)是 Ceph 存储系统的核心组件。它是一个可扩展、高性能、分布式的对象存储系统,为应用程序提供了完整的 API,支持块存储、文件系统和对象存储功能。RADOS 主要由 OSD 和 MON 两个子系统组成。
2. OSD
OSD(Object Storage Daemon)是 Ceph 存储系统中存储对象的核心组件,它负责管理物理磁盘、数据的复制和恢复、数据迁移和数据重分配等任务。在 Ceph 存储系统中,OSD 是最基本的存储单元,每个 OSD 都负责存储数据的一部分,并且不断地监测数据的状态,保证数据的可靠性和可用性。
3. MON
MON(Monitor)节点是 Ceph 存储系统中的监控节点,它负责维护集群状态、配置信息、数据位置、PG 和 OSD 的映射关系等信息,监测集群各个节点的运行状态,以便实现自动故障转移和负载均衡,确保系统的高可用性、高可靠性和高性能。
4. MDS
MDS(Metadata Server)节点是 Ceph 存储系统的元数据服务器,主要用于文件系统(CephFS)的元数据管理和查询。它负责维护文件系统的目录结构和文件属性等元数据信息,并且支持文件锁定、访问控制等功能,在分布式文件系统中实现了高性能和高可靠性。
5. RGW
RGW(RADOS Gateway)是 Ceph 存储系统的一个组件,为 Amazon S3 和 OpenStack Swift 提供了对象服务接口,支持与这些服务的互操作,同时也支持内部的 RESTful 语义的 API。
6. RBD
RBD(RADOS Block Device)是 Ceph 存储系统的块存储功能,它支持将 RADOS 对象映射为 Linux 块设备,并提供了可插拔的 QEMU、Libvirt 和 OpenStack 集成,允许将 Ceph 存储提供给云计算和虚拟机管理平台。
7. CephFS
CephFS 是 Ceph 存储系统的分布式文件系统,它支持标准的 POSIX 接口,并提供了高可用性、高扩展性、高性能和高可靠性的分布式共享文件系统。
以上是 Ceph 的一些主要组件介绍,它们各自担任着不同的角色和职责,相互协作实现了 Ceph 存储系统的各种功能。
四、安装部署
(一)架构图
用三台 CentOS 7 服务器(IP 地址为 192.168.1.10、192.168.1.11 和 192.168.1.12)构建 Ceph 存储集群,以下是可能的架构示意图:
这个架构图包括一个 Gateway 节点(192.168.1.10),两个 OSD 节点 OSD01 和 OSD02(192.168.1.11 和 192.168.1.12),以及一个 MON 节点(192.168.1.10)。每个 OSD 节点都包含一个 Ceph OSD。Gateway 与 MON 节点在同一服务器上,但在实际环境中,它们可以位于不同的服务器上。注意,除了 Gateway 以外,其他节点都是 OSD 节点和 MON 节点共存。
五、部署示例
以下是一个比较简单的使用 ceph–deploy 工具进行 Ceph 集群部署的示例步骤,假设我们使用 CentOS 7 系统部署 Ceph,且三台服务器的 IP 地址分别是 192.168.1.116,192.168.1.122 和 192.168.1.124:
1. 准备环境
在三台服务器上都执行以下操作:
3). 安装 Ceph 包
在所有节点上安装 EPEL yum 仓库,然后安装 Ceph 包:
https://download.ceph.com/rpm-jewel/el7/noarch/ceph–release-1-1.el7.noarch.rpm -y
huyang1:ssh–copy–id 192.168.1.116
2. 创建 Ceph 集群
在 Ceph 管理节点(如 192.168.1.116)上,创建一个 Ceph 集群,该集群的名称为 mycluster,使用 huyang1 作为 MON 节点。在 Ceph 管理节点(如 192.168.1.116)上执行以下命令:
编辑配置文件(ceph.conf),配置集群选项和 OSD 存储路径: vim ceph.conf
[global]
public_network = 192.168.1.0/24
# 集群名
mon host = 192.168.1.116 192.168.1.122 192.168.1.124
3. 部署 MON 节点
在 Ceph 管理节点(如 192.168.1.116)上,使用 ceph-deploy 工具在 huyang1 上部署 MON 节点:
然后将 ceph1 的 monitor key 分发到所有节点:
4. 部署 OSD 节点
在 OSD 节点(如 192.168.1.122 和 192.168.1.124)上执行以下命令:
ceph-deploy disk zap huyang2:/dev/sdb
ceph-deploy disk prepare huyang2:/dev/sdb
ceph-deploy osd create huyang2:/dev/sdb
ceph-deploy disk zap huyang3.com:/dev/sdb
5. 部署 MDS 节点
在 MDS 节点(如 192.168.1.116)上执行以下命令:
ceph-deploy mds create huyang1
6. 检查集群状态
在 Ceph 管理节点(如 192.168.1.116)上执行以下命令,检查 Ceph 集群的状态:
ceph -s
7. 继续添加 MON、OSD、MDS 节点(可选)
如果需要增加 MON、OSD 或 MDS 节点,可以将新节点添加进 hosts 文件,然后使用 ceph-deploy 工具进行操作。
以上是一个简单的 Ceph
原文地址:https://blog.csdn.net/2302_77582029/article/details/131385589
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_23568.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!