分布式文件存储系统不得不说的灵动元数据服务

 在文件系统中,不光只有数据重要,作为“数据的数据”,元数据更加重要,因此文件系统的元数据布局元数据服务的架构设计决定了一个文件系统的可靠性,可达到的规模上限,扩展能力以及数据访问性能。本文我们就来分布式文件存储系统是如何设计元数据架构的。

元数据的重要性

元数据是用来描述文件系统和文件特征的系统数据,例如文件类型、文件大小、访问权限和数据索引信息等。用户在访问文件数据之前,需要访问文件的元数据以获得文件的基本属性信息和数据的索引信息。在分布式文件系统中,超过50%的文件操作都是针对文件元数据的操作。

元数据服务设计

元数据的设计和实现,直接决定着分布式存储系统的稳定性扩展性和集群性能

依据元数据的不同处理方式,可以把分布式存储划分为全对称式非对称式

全对称:所有节点均承担管理元数据的职责

优势:

1.集群配置简单,成本较低;

2.元数据和元数据服务均匀的分散在所有节点上,所有节点功能对等;

3.元数据服务、数据服务能力同时扩展。

劣势:

1.跨节点保障元数据操作“原子性”的代价较大;且集群规模越大,代价越大;

2.维护多节点元数据一致性,代价较大;

3.某些元数据操作,会涉及到聚合集群中每个节点的部分元数据,故集群规模越大时,这种聚合操作的代价越大。

※非对称:某个节点独立承担元数据管理职责

优势:

1.元数据节点和数据节点可以独立扩展,灵活性较好;

2.大规模的存储系统中,元数据操作带来的系统内耗较低。

劣势:

1.单独的元数据服务节点,在大规模存储集群中可能成为系统瓶颈;

2.需要为承载元数据服务的节点支付额外的成本;

3.节点角色的多样性,提升了部署和用户使用的复杂度。

可见,无论是对称式还是非对称式,都存在相应的优势和弊端。是否存在一种方法可以取其长避其短呢?

其实存储工程师会发现,如果想解决这个方法,其实可以采用元数据和数据分离。我接下来在为大家讲一讲

  • 元数据和数据在介质上分离

由于元数据访问比数据访问更讲究ops和延迟,当用户数据访问导致后端的数据盘非常繁忙的时候,如何保证元数据访问的低延迟?

存储工程师发现元数据和数据分离可以大幅提升元数据访问的性能;也就是元数据放置于独立的一组闪存介质上,同时,HDD 构成的存储池上也会保存一个元数据副本。

(PS:为什么HDD存储池上还要保存元数据副本?

因为元数据比数据更重要,要拥有比数据更高的可靠性保护级别,即便所有承载元数据的闪存都失效,文件系统也不会因为元数据丢失和损毁导致文件系统的崩溃和数据丢失。放置其中一个元数据副本在HDD存储池上,可以很好的平衡元数据的性能和成本,只要有闪存上的元数据有效,系统会自动优先选择从闪存上访问元数据。)

这样的话就可以使得元数据又支持全对称式的,又能支持非对称的。这样也能更好的保证了存储的性能。

你可能感兴趣的:(分布式,经验分享,大数据,云计算)