高可用性、高性能、能随机读写、快速故障恢复、数据快照、回滚等特性。
hadoop dfs 可被看做一个可靠的、随时可扩展的“磁盘”。
log structrue filesystem。
特别感谢
hlfs开发起源不能不提到淘宝的杨志峰和其团队几位未曾谋面的朋友,他们在阿里云曾借鉴log-structured file system公开论文开发过一个标准的log structrue filesystem (轩辕系统)原来设想用于虚拟机存储,但很可惜由于种种原因项目最终夭折,没有被最后采纳。
我有幸当时看过他们的文档和代码,虽然当时我对log structure filesystem理解和虚拟机镜像存储需求理解都尚且幼稚,可隐约也觉得log structure filesytem 结合 hdfs这种只能追加的分布存储系统是虚拟机镜像存储的一个不错选择(因此我还多次请教志丰,向其学习log structure filesystem 实现,其精湛技术和专业素质让人敬佩)。
随着我对log structure filesytem 和虚拟机镜像IO的进一步研究和领域,更重要的是有志丰等人的先期工作证明了这种方案的可行,让我相信针对虚拟机镜像存储特点实现一个log structrue block 镜像存储系统确实是值得一试的。因此针对虚拟机镜像访问特点,我开始着手实现一个针对块(block)的log structure block系统,也就是现在的hlfs —— 它相比标准log structure filesystem 而言会实现的更加简练(因为没有file层次结构),其上的快照、merge 方案等都应更简练和高效,优化余地更大。
很抱歉,hlfs发布初期没有提及志丰他们。直到今天在征得了志峰和其团队同意后,特别感谢他们当年的开创性尝试。如果没有他们前瞻性工作,hlfs肯定会走很多弯路。
刚向志丰要来了那几位素未平生的朋友的名字(如下),再次感谢他们,也希望他们能对cloudxy多提建议,多施与援手—— 他们是:
* 杨志丰 : yangzhifeng83@gmail.com
* 董超 : dongchao51@hotmail.com
* 郑文静 : zhengwenjingster@gmail.com
* 邓岩 : dengyan@act.buaa.edu.cn
背景介绍
HLFS的使用场景是为弹性云平台提供虚拟磁盘(类似amazon的EBS)提供后台存储服务。它需要满足高可用性、高性能、能随机读写、快速故障恢复、数据快照、回滚等特性。
实现简述
hadoop dfs 可被看做一个可靠的、随时可扩展的“磁盘”;但美中不足的是其不能随机写,只能追加写入,因此还不能直接作为我们的镜像存储系统。那么我们需要借助log structrue filesystem的理念,使用追加方式在hdfs上实现随机读写的要求。
上所述我们设计的最基本思路是 —— 利用hadoop dfs为我们提供可靠的、分布式的存储介质;然后在其上实现LFS。