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

目前企业使用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的对象存储,还没研究,请问各位有什么好的点子提示下?

9回答

TonyWangTonyWang  系统工程师 , BY
aixchinaaigleccocwwh等赞同了此回答
再提两个1.用过GPFS,用几台x86搭建的集群,作为OpenStack 的存储节点,后来因为性能问题放弃。2.VSAN vmware 的存储虚拟化产品,因此运维vm存储很适配,支持对特定虚机的存储策略,如副本数。目前新版本应该也可以作为其他的存储...显示全部

再提两个
1.用过GPFS,用几台x86搭建的集群,作为OpenStack 的存储节点,后来因为性能问题放弃。
2.VSAN vmware 的存储虚拟化产品,因此运维vm存储很适配,支持对特定虚机的存储策略,如副本数。目前新版本应该也可以作为其他的存储

收起
 2017-05-04
浏览1760
黄大蔚黄大蔚  系统架构师 , 东方证券
chenhgaixchinalihuizhi赞同了此回答
1,容量方面还可以试试看有pNFS可以并行提供nfs服务,这比较好简便。2和3的问题原因是一样的,因为文件数目过多,百万级别以上rsync软件或者专业的同步软件如英方都会遇到瓶颈,因为文件系统清单的瓶颈。海量小文件的确是一个难点,你可以看一下你们的nas server端 nfsstat,看看direc...显示全部

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
浏览1374
anderslandersl  研发工程师 , IBM
aixkevin晓月赞同了此回答
可考虑用对象存储,走http协议。商业产品有IBM收购的Cleversafe,开源的有OpenStack Swift。显示全部

可考虑用对象存储,走http协议。
商业产品有IBM收购的Cleversafe,开源的有OpenStack Swift。

收起
 2017-05-05
浏览1428
willowwillow  系统工程师 , 某银行
aixkevin赞同了此回答
使用分布式对象存储技术的产品应该可以满足您的扩容需求,记得社区之前介绍过的一款IBM的类似产品,可以参考下:http://www.aixchina.net/?action-topic-id-253显示全部

使用分布式对象存储技术的产品应该可以满足您的扩容需求,记得社区之前介绍过的一款IBM的类似产品,可以参考下:
http://www.aixchina.net/?action-topic-id-253

收起
 2017-05-05
浏览1457
匿名用户匿名用户
aixkevin赞同了此回答
方向是使用开源产品,不使用集成度高的厂商产品,个人觉得商用企业级nas也可以提高。有没有同僚用过数据分层的开源工具?就像存储分层一样,通过计算或者指定热点来分配不通存储硬件的实现?...显示全部

方向是使用开源产品,不使用集成度高的厂商产品,个人觉得商用企业级nas也可以提高。有没有同僚用过数据分层的开源工具?就像存储分层一样,通过计算或者指定热点来分配不通存储硬件的实现?

收起
 2017-05-05
浏览1419
美国队长美国队长  研发工程师 , Alibaba
aixkevin赞同了此回答
尝试使用阿里的tair进行存储,hadoop只适合大文件,小文件会造成很多碎片,浪费空间浪费效率,我个人觉得是不是可以考虑对热点小文件进行单独存储,定时同步到分布式文件系统中显示全部

尝试使用阿里的tair进行存储,hadoop只适合大文件,小文件会造成很多碎片,浪费空间浪费效率,我个人觉得是不是可以考虑对热点小文件进行单独存储,定时同步到分布式文件系统中

收起
 2017-05-05
浏览1395
BJ-也许 邀答
  • 这种方法不错,问题是怎么解决客户端在不改变访问路径的情况下,迁移数据?
    2017-05-05
阳海阳海  IT顾问 , 某平台架构部高级技术经理
lihuizhi赞同了此回答
从应用角度,存储分两种,一种是在线业务存储,一种是文件存储,要具体看场景。如果是在线业务存储,比较多的使用MySQL,前面套个访问层控制来做分布。如果是文件存储,基本上自己写个分发策略来做大规模文件存储。近几年也有开始使用CEPH的,但因为ceph复杂度问题,应用也是有一定场景的...显示全部

从应用角度,存储分两种,一种是在线业务存储,一种是文件存储,要具体看场景。
如果是在线业务存储,比较多的使用MySQL,前面套个访问层控制来做分布。
如果是文件存储,基本上自己写个分发策略来做大规模文件存储。
近几年也有开始使用CEPH的,但因为ceph复杂度问题,应用也是有一定场景的。

收起
 2017-05-05
浏览1334
晓黎 邀答
赵海赵海  技术经理 , 大连
1)IBM有一款产品IBM Spectrum Accelerate,是高端存储XIV的软件版本。本人倒是没有试验过,您不妨交流交流,试验试验。 2)分布式NAS、好多厂家有这样的产品。包括EMC isilon,华为的N系列等等。 3)GPFS、GFS基础之上,进行架构优化。...显示全部

1)IBM有一款产品IBM Spectrum Accelerate,是高端存储XIV的软件版本。
本人倒是没有试验过,您不妨交流交流,试验试验。

2)分布式NAS、好多厂家有这样的产品。包括EMC isilon,华为的N系列等等。

3)GPFS、GFS基础之上,进行架构优化。

收起
 2017-05-05
浏览1432
BJ-也许 邀答
godservantgodservant  存储工程师 , 张江
ceph的商业版本会不会更好一点显示全部

ceph的商业版本会不会更好一点

收起
 2018-08-15
浏览672

问题状态

  • 发布时间:2017-05-04
  • 关注会员:10 人
  • 问题浏览:5323
  • 最近回答:2018-08-15
  • 关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
    © 2019  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30