上周五去北航参加了一个文件系统和存储的交流会,是华为牵头办的,小会议,参会不到30个人。本人水平有限,只能挑一些听懂的留个笔记。


陆游游/

首先是清华大学的陆游游同学讲一个全新设计的基于FLASH存储的文件系统。大概思路是将存储管理和SSD上的FTL合并在一起做成一层,还利用NAND片上每个PAGE的额外存储空间存放一些元数据以在机器断电重启后重新沿链接找回数据(这样就可以不用journal了,似乎也可以认为是把journal放在了PAGE的额外存储空间里),然后在上面架一个新的简化的文件系统做基本的namespace管理。这个思路跟DFS有点像,不过DFS只是上面那一层薄薄的namespace管理,下面就交给Fusionio的firmware了。

华为的谢美伦介绍了手机终端上几种常用文件系统的评测。Android上当然首推ext4,但是后起之秀f2fs更简单且随机写性能不输ext4(这点大家有争论,有人认为这个评测应该写满存储卡再全删掉,再重新测试,也就是要把FTL打乱了再测,会更公正),不过来自阿里云的刘铮表示:google倾向于在服务器和手机上使用统一的文件系统即ext4以方便维护。看来f2fs虽然更贴合NAND,但是大厂支持上还不够丰富。

来自百度的杨勇强介绍了百度的分布式存储和文件系统。这个,互联网的玩法太相似了,主从结构,erasure code,就不累述了。讲到中途的时候,来自华为存储部门的几个工程师问了很多分布式环境下锁的问题,发现互联网由于应用和底层都是自己写,所以可以玩很多花招,比如一个文件只允许一个写进程操作等等,而且,互联网公司不怕内核panic,反正是负载均衡,宕机一台重启就可以了,所以对底层软件的稳定性也没有太多要求。他们深感做企业存储不得不高效的实现整个POSIX,比互联网的分布式存储难做多了。也有工程师向百度提问为什么用ARM服务器?真的那么需要省电吗?百度的谢广军回答说省电是必要的,一台两路服务器光xeon CPU耗电就到了85瓦,换成ARM变成几瓦,还是挺明显的。

最后由来自华为的程菊生博士介绍已经广泛宣传的OceanStore 9000,最大40PB的存储集群。我们几个人马上提问:用的是以太网还是Infiniband?答曰Infiniband,大家相视而笑,这年头,高端一点的企业存储不用Infiniband根本不行,延时降不下来啊。OceanStore 9000里既有硬盘也有SSD,SSD用来做自动分层的缓存层(这大概是为了成本),其中硬盘用RAID 2.0的方式组织,以加快坏盘后的数据恢复速度。


交流会/

纯个人感受,做存储(泛泛而谈,不专指企业存储),底层和架构就是那些,Infiniband啊,主从结构啊,RAID啊,双控啊,各家的都差不太多。就看怎么拼在一起,怎么处理一系列细节问题了,换句话说,看的是各家的节操 🙂