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> ]
}
容量管理
Last editor:undefined Update time:2024-10-27 16:36