分布式虚拟卷存储系统的设计与实现
发布时间:2021-07-27 23:55
在应对不同容量规模的文件存储的场景里,现有分布式存储系统采用的存储策略是固定文件分块大小的方式,如GFS和HDFS等,固定分块目的是为了提高服务器并行写入数据的性能和减少中心节点元数据。但随之而来,在存储小文件或大文件末尾块时,易产生磁盘碎片。此外现有分布式存储系统在频繁访问热点文件时,可能造成系统过载问题。因此,本文利用灵活的分块策略和高性能的缓存策略,设计了分布式虚拟卷存储系统。具体研究内容如下:1.基于滑动窗口的数据分块方法。在进行文件存储时,对文件进行分割,将文件以最优分块大小进行存储,一方面使得整个存储系统拥有更好的文件均匀度另一方面减少冗余数据的存储。2.中心节点选举与调度任务算法。中心节点通过选举来避免单节点故障而导致整个集群不能工作,提高系统高可用性;调度任务算法是一种基于节点容量感知的带虚拟节点的一致性哈希,通常意义下的带虚拟节点的一致性哈希视所有物理节点均是一样的,而容量感知的带虚拟节点的一致性哈希充分考虑到物理节点的差异性,从而让系统达到负载均衡的状态。3.内存缓存结构组织设计与其淘汰算法。缓存节点使用更优化的内存缓存结构减少内存碎片;使用2Q淘汰算法保证热点数据...
【文章来源】:电子科技大学四川省 211工程院校 985工程院校 教育部直属院校
【文章页数】:90 页
【学位级别】:硕士
【部分图文】:
Alluxio架构图
第一章绪论3文件。图1-2Alluxio的HA集群如图1-2所示,HA(HighAvailable)集群中各个节点的角色及其负责的任务。a)LeadingMaster。它代表着主master节点,负责集群的运转。LeadingMaster节点上保存着集群相关的元数据,包括文件系统元数据信息、块的元数据信息和worker节点容量信息,客户端要修改系统元数据的话,需要与LeadingMaster交互。同时系统中的Workers节点要与LeadingMaster保持心跳,在集群运转时,LeadingMaster会在日志中记录下所有对文件的操作。b)StandbyMaster。它作为备用Master节点。为了能够在master宕机后提供容错功能,它需要运行在与LeadingMaster不同的服务器上。为了能在接替Leadingmaster角色,提供正常服务,StandbyMaster会及时同步读取LeadingMaster的日志,同步保持对文件的更改。c)SecondaryMaster。在当Alluxio不处于HA模式时,可以在LeadingMaster服务器上启动SecondaryMaster来实现journals检查点功能,这样也能够一定程度上提高系统的可用性。当LeadingMaster无法工作时,能够提供快速服务恢复;但与StandbyMaster不同的是SecondaryMaster不能代替旧LeadingMaster成为新LeadingMaster。d)JobMaster。JobMaster负责在Alluxio中异步处理文件系统的操作。二、WorkersWorkers所负责的功能是管理本服务器的资源(例如内存,SSD,HDD),并在适当时候分配给Alluxio用户。而JobWorkers可以看作是Alluxio底层文件系统的客户端,负责的是执行JobMaster所安排的任务,JobWorker
电子科技大学硕士学位论文4在写入数据的时候会将数据分割为若干个block存储到底层文件系统中;具体的文件和block的对应关系作为文件元数据存储在Master节点中,如图1-3所示,图1-3Alluxio的Worker模块三、ClientAlluxioclient是用户和Alluxio集群交互的接口,可以理解成一个中间网关。在系统交互流程中,client会首先向LeadingMaster节点获取文件元数据中块的位置信息,然后再与workers节点进行具体读写过程。1.3本文的主要贡献与创新本文针对于现有繁多的分布式存储系统,设计并实现了一个统一的存储层,分布式虚拟卷存储系统。在上层不同的I/O类型,大文件类型、小文件类型、随机读写或者是顺序写入,全部使用同一种操作语义——卷语义。本文首先分析了分布式虚拟卷存储系统应用背景,然后对系统从需求、设计、实现和测试四个方面进行阐述。本文的主要贡献与创新体现在以下几点:1.系统的中心节点采用主从备份的形式,为让中心节点能够完整主从选举,设计和实现了选举集群,选举集群内部保证一致性,同时选举集群给外部提供一把分布式锁的概念,哪个中心节点加锁成功就可以成为主节点,反之则成为备节点。2.中心节点调度缓存节点的容量感知算法,此算法依据节点的负载情况,能够自适应的调节缓存节点的空间分配和任务处理。
本文编号:3306789
【文章来源】:电子科技大学四川省 211工程院校 985工程院校 教育部直属院校
【文章页数】:90 页
【学位级别】:硕士
【部分图文】:
Alluxio架构图
第一章绪论3文件。图1-2Alluxio的HA集群如图1-2所示,HA(HighAvailable)集群中各个节点的角色及其负责的任务。a)LeadingMaster。它代表着主master节点,负责集群的运转。LeadingMaster节点上保存着集群相关的元数据,包括文件系统元数据信息、块的元数据信息和worker节点容量信息,客户端要修改系统元数据的话,需要与LeadingMaster交互。同时系统中的Workers节点要与LeadingMaster保持心跳,在集群运转时,LeadingMaster会在日志中记录下所有对文件的操作。b)StandbyMaster。它作为备用Master节点。为了能够在master宕机后提供容错功能,它需要运行在与LeadingMaster不同的服务器上。为了能在接替Leadingmaster角色,提供正常服务,StandbyMaster会及时同步读取LeadingMaster的日志,同步保持对文件的更改。c)SecondaryMaster。在当Alluxio不处于HA模式时,可以在LeadingMaster服务器上启动SecondaryMaster来实现journals检查点功能,这样也能够一定程度上提高系统的可用性。当LeadingMaster无法工作时,能够提供快速服务恢复;但与StandbyMaster不同的是SecondaryMaster不能代替旧LeadingMaster成为新LeadingMaster。d)JobMaster。JobMaster负责在Alluxio中异步处理文件系统的操作。二、WorkersWorkers所负责的功能是管理本服务器的资源(例如内存,SSD,HDD),并在适当时候分配给Alluxio用户。而JobWorkers可以看作是Alluxio底层文件系统的客户端,负责的是执行JobMaster所安排的任务,JobWorker
电子科技大学硕士学位论文4在写入数据的时候会将数据分割为若干个block存储到底层文件系统中;具体的文件和block的对应关系作为文件元数据存储在Master节点中,如图1-3所示,图1-3Alluxio的Worker模块三、ClientAlluxioclient是用户和Alluxio集群交互的接口,可以理解成一个中间网关。在系统交互流程中,client会首先向LeadingMaster节点获取文件元数据中块的位置信息,然后再与workers节点进行具体读写过程。1.3本文的主要贡献与创新本文针对于现有繁多的分布式存储系统,设计并实现了一个统一的存储层,分布式虚拟卷存储系统。在上层不同的I/O类型,大文件类型、小文件类型、随机读写或者是顺序写入,全部使用同一种操作语义——卷语义。本文首先分析了分布式虚拟卷存储系统应用背景,然后对系统从需求、设计、实现和测试四个方面进行阐述。本文的主要贡献与创新体现在以下几点:1.系统的中心节点采用主从备份的形式,为让中心节点能够完整主从选举,设计和实现了选举集群,选举集群内部保证一致性,同时选举集群给外部提供一把分布式锁的概念,哪个中心节点加锁成功就可以成为主节点,反之则成为备节点。2.中心节点调度缓存节点的容量感知算法,此算法依据节点的负载情况,能够自适应的调节缓存节点的空间分配和任务处理。
本文编号:3306789
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3306789.html