设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 IT综合资讯 查看内容

从Google备份互联网看“数据安全”

2014-2-14 09:30| 发布者: joejoe0332| 查看: 3547| 评论: 0|原作者: 毛梦琪|来自: CSDN

摘要:   作者Todd Hoff是High Scalability创始人,为我们解读Google数据保密和数据安全负责人Raymond Blum的演讲。数据安全的一个重要工作就是备份,备份的容量扩展、存储备份的媒介、备份的效率......通过对互联网中庞 ...


  • 备份是无用的,真正需要关心的是还原
  • 在有人需要数据之前发现数据是否存在问题,你确定需要数据时再还原。
  • 持续还原。不断随机选择5%的备份,还原并对它们进行比较。为什么呢?因为需要在数据丢失之前查明数据是否还能用,找出存在的问题。
  • 自动比较。因为原始文件已更改,所以不能与原始进行比较。所以将校验码和校验码进行比较。把它带到源媒介、磁盘或闪存,或者其它的媒介。请确保数据可以做一次往返,自动比较是一直都在做的事情。
  • 故障率变化的警报
  • 你可能想要知道是不是有什么发生了变化。如果一切运行正常,那就没有必要告诉我了。
  • 预期会有一些失败,但别第一次尝试还原的文件失败就发出警报。
  • 假设首次尝试的失败率是N,第二次尝试的失败率为Y。如果故障率发生变化那一定是哪里出问题了。
  • 损坏
  • 磁盘随时都有可能中断,但因为你监视它,所以你能及时的了解到。
  • 要是磁带的话,只有你使用它的时候,才知道是不是坏了。虽然磁带保存的时间很长,但是你想在用它之前检测它是不现实的。
  • 不要将数据仅写到一盘磁带上。他们是墨盒,随时会有意外发生。
  • 向磁带写入数据时,编写器要保持数据不变,直到数据被完全写入。
  • 建立4盘完整磁带,然后通过XOR(逻辑运算)生成第五盘代码磁带。你可以失去5磁带的任何一个,也能恢复数据。
  • 现在告诉编写器它们可以更改源数据,因为数据已经到了到最终的物理位置,有冗余了。
  • 谷歌备份的每一bit数据都要经历这个过程。
  • 数以百计的磁带每个月都将丢失,并没有造成数据的丢失,就是得益于这个过程。
  • 假设当检测到一盘磁带丢失,通过使用连续还原和同级磁带重新生成另一个磁带,一切都没问题。在那种两个磁带都被损坏的罕见情况下,如果磁带上的受损的两个点相同,那数据就只好丢失了,只能在subtape一级完成重建。
  • 实现这些技术的成本很高,但是为了不丢失数据,很值得。
  • 备份是你为奢侈的还原付出的代价
  • 它是指还原系统而不是备份系统。还原是一个不可屏蔽的中断,他们胜过一切。
  • 让备份变得复杂而且只要需要就这样做。让还原变得快捷而且越自动化越好。
  • 恢复应该是傻瓜式、快速和简单。就算是一只猫也能完成还原操作。
  • 无论你休息得很好还是累的很惨,还原时才不会问你是不是准备好了。所以不要让人为因素决定服务数据还原的成功与否。
  • 大部分的系统都是这样工作的。
  • 数据源或许能够将数据存储一段时间,也许是在它备份之前的几天。但一旦备份完成,它随时都可以还原,而且还原得很快。
  • 为了使还原速度更快,不能将全部资源用于备份。花两个小时来读取磁带是不可行的。只写一半磁带,并行读取它们,这样你仅用一半的时间就可以获取数据。
  • 扩展是个问题
  • 当你有exabyte级的数据时,也会有现实世界的限制。如果你要复制10exabyte数据,然后它会花10周时间备份每一天的数据。
  • 考虑到分布在世界各地的数据中心,可供选择的方案并不多。你能给每个站点无限的备份容量吗?你会按区域划分所有备份吗?转移数据的带宽呢?你难道不需要带宽来为挣钱的流量服务吗?
  • 看看有关的费用。也有一些妥协方案,比如不是每个网站都有备份设施。必须平衡网络中的可用容量。怎样才能最划算?例如,只在有足够带宽的站点中进行备份。
  • 不能线性扩展
  • 你不能只是说想要更多的网络带宽和更多的磁带驱动器。驱动器中断的情况,如果你有10000个驱动器坏了,你需要10000个运算器来替换它们。你有10000个装卸码头来放磁带驱动器,直到一辆卡车把它们运走。这一切都不可以是线性的。
  • 虽然磁带库的数量提高了一个数量级,但参与其中的人并没有随之线性增长。
  • 比如早期曾有人预测,随着电话的增多,30%的美国人会被雇佣为电话接线员。显然他们没预见到未来的自动接线。
  • 自动化
  • 调度被自动化。如果你有一个服务,你说:我有一个数据存储,每N天我需要一个备份,在M时必须还原。内部系统完成这些事情:计划备份、运行还原测试和运行完整性测试等等。并且磁带故障的处理也是全自动的。
  • 人是无法看到这些的。也许有一天,你可能会问平均多少个磁带损坏了。或如果磁带破损率从每天100盒磁带变成每天300盒磁带时,就会发出警报。但在那之前不要问我:如果一天100盒磁带损坏是不是在正常水平内?
  • 人不应参与稳态操作
  • 装载和运输驱动器仍然是人类的活动。自动化的接口准备装运标签,得到RMA号码,检查已经出来的软件包,拿回执,如果出现故障,人才会进行干涉。
  • 库软件维护也类似。例如固件更新时,人不会将这些更新运行在每一个系统中,系统会自动下载这些更新,并进行验证、运行。这些常规的操作不需要人的干预。
  • 自动处理死机事件
  • 机器平均一分钟死两台。如果一台机器在进行MapReduce作业期间使用30,000机器,有一台机器死机了,那就不要告诉我了,处理完它,继续工作。找到另一台机器,转移任务,重新启动。
  • 如果有依赖关系那就先等待。如果你等得太久,就让我知道。你处理你自己的计划。这是算法的工作,不需要人为的操作。
  • 保持效率正向提高
  • 大幅提高利用率和效率。不能有100倍的数据就需要100倍的人或机器资源。

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部