科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网服务器频道虚拟化/云计算Salesforce:避免故障?不如积极应对

Salesforce:避免故障?不如积极应对

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Salesforce认为,如果你搭建的系统需要在大规模级别上运行,那么与其浪费时间和金钱试图避免故障的发生,还不如面对现实,备足各种廉价工具以应对故障的处理。这种策略可以帮助你节省大量费用,并且能够更加方便的令应用程序安全度过灾难。

作者:ZDNetserver频道 来源:ZDNetserver频道 2013年11月4日

关键字: Salesforce Keystone Ricon West 热点追踪

  • 评论
  • 分享微博
  • 分享邮件

ZDNet至顶网服务器频道 11月04日 编译: RICON West 2013大会报道  如果你搭建的系统需要在大规模级别上运行,那么与其浪费时间和金钱试图避免故障的发生,还不如面对现实,备足各种廉价工具以应对故障的处理。

Salesforce认为,这种策略可以帮助你节省大量费用,使得你在无需浪费金钱购买各种昂贵硬件设备的同时,能够更加方便的令应用程序安全度过灾难。

Salesforce设计师、前Amazon 基础设施主管Pat Helland在上周二举行的Ricon West分布式系统大会上做了一次开诚布公的演讲,他在谈及Salesforce的内部“Keystone”系统时表示,该系统给企业客户提供了更加强大的备份和复制功能,用户无需花费预算购买Oracle的基础设施支持即可完成对存储于Oracle内的数据进行备份和复制。

“你需要有互联网级别的企业依托弹性,”Helland说道,“发生故障实属正常,每间隔一段时间都将可能发生一次故障,人们已经对故障的发生变得习以为常。而为了应对故障,你必须将信息和固定不变的数据进行分层存储。而理想的设计方案是面向互联网规模级别对系统进行设计”。

Helland解释说,Salesforce的Keystone系统可以提取存储于Oracle中的数据,然后将这些数据分层放置在一套低端的基于商用服务器的基础设施之上。他表示,Oracle的技术给Salesforce带来了信心并保证了数据的一致性,而辅助商用系统和开源软件则为Salesforce带来了更大的灵活性以及更为便宜的提供存储基础设施的方法。

Keystone的内部结构

Helland介绍道,Keystone由几个存储服务器集群和两个750GB的固态硬盘组成,这些存储服务器集群内置了10个4TB的驱动器。Salesforce倾向于购买“市面上最低端的固态硬盘”,然后设计系统,避开故障问题。Keystone的存储底层包含10s到100s的节点集群,这个数据也有可能被扩展至上千。

Keystone背后的设计方法源于两项技术,分别名为ROC(Recovery-oriented Computation,针对修复计算),和SOFT(Storage Over Flaky Technologies,存储对抗故障技术)。ROC源自美国加州大学伯克利分校在21世纪中期所做的一些研究成果,涉及快速故障恢复的系统设计工作。而SOFT则是Helland自己的项目,用于在低端硬件设备的基础上保证存储系统的搭建工作。

Salesforce:避免故障?不如积极应对

‘假设所有的一切都不好使的话,你将会获得更好的系统性能’

Salesforce利用这些技术进行系统设计,以便能够更好的处理商用基础设施的不稳固性,用户也无需升级到更加昂贵的系统。他说道:“存储服务器可能会崩溃,他们可以依靠他们的框架结构。如果你假设所有的一切都不好使,那么你将会获得更好的系统性能。”

Keystone有四大要素:一个用于跟踪数据的目录、一个负责存储的商店、一个用于长期存储的保管库,以及一个负责在系统之间通过广域网进行数据迁移的数据泵。

目录为存储系统之间提供了一个媒介,例如Oracle和搭建在商用硬件之上的二级存储系统。主存储器可以指向Keystone,而后Keystone会指向辅助系统,这样一来,用户无需反复操作主系统就可以轻松改变辅助数据的位置。

商店则可保存被传输至目录的数据,同时Salesforce采用了如谷歌、Facebook和亚马逊等大型公司所开创的设计方法,即使用大量低成本硬件做后端存储,同时通过一个软件层来实现有效的保证和良好的可靠性。

这种设计方法存在一个突出的问题,即故障。Helland表示,故障经常发生,每年大概有超过4%的SATA硬盘驱动器出故障,例如一个使用1200台Salesforce存储服务器的数据中心每年将会有480个驱动器作废。因此,要应对这些故障,存储系统系统需要被复制三次。然而,服务器也会以每年接近1%的概率出问题,他解释道,这样数据也必须从基础设施中被远程复制。

这就涉及到了如何在复制数据的时候,保持数据一致性的问题,因此我们需要有一个缓存层来存储数据的位置,并保持数据的实时更新。他说,而这是建立在低价消费者级别的固态硬盘上,具有强大的可靠性。

他表示:“消费者级别的固态硬盘也会损坏,不过该设备每年的损坏率低于1%。”在3000个读写周期之后,这些硬盘便会损坏,也就是说,若使用一个750GB的固态硬盘,在其破损之前,你可以进行2.25PB的硬盘读写操作。

有时候,这些固态硬盘还会遇到数据衰变的情况,根据Helland的经验,使用尽可能最便宜的系统每进行10的14次方比特(11.3TB)的读写就会出现一次比特误差。而顶级的企业级固态硬盘的数据衰变率则为每1019比特(1.08EB)出现一次比特误差,但是这些顶级固态硬盘的价格也要昂贵的多。

他表示,现代软件的研发需要考虑到其将出现的错误情况,因为如果你以相互联系的方式将软件设计为一个整体,那么一个小小的硬盘断电就会导致整个系统的瘫痪,让你根本无法继续工作。

他说道:“如果系统中的任何一个部件都会出现故障,那么在真正出现故障之后,这个系统将变得更加强大。如果你四处寻找解决方法而没有人知道出故障时到底发生了什么事情,那么你将不会拥有一个强大的系统。”

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章