运维工程师面试题总结-分布式存储系统Ceph17

简介: 个人学习

Ceph是一个统一的分布式存储系统,最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),随后贡献给开源社区。其设计初衷是提供较好的性能、可靠性和可扩展性。在经过多年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储。

1.fastDFS的角色

trackerserver:跟踪服务器,主要做调度工作,起到均衡的作用;负责管理所有的storageserver和group,每个storage在启动后会连接Tracker,告知自己所属group等信息,并保持周期性心跳,storageserver:存储服务器,主要提供容量和备份服务;以group为单位,每个group内可以包含多台storageserver,数据互为备份,存储容量空间以group内容量最小的storage为准;建议group内的storageserver配置相同;以group为单位组织存储能够方便的进行应用隔离、负载均衡和副本数定制;缺点是group的容量受单机存储容量的限制,同时group内机器坏掉,数据恢复只能依赖group内其他机器重新同步。client:客户端

2.fastDFS多个group之间的存储方式

Roundrobin,所有group轮询使用Specifiedgroup,指定某个确定的groupLoadbalance,剩余存储空间较多的group优先

3.fastDFS的同步机制

由于storageserver上配置了所有的trackerserver,storageserver和trackerserver之间的通信是由storageserver主动发起的,storageserver为每个trackerserver启动一个线程进行通信;在通信过程中,若发现该trackerserver返回的本组storageserver列表比本机记录少,就会将该trackerserver上没有的storageserver同步给该tracker,这样的机制使得tracker之间是对等关系,数据保持一致。

4.fastDFS新增storage服务器数据同步

若新增storageserver或者其状态发生变化,trackerserver都会将storageserver列表同步给该组内所有storageserver;以新增storageserver为例,因为新加入的storageserver会主动连接trackerserver,trackerserver发现有新的storageserver加入,就会将该组内所有的storageserver返回给新加入的storageserver,并重新将该组的storageserver列表返回给该组内的其他storageserver。

5.ceph有哪几种接口

Object:有原生的API,而且也兼容Swift和S3的API。Block:支持精简配置、快照、克隆。File:Posix接口,支持快照。

6.ceph特性

集群可靠性

尽可能的保障数据不会丢失。数据写入过程中不会因为意外情况出现而造成数据丢失。降低不可控物理因素造成的数据丢失。例如死机、断电等不可控物理因素。

集群可扩展性

系统规模可扩展。存储容量可扩展。随着系统节点数增加的聚合数据访问带宽的线性扩展。

数据安全性

保障不可控物理因素(死机、断电等)自然因素的生产、数据不会丢失,并且支持数据自动回复,自动平衡等。保证系统规模扩大以后,运维难度保持在一个相对较低的水平。接口统一性同时支持三种存储:块存储、对象存储和文件存储。支持市面上所有流行的存储类型。

去除所有的中心节点,防止单点故障

7.ceph系统组件

RADOS(ReliableAutonomicObjectStore,可靠、自动、分布式对象存储)

OSD(对象存储设备)MON(Cephmonitor)

RBD(RADOS块设备、Ceph块设备)

RGW(RADOS网关、Ceph对象网关)

MDS(Ceph元数据服务器)

CephFS(Ceph文件系统)

8.CRUSH算法

CRUSH算法通过每个设备的权重来计算数据对象的分布。对象分布是由clustermap和datadistributionpolicy决定的。clustermap描述了可用存储资源和层级结构(比如有多少个机架,每个机架上有多少个服务器,每个服务器上有多少个磁盘)。datadistributionpolicy由placementrules组成。rule决定了每个数据对象有多少个副本,这些副本存储的限制条件(比如3个副本放在不同的机架中)。

9.CRUSH算法优点

任何组件都可以独立计算出每个object所在的位置(去中心化)。

只需要很少的元数据(clustermap),只要当删除添加设备时,这些元数据才需要改变。

如果想上手操作的同学们可以通过阿里云ecs服务器免费试用参与或低价购买专属于自己的服务器入口如下

入口一:新老同学免费试用

入口二:新人服务器特惠礼包

入口三:大学生版低价特惠服务器

入口四:云服务器首购特惠&免费试用

入口五:云服务器特惠1.5折起

入口六:低价特惠建站

申领云栖大会免费门票入口如下

入口七:云栖大会免费领票

目录
相关文章
|
8天前
|
存储 块存储
ceph分布式存储系统常见术语篇
关于Ceph分布式存储系统的常见术语解释和概述。
26 1
ceph分布式存储系统常见术语篇
|
15天前
|
消息中间件 存储 监控
消息队列系统中的确认机制在分布式系统中如何实现?
消息队列系统中的确认机制在分布式系统中如何实现?
|
18天前
|
运维 安全 Cloud Native
核心系统转型问题之保障云原生分布式转型中的基础设施和应用层面如何解决
核心系统转型问题之保障云原生分布式转型中的基础设施和应用层面如何解决
|
18天前
|
监控 Cloud Native 容灾
核心系统转型问题之API网关在云原生分布式核心系统中的功能如何解决
核心系统转型问题之API网关在云原生分布式核心系统中的功能如何解决
|
18天前
|
运维 安全 Cloud Native
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
|
18天前
|
运维 Cloud Native 安全
核心系统转型问题之确保核心系统云原生分布式转型的安全可靠性如何解决
核心系统转型问题之确保核心系统云原生分布式转型的安全可靠性如何解决
|
14天前
|
机器学习/深度学习 分布式计算 PyTorch
构建可扩展的深度学习系统:PyTorch 与分布式计算
【8月更文第29天】随着数据量和模型复杂度的增加,单个GPU或CPU已无法满足大规模深度学习模型的训练需求。分布式计算提供了一种解决方案,能够有效地利用多台机器上的多个GPU进行并行训练,显著加快训练速度。本文将探讨如何使用PyTorch框架实现深度学习模型的分布式训练,并通过一个具体的示例展示整个过程。
27 0
|
17天前
|
运维 Cloud Native 容灾
核心系统转型问题之云原生分布式核心,业务敏捷该如何实现
核心系统转型问题之云原生分布式核心,业务敏捷该如何实现
|
17天前
|
运维 Cloud Native 容灾
核心系统转型问题之云原生分布式核心运维成本如何降低
核心系统转型问题之云原生分布式核心运维成本如何降低
|
18天前
|
运维 Cloud Native
核心系统转型问题之提升云原生分布式转型的效率如何解决
核心系统转型问题之提升云原生分布式转型的效率如何解决