Bean Nuts Walnut Hydra Titan
Titan Distribute Uniform Object File System
泰坦·统一分布式对象文件系统
Version 2.3.1
技术架构组:
Bean Nuts Walnut Hydra Titan UOFS
Bean Nuts Walnut Hydra Titan KFSium
Bean Nuts Walnut Hydra Titan UOS S3 Protocol
Bean Nuts Walnut Hydra Titan CDN
作者&致谢:
Ken,DragonKing

1.技术特点:
本系统 Unix、Ext4、 NTFS、S3、HDFS、逻辑卷架构、固态底层存储、阵列卡原理
亮点:
高并发设计:分布式化对象存储设计,弹性伸缩支持,支持任意级联和大规模存储架构设计
大数据支持:无限容量设计、弹性伸缩,无16EB容量限制,逻辑卷底层存储架构设计(任意弹性伸缩,支持分布式RAID)
容错设计、安全性、一致性:
参考多种存储架构、算法、内核设计,借鉴固态硬盘数据完整性策略,支持簇级CRC检查和文件级快速安全校验,确保大规模数据安全。
分布式RAID设计,支持任意弹性伸缩统一分布式并行存储,只要资源足够带宽没有上限。
事务化RAID卷设计确保最终一致性。
支持类 Trim 指令、碎片整理、垃圾回收机制,支持多级碎片整理、垃圾回收。
缺陷:
弱一致性设计,只确保全局一致性
非常庞大、非常重的架构设计,前后端不好设计
开发实现难度较大,需要兼容普通用户和专业用户的综合特点,采用了全面的多场景模块设计,并进行了多种算法、架构、工程上的系统性优化,开发难度和成本较大。

2.子系统模块摘要
2.1 索引组
能力支撑:
支持文件夹、文件的索引
路径系统
软硬链接支持
类Unix系统挂载点支持
文件夹存储情况统计

2.2 底层存储组
本地簇、远程簇支持
文件传输、上传、类HDFS Distcp、复制、移动支持
文件对象化架构
元数据管理
common vfs

2.3 策略组

2.3 卷系统组
2.3.1 物理卷系统组(底层卷)
底层存储架构体系,基于common vfs,可以使用任意数据源。
原则上支持:
物理基准存储:物理磁盘、阵列卡、存储阵列体系
网络基准存储:NAS、第三方厂商对象存储(S3、OSS、ODS、etc)、其他网络存储模型
其他存储架构:如HDFS
2.3.1.1 抽象物理卷化控制模型设计
类似Windows逻辑磁盘,具有卷标、卷物理信息、卷创建/修改时间等必要元信息。
2.3.1.2 卷容量信息控制模型设计
卷具有声明容量、已使用容量等核心容量信息管理能力;可支撑容量调整、告警、容错等必要卷操作。
2.3.1.3 卷日志记录设计
卷日志记录,卷的底层操作(如删除、修改等原子操作)需日志化记录,确保元信息的可追溯。
接口:
VolumeCapacity: interface

LongVolumeCapacity: {
   uint64 DefinitionCapacity: 0u, // 声明容量,类似物理磁盘的物理容量(16EB小数据内性能保证)
   uint64 UsedSize: 0u, // 已用容量
   uint64 QuotaCapacity: 0u, //配额容量,V2暂时不搞,留着
}
MegaVolumeCapacity: {
   //容量策略升级架构
   BigInteger DefinitionCapacity: 0u, //声明容量,巨型容量支持,解除16EB限制
   BigInteger UsedSize: 0u, // 已用容量
   BigInteger QuotaCapacity: 0u, //配额容量
}

PhysicalVolume

PhysicalVolume: {
   string Name: "", // 卷名
   VFS_URL MonutInletPath: "" //  存储入口点
   VolumeCapacity VolumeCapacity: {} // 容量信息
}

VolumeOperator
其中注意:物理卷就是终末的原子数据源,不可以组RAID,也不可以拼接等操作,确保最终原子性。

2.3.2 逻辑卷系统组(用户侧)
逻辑卷系统
一个逻辑卷可以由一到多个物理卷组成,如果为RAID卷时且启用RAID策略时,执行RAID(非恰当近似比喻:类负载均衡操作)存储控制模型。
LogicVolume 相对域顶级接口:
SimpleVolume
简单卷(Simple Volume):与基本磁盘的分区类似,只是其空间可以扩展到非连续的空间上。

SpannedVolume
跨区卷(Spanned Volume):可以将多个磁盘(至少2个,最多无限)上的未分配空间合成一个逻辑卷。使用时先写满一部分空间再写入下一部分空间。本系统推广为类似负载均衡的偏度RAID0模式,执行并行写入,根据卷大小百分比提供动态簇写入,同时支持串行连续写入。

StripedVolume
带区卷(Striped Volume):又称条带卷RAID 0,将2~N个磁盘空间上容量相同的空间组成一个卷,写入时将数据分成簇大小相同的数据块,同时写入卷的每个磁盘成员的空间上。带区卷提供最好的磁盘访问性能,但是带区卷不能被扩展或镜像,并且不提供容错功能。

MirroredVolume
镜像卷(Mirrored Volume):又称RAID 1技术,是将两个磁盘上相同尺寸的空间建立为镜像,有容错功能,但空间利用率只有50%,实现成本相对较高。

逻辑卷可以有多个物理卷或子逻辑卷组成,支持级联设计。

LogicVolume:{
    META_INFO...

    Children: [ Volume...<1,N> ]
}
«interface»
Volume
«interface»...
«interface»
PhysicalVolume
«interface»...
«interface»
LogicVolume
«interface»...
«interface»
SimpleVolume
«interface»...
«interface»
SpannedVolume
«interface»...
«interface»
StripedVolume
«interface»...
«interface»
MirroredVolume
«interface»...
Extend
Extend
Extend
Extend
Extend
Extend
Extend
Extend
Extend
Extend
Extend
Extend
Text is not SVG - cannot display

容量管理

Author:undefined  Create time:2024-10-15 13:16
Last editor:undefined  Update time:2024-10-27 16:36