互联网企业使用分布式存储的探讨?

目前企业使用linux自带的nfs,提供存储共享和数据存储,集中备份功能,供业务使用。架构采用两台SAS接口的大容量7500转的硬盘,raid10,双机keepalive热备,提供vip和切换后的映射以及双机间的rsync数据同步。nfs采用v3版本,含有部分目录acl控制,客户端包括linux5、6、aix5.5、6.1。存...显示全部

目前企业使用linux自带的nfs,提供存储共享和数据存储,集中备份功能,供业务使用。
架构采用两台SAS接口的大容量7500转的硬盘,raid10,双机keepalive热备,提供vip和切换后的映射以及双机间的rsync数据同步。nfs采用v3版本,含有部分目录acl控制,客户端包括linux5、6、aix5.5、6.1。
存储的数据绝大多数是K级小文件,txt或xls,访问方式是http和ftp等不同的协议,非书序读密集,目前遇到的问题如下:
1.容量,扩容只能采用横向硬件扩容,目录拆分的方式,傻大粗!
2.数据量上来以后,受rsync限制,主备机数据同步跟不上。
3.nfs协议在支持数量大的目录时,有些力不从心,千万级数据目录罗列耗时长,且用户感觉明显。

曾经参考过的替换方式:
1、hadoop,基于分片、副本存储的方式,对小文件的支持并不理想。
2、http应用负载分发,客户端访问方式不一,如,对支持ftp传送数据上,此种方式并不合适。
3、ceph,复杂的配置和管理在维护成本上投入过高,有些喧宾夺主。听说还有mysql的对象存储,还没研究,请问各位有什么好的点子提示下?

收起
参与39

查看其它 8 个回答david0405的回答

david0405david0405架构师东方证券

1,容量方面还可以试试看有pNFS可以并行提供nfs服务,这比较好简便。
2和3的问题原因是一样的,因为文件数目过多,百万级别以上rsync软件或者专业的同步软件如英方都会遇到瓶颈,因为文件系统清单的瓶颈。海量小文件的确是一个难点,你可以看一下你们的nas server端 nfsstat,看看directorylist操作数占了所有操作数中的百分比。超过15%以上基本上都会遇到这个问题。现有厂商能解决海量文件同步问题的只有netapp的snapmirror,他是基于存储底层校验、同步文件。因为不读文件分区表,所以速度很快,我这里500万小文件共计3T,全同步约4小时,同步速度可以在600MB/s以上。就你的问题1和2来说,我的建议是用netapp的nas存储解决。

另外还有一些“免费的”优化方式简单的可以试试 打包历史数据、采用更多级目录,应用端维护文件清单进行文件访问(减少目录索引次数),使用数据库存储对象等。 有一定效果,不治本,但是对现有架构改动较小。

针对问题3,现有的技术解决方案是对象存储,很多公司会自己维护一套系统来进行小文件存储,国内新浪、七牛做的比较好,可以自己搜索下。现在事实上的标准应该是亚马逊的S3,ceph似乎已死。除开源产品不说(要有心思钻研,要投入较强的技术力量),现有的比较成熟的商业产品有ibm的cleversafe(收购的),emc的ecs(也是收购的。)还有netapp的storagegrid,还有华为的N9000(这个没有软件版)

本论坛ibm推的东西比较多,多说一句cleversafe有软件版本,可以自己下镜像部署在服务器或vmware上,可以免费poc,建议试试看。

证券 · 2017-05-05
浏览5278

回答者

david0405
架构师东方证券
擅长领域: 存储灾备服务器

david0405 最近回答过的问题

回答状态

  • 发布时间:2017-05-05
  • 关注会员:12 人
  • 回答浏览:5278
  • X社区推广