ceph学习笔记之二RADOS

Ceph学习笔记之二RADOSnode

1、RADOS架构后端

在RADOS架构中主要包含2个部分组件:bash

1MONMonitor架构

由少许的Monitor节点构成的强耦合,小规模集群;负责管理Cluster Map。分布式

2OSDObject Storage Deviceide

由数量可变的 大规模磁盘设备组成的集群,负责存储全部Object数据。性能

2、Monitor详解学习

在前面已经简单对其MON进行描述,在这个地方咱们再次对MON进行详细解读。正如其名Monitor是负责监视整个集群运行状态的,这些信息都是由维护集群成员的守护进程来提供的,如各节点之间的状态、集群配置等信息。Ceph Monitor Map包括:OSD Map、PG Map、MDS Map和CRUSH等,这些Map统称为集群Map。spa

1Monitor Map 线程

包括有关Monitor节点端到端的信息,其中包括Ceph集群ID,Monitor主机名和IP地址、端口号,以及版本信息、更改信息。经过下面命令查看Monitor Map信息:

# ceph mon dump

clip_p_w_picpath002

2OSD Map

包括集群ID 、OSD Map版本信息、更改信息;以及Pool相关信息,如:Pool名称、PoolID、类型、副本数、PGP;同时还有OSD信息,如OSD数量、状态、OSD权重、最近清洁间隔和OSD主机信息,可经过下面命令查看OSD Map信息:

# ceph osd dump

3PG Map

包括PG版本、时间戳、最新OSD Map版本信息、空间使用比例、以及沾满比例;同时包含每一个PG ID、对象数目、状态、OSD状态等信息;使用下面命令查看PG Map信息:

# ceph pg dump

4CRUSH Map

包含集群存储设备信息,故障域层次结构和存储数据时定义失败域、规则信息,能够经过如下命令查看:

# ceph osd crush dump

Monitor对资源的需求

  Ceph Monitor是个轻量化的守护进程,在常规状况下不须要太多的系统资源;入门级CPU、千兆网卡便可知足大部分场景;同时Monitor节点须要有足够的磁盘空间来存储集群日志,一个健康的集群产生几MB到几GB的日志;然而若是集群不正常、存储需求增长、打开低等级的日志信息的话,将会产生大量的日志,增长磁盘空间存储日志信息。

Monitor节点设计

一个典型的Ceph集群包含多个Monitor节点,一个多Monitor节点Ceph架构经过肯定的Monitor节点数来选择Leader,在Ceph集群中有多个Monitor节点时,Monitor节点数应为奇数,最低的要求是至少有一个Monitor节点,一般在设计Monitor节点数量推荐值为3,既为3个Monitor节点。

3、Ceph OSD详解

OSD是Ceph存储集群最重要的组件,OSD将数据以对象的形式存储到集群中每一个节点的物理磁盘上。

Ceph集群通常都包含多个OSD,对于任何读写操做请求,Client端从CephMonitor获取ClusterMap以后,Client将直接与OSD进行I/O操做交互,使得数据读写过程更为迅速。

1OSD副本特性介绍

   Ceph核心功能特性包括高可靠、自动平衡、自动恢复和一致性。对于Ceph OSD而言,基于配置的副本数,Ceph提供经过分布在多节点上的副原本实现,使得Ceph具备高可用性及容错性。OSD中的每一个对象都有一个主副本,若干个从副本。这些副本默认状况下是分布在不一样节点上的,这就是Ceph做为分布式存储系统的集中体现。每一个OSD均可能是某些对象的主OSD;同时也可能成为其余对象的从OSD。从OSD受主OSD的控制,在某些状况下从OSD也会成为主OSD。例如:在磁盘故障时Ceph OSD Deamon的智能对等机制将协同其余OSD执行恢复操做,此时存储对象的从OSD将被提高为主OSD,同时,新的从副本也将从新生成,这样就保证了Ceph的可靠和一致。

2Ceph OSD架构及文件系统

  OSD架构实现由物理磁盘驱动器,在其之上的Linux文件系统以及OSD服务组成。Linux文件系统的扩展属性提供了:对象状态、快照、元数据内部信息。

Ceph OSD目前支持的文件系统主要有:BTRFS、XFS、EXT4

  • BTRFS

BTRFS文件系统格式的OSD相比XFS和EXT4提供了最好的性能。BTRFS主要优势:

1 扩展性

BTRFS设计目标是应对大型机器对文件系统的扩展性要求。Extent、B-Tree和动态inode建立等特性保证了BTRFS在大型机器上仍有不错的表现。总体性能不会随系统容量增长而下降。

2 数据一致性

当系统面临不可预料的硬件故障时,BTRFS采用COW事物技术保证文件系统的一致性。BTRFS还支持校验和、避免了未知的错误出现,传统的文件系统没法作到。

3 多设备管理

BTRFS支持建立快照和克隆。BTRFS还能管理多个物理设备。

  BTRFS结合Ceph使得BTRFS中的诸多优势的快照,Journal of Parallel(并行日志)等优点使BTRFS在表现较为突出。然而不幸的是目前BTRFS还不能达到生产环境中要求的健壮性。所以不建议在Ceph集群中使用。

  • XFS

一种高性能的日志文件系统,XFS特别擅长处理大文件,同时提供平滑的数据传输。在CentOS7中已将XFS+LVM做为默认文件系统。

1 分配组

XFS文件系统内部被分为多个“分配组”,它们是文件系统的等长线性存储区。每一个分配组各自管理本身的inode和剩余空间。文件和文件夹能够跨越分配组。这种特性为XFS提供了可伸缩和并行的特性;多个线程和进程能够同时在同一个文件系统上执行I/O操做。

2 条带化分配

在条带化RAID阵列上建立XFS文件系统时,能够指定一个“条带数据单元”。这能够保证数据分配、inode分配,以及内部日志被对齐到该条带单元上。以此最大化吞吐。

3 基于Extent的分配方式

XFS文件系统中的文件用到的块由变长Extent管理,每个Extent描述了一个或多个连续的块。

4)扩展性

XFS经过实现扩展文件属性给文件提供了多个数据流,使文件能够被附加多个名、值对;文件名是一个最大长度为256字节的,以Null字符结尾的可打印字符串。其关联值可包含多达64KB的二进制数据。扩展性能够被添加到任意一种XFS inode上,包含符号链接、设备节点和目录。

缺点:XFS不能很好的处理Ceph写入过程的Journal问题。

  • EXT4

第4代扩展文件系统,是Linux系统下的日志文件系统,是EXT3文件系统的后续版本。

1 大型文件系统

EXT4文件系统能够支持最高1EB的分区与最大16TB的文件

2 Extents

EXT4引进了Extent文件存储方式,以替换EXT2/3使用的块映射方式。Extent指的是一连串的连续实体块,这种方式能够增长大型文件的效率并减小分裂文件。

3 日志校验和

EXT4使用校验和的特性来提升文件系统的可靠性,由于日志是磁盘上被读取最频繁的部分之一。

4 快速文件系统检查

EXT4将未使用的区块标记在inode中,这样能够节约大量的文件系统检测时间。

3Ceph日志文件系统

在使用了BTRFS和XFS文件系统的OSD中,在提交数据到后端硬件磁盘以前,Ceph首先将数据写入一个存储区域,该区域称为Journal;Journal能够用一个单独的SSD磁盘作Journal,或者使用OSD自身的一个分区;若是要使Ceph获得较好的性能建议使用独立的SSD磁盘作Journal日志。其I/O流程如图:

clip_p_w_picpath004

Ceph的任何写操做首先是写Journal日志,而后每隔5秒将Journal中的数据刷写到后端硬件磁盘。

相关文章
相关标签/搜索