Ceph的工作原理及流程简述

合集下载

ceph 运维手册

ceph 运维手册

ceph 运维手册一、引言1.Ceph 简介Ceph 是一款开源的分布式存储系统,它具有高度可扩展性、性能优异、易于管理等特点。

Ceph 能够为云计算、虚拟化和企业级存储场景提供稳定、可靠的存储服务。

2.Ceph 运维手册目的本手册旨在为运维人员提供一份详细的Ceph 运维指南,帮助读者更好地理解和掌握Ceph 存储系统的部署、管理、优化和维护。

二、Ceph 架构1.组件介绍(1)Ceph Monitor(MON)Ceph Monitor 负责维护整个集群的元数据信息,包括监控OSD 节点的状态、存储池配置等。

(2)Ceph OSD 节点Ceph OSD 节点是Ceph 集群中的存储节点,负责存储数据和处理数据复制、恢复等操作。

(3)Ceph 客户端Ceph 客户端用于访问Ceph 存储系统,为应用提供存储服务。

2.架构原理Ceph 采用去中心化的设计,将数据分散存储在多个OSD 节点上,并通过Ceph Monitor 进行统一管理。

数据在OSD 节点之间自动进行复制和分布,以保证数据的可靠性和性能。

三、Ceph 运维流程1.部署Ceph 集群(1)准备环境确保服务器硬件、网络和操作系统满足Ceph 部署要求。

(2)安装和配置Ceph 组件根据Ceph 版本和集群规模,安装MON、OSD 和客户端等相关组件。

(3)配置集群参数设置集群名称、存储池、副本数等参数,以满足业务需求。

2.Ceph 集群日常运维(1)监控集群状态使用Ceph 提供的命令行工具或监控工具,定期检查集群健康状况。

(2)扩容和缩容集群根据业务需求,动态调整集群规模和存储容量。

(3)处理故障遇到故障时,及时排查并采取相应措施解决问题。

3.Ceph 存储管理(1)创建和删除存储池根据业务需求,创建和管理存储池。

(2)配置和调整存储策略根据数据特点,设置合适的存储策略,以提高存储利用率。

(3)监控存储性能定期检查存储性能,优化存储配置。

ceph分布式存储恢复数据原理

ceph分布式存储恢复数据原理

Ceph分布式存储系统是一个高可靠、高性能的分布式存储解决方案,它采用了对象存储的方式来存储和管理数据。

当数据在Ceph集群中的某个节点发生故障时,Ceph会通过数据恢复机制来保证数据的可靠性和完整性。

以下是Ceph分布式存储恢复数据的原理:1.数据冗余:Ceph通过数据冗余机制来实现数据的容错能力。

每个对象都会被分成多个数据块,并将这些数据块复制到不同的存储节点上。

默认情况下,Ceph会将每个对象的三个副本分布在不同的存储节点上,以保证数据的可靠性。

2.数据恢复:当一个存储节点发生故障时,Ceph会自动检测到节点的故障,并将故障节点上的数据块复制到其他节点上的副本进行恢复。

Ceph使用智能的恢复算法,可以根据网络状况和存储节点的负载情况来选择最佳的恢复路径,以加快数据恢复的速度。

3.故障域:Ceph支持将存储节点分组为故障域,例如机架、机柜或数据中心。

当一个故障域发生故障时,Ceph会优先选择其他故障域中的存储节点来进行数据恢复,以提高数据的可用性和可靠性。

4.副本替换:当一个存储节点永久性地离线或被删除时,Ceph会自动创建新的副本来替换故障的节点。

Ceph会根据预定义的规则来选择替代节点,并将故障节点上的数据块复制到替代节点上,以保证数据的完整性和可靠性。

5.数据平衡:Ceph会自动监测集群中各个存储节点的负载情况,并在需要时将数据块迁移或复制到其他节点上,以实现数据的均衡分布。

这样可以提高存储系统的性能和可扩展性。

总之,Ceph通过数据冗余、智能的恢复算法、故障域管理、副本替换和数据平衡等机制来保证数据的可靠性和完整性。

当一个存储节点发生故障时,Ceph会自动进行数据恢复,将故障节点上的数据复制到其他节点上,以保证数据的可用性和持久性。

ceph数据写入流程

ceph数据写入流程

ceph数据写入流程Ceph数据写入流程Ceph是一种分布式存储系统,具有高可靠性、高可扩展性和高性能等特点。

在Ceph中,数据的写入是一个复杂的流程,本文将详细介绍Ceph数据写入的流程。

1. 请求发送应用程序向Ceph发送一个写入请求。

写入请求包含要写入的数据和目标位置等信息。

2. 数据分片Ceph将接收到的数据分成多个小块,每个小块称为一个对象。

这样做是为了提高数据的可靠性和性能。

数据分片是通过Ceph的CRUSH算法来实现的,该算法可以将数据分散存储在多个存储节点上,避免了单点故障。

3. 对象映射Ceph将每个对象映射到一个特定的存储节点上。

这个映射是通过Ceph的PG映射表来实现的,PG映射表记录了每个PG (Placement Group)对应的存储节点。

4. 数据压缩和加密在数据写入之前,Ceph可以对数据进行压缩和加密。

数据压缩可以减小数据的存储空间,提高存储效率;数据加密可以保护数据的安全性,防止数据泄露。

5. 数据备份为了保证数据的可靠性,Ceph会将数据备份到多个存储节点上。

数据备份是通过Ceph的副本机制来实现的,副本机制可以在多个存储节点之间复制数据,避免了数据丢失。

6. 数据写入经过前面的准备工作,Ceph开始将数据写入存储节点。

数据写入是通过Ceph的RADOS(Reliable Autonomic Distributed Object Store)服务来实现的,RADOS服务是Ceph的核心组件,负责数据的读写操作。

7. 数据一致性Ceph保证数据的一致性是通过Ceph的PG(Placement Group)机制来实现的。

PG是Ceph中数据的基本单位,每个PG包含多个对象,这些对象可以分布在不同的存储节点上。

Ceph使用PG来管理数据的复制和恢复过程,保证数据的一致性和可靠性。

8. 写入确认当数据写入存储节点完成后,Ceph会向应用程序发送一个写入确认消息。

应用程序可以根据这个确认消息来判断数据是否成功写入。

ceph 原理

ceph 原理

ceph 原理Ceph 原理。

Ceph是一个开源的分布式存储系统,它提供了高性能、高可靠性和高扩展性的存储解决方案。

Ceph的设计理念是基于可靠的自动化管理和自愈能力,它可以有效地管理海量数据并保证数据的安全性和一致性。

本文将介绍Ceph的原理及其核心技术。

1. Ceph的架构。

Ceph的架构包括三个主要组件,RADOS(可靠自动分布式对象存储)、RBD (RADOS Block Device)和CephFS(Ceph文件系统)。

RADOS是Ceph的核心存储系统,它采用分布式存储的方式将数据存储在多个节点上,并通过数据复制和恢复机制来保证数据的可靠性。

RBD提供了块设备的存储服务,可以将块设备映射到客户端,并实现对块设备的读写操作。

CephFS是一个分布式的文件系统,可以为客户端提供文件存储服务,并支持POSIX接口。

2. Ceph的工作原理。

Ceph的工作原理基于CRUSH算法(Controlled Replication Under Scalable Hashing),它通过将数据分布到多个存储节点上,并使用智能数据复制和数据恢复机制来保证数据的可靠性和一致性。

CRUSH算法可以根据数据的特征和存储节点的状态来动态地选择最优的存储位置,从而实现数据的负载均衡和故障恢复。

3. Ceph的特点。

Ceph具有以下几个显著的特点:a. 高可靠性,Ceph通过数据的多副本复制和自动故障恢复机制来保证数据的可靠性,即使在存储节点发生故障时也能保证数据的完整性和可用性。

b. 高性能,Ceph采用并行的数据访问和分布式存储的方式来提高数据的读写性能,可以有效地支持大规模的数据访问和处理。

c. 高扩展性,Ceph的分布式存储架构可以动态地扩展存储节点和存储容量,可以满足不断增长的存储需求。

d. 自动化管理,Ceph可以自动地管理存储节点和数据的分布,可以根据存储节点的状态和负载情况来动态地调整数据的存储位置和复制策略。

Ceph分布式存储工作原理及部署介绍(转载)

Ceph分布式存储工作原理及部署介绍(转载)

Ceph分布式存储⼯作原理及部署介绍(转载)存储根据其类型,可分为块存储,对象存储和⽂件存储。

在主流的分布式存储技术中,HDFS/GPFS/GFS属于⽂件存储,Swift属于对象存储,⽽Ceph可⽀持块存储、对象存储和⽂件存储,故称为统⼀存储。

1. Ceph的主要架构<1> Ceph的最底层是RADOS(分布式对象存储系统),它具有可靠、智能、分布式等特性,实现⾼可靠、⾼可拓展、⾼性能、⾼⾃动化等功能,并最终存储⽤户数据。

RADOS系统主要由两部分组成,分别是OSD和Monitor。

<2> RADOS之上是LIBRADOS,LIBRADOS是⼀个库,它允许应⽤程序通过访问该库来与RADOS系统进⾏交互,⽀持多种编程语⾔,⽐如C、C++、Python等。

<3> 基于LIBRADOS层开发的有三种接⼝,分别是RADOSGW、librbd和MDS。

<4> RADOSGW是⼀套基于当前流⾏的RESTFUL协议的⽹关,⽀持对象存储,兼容S3和Swift。

<5> librbd提供分布式的块存储设备接⼝,⽀持块存储。

<6> MDS提供兼容POSIX的⽂件系统,⽀持⽂件存储。

2. Ceph的功能模块Ceph的核⼼组件包括Client客户端、MON监控服务、MDS元数据服务、OSD存储服务,各组件功能如下:<1> Client客户端:负责存储协议的接⼊,节点负载均衡。

<2> MON监控服务:负责监控整个集群,维护集群的健康状态,维护展⽰集群状态的各种图表,如OSD Map、Monitor Map、PG Map和CRUSH Map。

<3> MDS元数据服务:负责保存⽂件系统的元数据,管理⽬录结构。

<4> OSD存储服务:主要功能是存储数据、复制数据、平衡数据、恢复数据,以及与其它OSD间进⾏⼼跳检查等。

ceph工作原理

ceph工作原理

ceph⼯作原理⼀、概述Ceph是⼀个分布式存储系统,诞⽣于2004年,最早致⼒于开发下⼀代⾼性能分布式⽂件系统的项⽬。

随着云计算的发展,ceph乘上了OpenStack的春风,进⽽成为了开源社区受关注较⾼的项⽬之⼀。

Ceph有以下优势:1. CRUSH算法Crush算法是ceph的两⼤创新之⼀,简单来说,ceph摒弃了传统的集中式存储元数据寻址的⽅案,转⽽使⽤CRUSH算法完成数据的寻址操作。

CRUSH在⼀致性哈希基础上很好的考虑了容灾域的隔离,能够实现各类负载的副本放置规则,例如跨机房、机架感知等。

Crush算法有相当强⼤的扩展性,理论上⽀持数千个存储节点。

2. ⾼可⽤Ceph中的数据副本数量可以由管理员⾃⾏定义,并可以通过CRUSH算法指定副本的物理存储位置以分隔故障域,⽀持数据强⼀致性;ceph可以忍受多种故障场景并⾃动尝试并⾏修复。

3. ⾼扩展性Ceph不同于swift,客户端所有的读写操作都要经过代理节点。

⼀旦集群并发量增⼤时,代理节点很容易成为单点瓶颈。

Ceph本⾝并没有主控节点,扩展起来⽐较容易,并且理论上,它的性能会随着磁盘数量的增加⽽线性增长。

4. 特性丰富Ceph⽀持三种调⽤接⼝:对象存储,块存储,⽂件系统挂载。

三种⽅式可以⼀同使⽤。

在国内⼀些公司的云环境中,通常会采⽤ceph作为openstack的唯⼀后端存储来提升数据转发效率。

⼆、CEPH的基本结构Ceph的基本组成结构如下图:Ceph的底层是RADOS,RADOS本⾝也是分布式存储系统,CEPH所有的存储功能都是基于RADOS实现。

RADOS采⽤C++开发,所提供的原⽣Librados API包括C和C++两种。

Ceph的上层应⽤调⽤本机上的librados API,再由后者通过socket与RADOS集群中的其他节点通信并完成各种操作。

RADOS GateWay、RBD其作⽤是在librados库的基础上提供抽象层次更⾼、更便于应⽤或客户端使⽤的上层接⼝。

ceph 对象 块 文件原理

ceph 对象 块 文件原理

Ceph 对象、块、文件原理解析1. Ceph 概述Ceph 是一个分布式存储系统,提供了高性能、高可靠性和可扩展性的存储解决方案。

Ceph 的设计目标是能够在大规模集群中存储和管理海量的数据,并且具备自动分布式数据恢复和负载均衡的能力。

Ceph 采用了对象存储的方式来管理数据,其中的对象、块和文件是 Ceph 存储系统的三种基本数据类型。

下面将详细解释这三种数据类型的原理和相关的基本原理。

2. Ceph 对象Ceph 对象是 Ceph 存储系统中最基本的数据单元。

每个对象都有一个唯一的标识符,称为对象 ID。

对象 ID 是一个全局唯一的标识符,通过它可以快速定位到具体的对象数据。

Ceph 对象由一系列的数据块组成,每个数据块的大小一般为 4MB。

对象的数据块被分布存储在 Ceph 存储集群中的多个 OSD(Object Storage Daemon)上。

这种将对象数据分布在多个 OSD 上的方式可以提高数据的可靠性和可用性,同时也能够实现负载均衡。

Ceph 对象的数据块采用了一种称为 CRUSH(Controlled Replication Under Scalable Hashing)的算法来进行散列和分布。

CRUSH 算法可以根据对象的属性和集群的拓扑结构,计算出对象数据块在存储集群中的位置,从而实现数据的负载均衡和故障恢复。

Ceph 对象还可以包含元数据,用来描述对象的属性和特性。

元数据信息存储在Ceph 存储集群的元数据服务器(Metadata Server)中,通过元数据服务器可以快速的查找和定位到对象的元数据信息。

3. Ceph 块Ceph 块是 Ceph 存储系统中的另一种数据类型,它提供了类似于传统块设备的接口和功能。

Ceph 块是一种虚拟的块设备,可以被挂载到主机上,并且支持随机读写操作。

Ceph 块的实现基于 Ceph 对象,每个块由多个对象组成,每个对象的数据块大小为 4MB。

ceph系统读取数据原理

ceph系统读取数据原理

ceph系统读取数据原理
Ceph是一个分布式对象存储系统,它的数据读取原理主要涉及到以下几个关键组件和步骤:
1.客户端请求:当客户端需要读取数据时,它会向Ceph集群发送一个读取请求,这个请求会包含需要读取的数据的标识信息,如对象ID、池(Pool)名称等。

2.监视器(Monitor):Ceph集群中的监视器负责维护集群的状态和映射关系。

当客户端发送请求时,监视器会根据其维护的映射关系,确定对象存储的位置。

3.OSD(Object Storage Daemon):OSD是Ceph集群中的对象存储设备,负责存储实际的数据。

根据监视器返回的映射关系,客户端会向对应的OSD发送读取请求。

4.PG(Placement Group):在Ceph中,对象被组织成PG(Placement Group)进行管理。

每个PG包含一定数量的对象,并且每个PG都会被映射到一个或多个OSD上。

客户端在发送读取请求时,会根据对象的ID计算出对应的PG,然后再根据PG的映射关系找到对应的OSD。

5.数据读取:当客户端找到存储所需数据的OSD后,它会向该OSD发送读取请求。

OSD在收到请求后,会查找本地存储的对象数据,并将其返回给客户端。

需要注意的是,Ceph的读取过程还涉及到一些优化和容错机制,如数据副本、CRUSH算法等。

这些机制可以提高数据的可靠性和读取性能。

总之,Ceph的数据读取原理主要是通过客户端、监视器和OSD之间的协作,根据对象的标识信息和映射关系,找到存储数据的OSD,并从其中读取数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2015年11月12日

File -> object映射:
◦ 这次映射的目的是,将用户要操作的file,映射为RADOS能够处理 的object。其映射十分简单,本质上就是按照object的最大size对 file进行切分。这种切分的好处有二:一是让大小不限的file变成最 大size一致、可以被RADOS高效的串行处理变为对多个object实施的并行化处理。
2015年11月12日
2015年11月12日

自动化的故障恢复(Failure recovery)
◦ 收到monitor发过来的cluster map之后,这个新OSD计算出自己 所承载的PG以及和自己承载同一个PG的其他OSD。然后与这些 OSD取得联系。如果这个PG目前处于降级状态(即承载该PG的 OSD个数少于正常值),则其他OSD将把这个PG内的所有对象和 元数据赋值给新OSD。数据复制完成后,新OSD被置为up且in状 态,cluster map也更新。
yehu
2015年11月12日



系统概述 Ceph系统的层次结构 RADOS 寻址流程 数据操作流程 集群维护 总结
2015年11月12日

什么是Ceph?
◦ Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分 布式的存储系统。 ◦ “统一的”:意味着Ceph可以一套存储系统同时提供对象存储、块 存储和文件系统存储三种功能,以便在满足不同应用需求的前提下 简化部署和运维。 ◦ “分布式”:在Ceph系统中则意味着真正的无中心结构和没有理论 上限的系统规模可扩展性。

自动化的故障探测(Failure detection)过程
◦ 如果一个OSD发现和自己共同承担一个PG的另一个OSD无法 联通,则会将这一情况上报monitor。此外,如果一个OSD deamon发现自身工作状态异常,也将把异常情况主动上报 给monitor。此时,monitor将把出现问题的OSD的状态设 置为down且in。如果超过某一预定时间期限该OSD仍然无 法恢复正常,则其状态将被设置为down且out。如果该OSD 能够恢复正常,则其状态会恢复成up且in。
2015年11月12日

Ceph的底层是RADOS,它由两个组件组成:
◦ 一种是为数众多的、负责完成数据存储和维护功能的OSD ( Object Storage Device)。 ◦ 另一种则是若干个负责完成系统状态检测和维护的Monitor。 ◦ OSD和monitor之间相互传输节点状态信息,共同得出系统的总体 工作状态,并形成一个全局系统状态记录数据结构,即所谓的 cluster map。这个数据结构与RADOS提供的特定算法相配合,便 实现了Ceph“无需查表,算算就好”的核心机制以及若干优秀特性。
2015年11月12日

PG -> OSD映射:
◦ 和“object -> PG”映射中采用的哈希算法不同,这个CRUSH算法 的结果不是绝对不变的,而是受到其他因素的影响。其影响因素主 要有二:一是当前系统状态,也就是cluster map。当系统中的 OSD状态、数量发生变化时,cluster map可能发生变化,而这种 变化将会影响到PG与OSD之间的映射。二是存储策略配置。这里 的策略主要与安全相关。利用策略配置,系统管理员可以指定承载 同一个PG的3个OSD分别位于数据中心的不同服务器乃至机架上, 从而进一步改善存储的可靠性。

2015年11月12日


由若干个monitor共同负责整个Ceph集群中所有OSD状 态的发现与记录,并且共同形成cluster map的master版 本,然后扩散至全体OSD以及client。OSD使用cluster map进行数据的维护,而client使用cluster map进行数 据的寻址。 monitor并不主动轮询各个OSD的当前状态。正相反, OSD需要向monitor上报状态信息。常见的上报有两种情 况:一是新的OSD被加入集群,二是某个OSD发现自身或 者其他OSD发生异常。在收到这些上报信息后,monitor 将更新cluster map信息并加以扩散。
2015年11月12日

Object -> PG映射:
◦ 在file被映射为一个或多个object之后,就需要将每个object独立 地映射到一个PG中去。计算公式: hash(oid) & mask -> pgid ◦ 根据RADOS的设计,给定PG的总数为m(m应该为2的整数幂), 则mask的值为m-1。因此,哈希值计算和按位与操作的整体结果 事实上是从所有m个PG中近似均匀地随机选择一个。基于这一机制, 当有大量object和大量PG时,RADOS能够保证object和PG之间的 近似均匀映射。

为什么要关注Ceph?
◦ 首先,Ceph本身确实具有较为突出的优势。其先进的核心设计思想, 概括为八个字—“无需查表,算算就好”。 ◦ 其次,Ceph目前在OpenStack社区中备受重视。
2015年11月12日

自下向上,可以将Ceph系统分为四个层次:
◦ 基础存储系统RADOS(Reliable, Autonomic, Distributed Object Store,即可靠的、自动化的、分布式的对象存储) ◦ 基础库LIBRADOS ◦ 高层应用接口:包括了三个部分:RADOS GW(RADOS Gateway)、 RBD(Reliable Block Device)和Ceph FS(Ceph File System) ◦ 应用层
2015年11月12日

自动化的re-balancing过程
◦ 如果该PG目前一切正常,则这个新OSD将替换掉现有OSD中 的一个(PG内将重新选出Primary OSD),并承担其数据。 在数据复制完成后,新OSD被置为up且in状态,而被替换的 OSD将推出该PG。而cluster map内容也将据此更新。
2015年11月12日

OSD的逻辑结构
◦ OSD可以被抽象为两个组成部分,即系统部分和守护进程(OSD deamon)部分。 ◦ OSD的系统部分本质上就是一台安装了操作系统和文件系统的计算 机,其硬件部分至少包括一个单核的处理器、一定数量的内存、一 块硬盘以及一张网卡。 ◦ 在上述系统平台上,每个OSD拥有一个自己的OSD deamon。这 个deamon负责完成OSD的所有逻辑功能,包括与monitor和其他 OSD(事实上是其他OSD的deamon)通信以维护更新系统状态, 与其他OSD共同完成数据的存储和维护,与client通信完成各种数 据对象操作等等。
状态 In Up Down
正常运行,且承载 发生异常,但仍然 至少一个PG的数 承载至少一个PG 据(标准工作状态)的数据(刚发生异 常) 正常运行,未承载 彻底发生故障,不 任何PG(新加入 再承载任何PG 或故障修复重新加 入的OSD)
Out
2015年11月12日

新增一个OSD
◦ 首先根据配置信息与monitor通信,monitor将其加入cluster map,并设置为up且out状态,再将最新版本的cluster map发给 这个新OSD。
2015年11月12日

PG -> OSD映射:
◦ 第三次映射就是将作为object的逻辑组织单元的PG映射到数据的 实际存储单元OSD。如图所示,RADOS采用一个名为CRUSH的算 法,将pgid代入其中,然后得到一组共n个OSD。这n个OSD即共 同负责存储和维护一个PG中的所有object。前已述及,n的数值可 以根据实际应用中对于可靠性的需求而配置,在生产环境下通常为 3。具体到每个OSD,则由其上运行的OSD deamon负责执行映射 到本地的object在本地文件系统中的存储、访问、元数据维护等操 作。
2015年11月12日

通过上述介绍,我们可以简要了解Ceph究竟是如果基于 cluster map机制,并由monitor、OSD和client共同配 合完成集群状态的维护与数据访问的。特别的,基于这个 机制,事实上可以自然而然的完成自动化的数据备份、数 据re-balancing、故障探测和故障恢复,并不需要复杂 的特殊设计。这一点确实让人印象深刻。
2015年11月12日

几个概念
◦ PG(Placement Group)—— 顾名思义,PG的用途是对object的 存储进行组织和位置映射。具体而言,一个PG负责组织若干个 object(可以为数千个甚至更多),但一个object只能被映射到一 个PG中,即,PG和object之间是“一对多”映射关系。同时,一 个PG会被映射到n个OSD上,而每个OSD上都会承载大量的PG, 即,PG和OSD之间是“多对多”映射关系。在实践当中,n至少为 2,如果用于生产环境,则至少为3。一个OSD上的PG则可达到数 百个。事实上,PG数量的设置牵扯到数据分布的均匀性问题。 ◦ OSD——即object storage device。 ◦ Failure domain
2015年11月12日

Cluster map的内容:
◦ Epoch,即版本号,为一个单调递增序列,Epoch越大,则cluster map版本越新。 ◦ 各个OSD的网络地址。 ◦ 各个OSD的状态。up或者down,表明OSD是否正常工作;in或者 out,表明OSD是否在至少一个PG中。 ◦ CRUSH算法配置参数。表明了Ceph集群的物理层级关系(cluster hierarchy),位置映射规则(placement rules)。
2015年11月12日
当某个client需要向Ceph集群写入一个file时,首先需要在本地完成 寻址流程,将file变为一个object,然后找出存储该object的一组三 个OSD。 找出三个OSD后,client将直接和Primary OSD通信,发起写入操作 (步骤1)。Primary OSD收到请求后,分别向Secondary OSD和 Tertiary OSD发起写入操作(步骤2、3)。当Secondary OSD和 Tertiary OSD各自完成写入操作后, 将分别向Primary OSD发送确认信息 (步骤4、5)。当Primary OSD确信 其他两个OSD的写入完成后,则自己 也完成数据写入,并向client确认 object写入操作完成(步骤6)。
相关文档
最新文档