在文件系统中,不光只有数据重要,作为“数据的数据”,元数据更加重要,因此文件系统的元数据布局和元数据服务的架构设计决定了一个文件系统的可靠性,可达到的规模上限,扩展能力以及数据访问性能。本文我们就来聊聊极道的存储系统是如何设计元数据架构的。
元数据的重要性
元数据是用来描述文件系统和文件特征的系统数据,例如文件类型、文件大小、访问权限和数据索引信息等。用户在访问文件数据之前,需要访问文件的元数据以获得文件的基本属性信息和数据的索引信息。在分布式文件系统中,超过50%的文件操作都是针对文件元数据的操作。
元数据服务设计
元数据的设计和实现,直接决定着分布式存储系统的稳定性、扩展性和集群性能。
依据元数据的不同处理方式,可以把分布式存储划分为全对称式和非对称式。
※全对称:所有节点均承担管理元数据的职责
优势:
1.集群配置简单,成本较低;
2.元数据和元数据服务均匀的分散在所有节点上,所有节点功能对等;
3.元数据服务、数据服务能力同时扩展。
劣势:
1.跨节点保障元数据操作“原子性”的代价较大;且集群规模越大,代价越大;
2.维护多节点元数据一致性,代价较大;
3.某些元数据操作,会涉及到聚合集群中每个节点的部分元数据,故集群规模越大时,这种聚合操作的代价越大。
※非对称:某个节点独立承担元数据管理职责
优势:
1.元数据节点和数据节点可以独立扩展,灵活性较好;
2.大规模的存储系统中,元数据操作带来的系统内耗较低。
劣势:
1.单独的元数据服务节点,在大规模存储集群中可能成为系统瓶颈;
2.需要为承载元数据服务的节点支付额外的成本;
3.节点角色的多样性,提升了部署和用户使用的复杂度。
可见,无论是对称式还是非对称式,都存在相应的优势和弊端。是否存在一种方法可以取其长避其短呢?
极道ALAMO存储的灵动元数据服务
ALAMO存储系统设计之初,充分考虑到分布式集群的可靠性,可扩展性以及由此对元数据访问请求带来的一些潜在性能瓶颈。因此,ALAMO存储系统提供了灵活的元数据设计和实现。我们下面来逐一讲一讲。
元数据和数据在介质上分离
由于元数据访问比数据访问更讲究ops和延迟,当用户数据访问导致后端的数据盘非常繁忙的时候,如何保证元数据访问的低延迟?
极道工程师的发现元数据和数据分离可以大幅提升元数据访问的性能;所以在设计ALAMO时采用了将元数据和数据分离的技术。元数据放置于独立的一组闪存介质上,同时,HDD构成的存储池上也会保存一个元数据副本。
(PS:为什么HDD存储池上还要保存元数据副本?
因为元数据比数据更重要,要拥有比数据更高的可靠性保护级别,即便所有承载元数据的闪存都失效,文件系统也不会因为元数据丢失和损毁导致文件系统的崩溃和数据丢失。放置其中一个元数据副本在HDD存储池上,可以很好的平衡元数据的性能和成本,只要有闪存上的元数据有效,系统会自动优先选择从闪存上访问元数据。)
元数据服务设计
ALAMO可以同时支持对称式和非对称式架构。
※对称架构
主要应用于中小规模集群(20个节点以内),此时文件的元数据和数据同处于同一个节点,从而给用户带来更快的访问效率。
极道ALAMO对称架构图
※非对称架构
主要应用于超大规模集群,此时,ALAMO存储系统将元数据和数据完全独立,元数据服务采用分布式的方式部署在少量节点,同时对外提供服务。此外,元数据和数据服务均可以支持Scale-Out横向扩展,并且随着节点的扩容,性能线性增长。
极道ALAMO非对称架构图
ALAMO元数据服务的优势:
根据规模和应用灵活选择对称和非对称结构(有或无集中MDS),可以选择数据和元数据分离存储;
元数据置于高速存储介质,即便在存储业务繁忙时,元数据操作的响应速度和性能均可有效保证,同时满足高带宽和元数据高IOPS的需求;
多份元数据放在不同的位置(选择两副本存放在SSD上,第三个副本存放在由HDD构成的存储池上),确保了数据的可靠性;
即便在非对称模式下,极道元数据服务和数据服务也可以共存在一个物理节点上,从而简化了部署的复杂度以及更好的控制了成本;
即便在非对称模式下,极道也可以根据元数据负载横向的扩充承担元数据服务的节点,以保证整个集群的元数据性能。
写在最后
在数据爆发增长的“数字时代”,数据已经成为增强企业竞争力的核心要素,而元数据成为很多企业重视的一环。极道科技作为全球数据系统的提供商,会持续提升产品性能和服务,助力客户应对大数据挑战,帮助更多企业实现数字时代的转型和升级。