以下对话是 CTO 圆桌会议的第二部分,会议汇集了七位世界一流的存储技术专家。本系列 CTO 论坛侧重于商业计算界面临的近期挑战和机遇。在 专业委员会的监督下,该系列的目标是为 IT 经理提供专家建议,以帮助他们在投资新架构和技术时做出明智的决策。我们再次感谢 Usenix 执行董事 Ellie Young,她慷慨地邀请我们在 2008 年 2 月 27 日于加利福尼亚州圣何塞举行的 Usenix 文件和存储技术会议 (FAST '08) 期间举办了本次小组讨论。Young 和她的工作人员在会议期间为我们提供了极大的帮助, 的所有人都非常感谢他们的努力。——Stephen Bourne
主持人
MACHE CREEGER Emergent Technology Associates 负责人
参与者
STEVE KLEIMAN Network Appliances 高级副总裁兼首席科学家
ERIC BREWER 加州大学伯克利分校计算机科学系教授;Inktomi 联合创始人(被 Yahoo 收购)
ERIK RIEDEL 希捷科技希捷研究院接口与架构部门主管
MARGO SELTZER 哈佛大学计算机科学 Herchel Smith 教授,工程与应用科学学部教授;Sleepycat Software 创始人(被 Oracle Corporation 收购);Oracle Corporation 架构师
GREG GANGER 卡内基梅隆大学电气与计算机工程系教授,计算机科学学院教授;并行数据实验室主任
MARY BAKER 惠普实验室,惠普公司研究科学家
KIRK McKUSICK Usenix 协会前主席;BSD 和 FreeBSD 架构师
CREEGER 对于那些以管理存储为生的人来说,他们能从这次对话中获得什么?我们能提出什么建议?你们认为在不久的将来,哪些技术能够帮助他们?
KLEIMAN 今天的存储管理员面临着巨大的问题,而任何工具都无法充分解决这些问题。他们有主目录、数据库、LUN(逻辑单元号)。这不仅仅是一组驱动器上的一组位;它们遍布各处。他们有副本,可能还需要管理它们之间的镜像关系。他们必须管理灾难恢复场景,以及在整个系统发生故障时,另一个站点的服务器基础设施。他们有所有这些机制来处理所有这些数据集,日复一日,他们必须监控整个系统,看看它是否正常工作。仅仅能够管理这种混乱——他们必须处理的成千上万的数据集——就是一个尚未解决的大问题。
CREEGER 没有人从事提供企业级存储基础设施管理业务吗?
KLEIMAN 在过去,在这方面做得最好的是备份人员。他们实际上为您提供了一种数据传输机制,可以在后台管理一切,并且他们为您提供了一个 GUI,允许您说,“我想查找这个特定的数据集,我想看看我有多少个副本,我想恢复那个特定的东西”;或者“我想知道在这么长时间内已经制作了多少个副本。”
当然,问题是这一切都在爆炸式增长。所以现在,不仅仅是“我在磁带上有哪些副本?”而是“我在世界各地的不同位置有哪些副本?我有哪些镜像关系?”麻烦的是,今天这一切都存在于某人的脑海中。我称之为“镜像致死”。这很困难。我们最终会理清一切的。
McKUSICK 您认为可能的解决方案是什么?
KLEIMAN 人们正在构建令人发指的临时系统脚本——Perl 脚本和其他类型。我的公司正在研究这个,存储行业的许多其他人也在研究,但这不仅仅是一个单机问题。它是跨机器管理,甚至是异构管理。我们必须明白,我们正在解决 QoS(服务质量)、复制、灾难恢复、存档和备份的融合。我们需要一个统一的 UI 来处理所有这些功能,这些功能过去都是出于不同的原因由不同的机制处理的。
BREWER 这是一个核心问题。您有多少个副本?您为什么要拥有它们?每个副本都有其用途,无论是作为备份,还是用于提高读取吞吐量的复制,还是 Flash 中的缓存副本。由于它们是自动分布的,因此您无法跟踪所有这些内容。我认为您实际上可以管理文件系统——广义上讲,是存储系统——从而主动分配您拥有的副本数量。
SELTZER 用户始终在存储管理员范围之外制作副本。
RIEDEL 因为数据量及其用途都在不断增加,所以您必须让机器帮助用户标记内容的元数据——帮助他们了解数据是什么、副本的用途、它来自哪里、他们为什么拥有它以及它代表什么。
SELTZER 通过数据来源,您可以识别副本,无论它们是有意还是无意制作的。这是一个开始。然而,回答其他语义问题,例如“为什么要制作副本?”,仍然需要用户干预,而这在历史上一直很难获得。
KLEIMAN 每个数据集——数据库、用户的主目录——都具有某些与之相关的属性。对于数据库,您需要确保它具有一定的服务质量、灾难恢复策略以及一定数量的存档副本,以便它们可以追溯到若干年前。他们可能还希望拥有一定数量的备份检查点,以便在发生损坏时可以回溯。
这些都是可以预定义的数据集属性。一旦设置,系统就可以做正确的事情,包括制作尽可能多的相关副本。人们制作副本不是为了制作副本;他们试图实现这个更高级别的目标,但没有告诉系统这个目标是什么。
SELTZER 您是说您需要来源,并且您需要工具来添加来源,以便当 Photoshop 制作副本时,会有一条记录说,“好的,这现在是一个 Photoshop 文档,但它来自另一个文档,然后由 Photoshop 转换而来。”
BREWER 我完全同意来源,但我认为您说过来源本质上是行不通的,因为用户总是可以制作不受任何人控制的副本。我认为这是违规行为,而不是遵守规则。大多数副本都是由软件制作的。
SELTZER 我同意,但我认为这些副本有一种泄漏到域外的方式,在那里,诸如重复数据删除之类的东西无法对它们做任何事情。通常发生的情况是,我穿过防火墙,打开公司服务器上的某个东西,然后,当我即将出差时,我将文件保存到我的笔记本电脑并带走我的笔记本电脑。Steve 的重复数据删除软件永远不会再看到我的笔记本电脑。
BREWER 是的,这就是我之前关于数据管理的观点。如果您要向任何系统管理员提出这种情况,他们会睁大眼睛,非常害怕。应该更难做到您刚才所说的那样。律师和各地的系统管理员都认为这个问题是一个巨大的问题。数据泄漏是一个大问题。
KLEIMAN 实际上拥有最终用户应用程序的公司将必须围绕这个领域制定架构和策略。他们肯定会签署并可能加密文档。随着时间的推移,他们还将承担我们一直在谈论的事情的责任:加密、控制使用和外部副本。这个问题的一部分在应用程序领域得到了解决,并且只有少数公司是该领域的实际所有者。
SELTZER 有时您想要那种来源,有时您真的不想要。
CREEGER 两者之间会有一条模糊的界线。定义什么是数据对象的无关副本或派生将与原始对象的语义密切相关。存储系统将被要求对它们存储的对象具有更深层次的语义理解,并且决定该信息是否冗余和可删除将变得更加复杂。
KLEIMAN 好消息是,Microsoft 等最终用户应用程序公司的趋势是相对开放其协议。拥有这些开放且可访问的协议将使人们能够在整个系统中使用通用模型。所以,是的,如果您盲目地加密,您将破坏任何重复数据删除,因为那时一切都变成了克林贡语诗歌。我应该能够确定两个被复制并单独加密的文档是否相同。我希望这是可能的。
CREEGER 我们将能够提出哪些建议?如果 IT 经理要对存档类型的解决方案、灾难恢复、重复数据删除等进行投资,那么他们应该如何思考今天和未来 18 个月内如何设计他们的架构?
KLEIMAN 在未来十年,企业级数据将迁移到中央存档功能,该功能经过压缩和重复数据删除,可能具有合规性和您可能需要的任何其他灾难恢复功能。一旦数据进入此存档并具有某些已知属性,企业存储管理器就可以控制其访问方式。出于性能原因,他们可能在网络边缘有副本——也许是 Flash,也许是高性能磁盘,也许是其他东西——但对于所有这些数据,都有一个中央访问和控制点。
CREEGER 因此,人们应该考虑构建一个具有已知属性的中央存档存储。然后,一旦中央存档到位,人们就可以利用其他功能,例如虚拟化或重复数据删除,而无需过多担心外围/边缘存储。
KLEIMAN 我今天在家就是这样做的,我使用一项服务将我家服务器上的所有数据备份到互联网。当我告诉他们备份我的所有 Microsoft 文件时,Microsoft 文件不会通过网络传输。该服务知道他们不必复制 Word.exe。
BAKER 我有点不同意。过去几年我一直在做的事情之一是研究人们和组织如何丢失数据。您可以通过多种惊人的方式丢失东西,而且许多灾难故事都是由于,即使是在虚拟意义上,也是由于中央存档造成的。
在其他管理域下拥有这些边缘副本有很多值得称道的地方。以这种方式保护数据的有效性取决于您想在多大程度上认真地保存数据、保存多长时间以及您面临什么样的威胁环境。中央存档的便利性和经济性非常引人注目,但这取决于您想在多长时间内承担哪些数据风险。
SELTZER 如果 Steve 的互联网存档服务倒闭了怎么办?
KLEIMAN 就我而言,我仍然有一个副本。我并不是暗示存档位于一个位置,并且存档中只有一个数据副本。它是一个分布式存档,具有更好的复制属性,因为您希望获得更高的长期可靠性。从用户的角度来看,这是一个您可以从中提取文档的云。
RIEDEL 过去几年的总体趋势是更多分布,而不是更少。人们使用大量各种各样的高容量便携式设备,例如 BlackBerry、便携式 USB 设备和笔记本电脑。对于系统管理员来说,捕获数据的能力在今天更具威胁性。五到十年前,您只需要担心严格控制的台式机。今天的情况要复杂得多。
我参加过一次会议,有人预测,在两三年内,公司将允许您购买自己的设备。您将购买自己的笔记本电脑,带到工作场所,他们会在上面添加一些软件。但即使在公司 IT 部门控制您的笔记本电脑和台式机的时代,关于 BlackBerry、USB 和 iPod 的列车也肯定已经驶离车站。因此,对于管理员负责的很大一部分内容,将数据拉回到中央存储将无法奏效。
CREEGER 这与 Steve 最初的论点背道而驰。
KLEIMAN 我不这么认为。我确实认为许多分布式数据将位于笔记本电脑上。可能会对这些数据进行一些控制,也许使用 DRM(数字版权管理)机制。请记住,在企业中,最重要的东西实际上是两件事:磁盘上的位和人们的脑细胞。两者都非常重要,对于企业拥有的东西——它付钱给员工生产的东西——它将希望确保这些位存在于安全的地方,而不仅仅是在某人的笔记本电脑上。某人的笔记本电脑上可能有一个加密副本,企业可能拥有密钥,但为了让公司对这些位声明知识产权,您将必须以某种方式、形式或形式集中管理和保护它们。
BREWER 我同意那是公司想要的,但实践可能大相径庭。
KLEIMAN 这是我不同意的部分,因为员工合同的一部分是,当员工生成对公司重要的位时,公司必须拥有它们的副本。
GANGER 让我们小心点。这里有两件相互关联的事情正在发生:公司是否拥有信息的副本,以及公司是否可以控制还有谁获得副本?Erik 刚刚提出的就是一个后者的例子。Steve 一直在谈论的更多是前者。
KLEIMAN Margo 一直在说公司可能没有副本。我从根本上不同意这一点。那是公司付钱给员工生成的东西。问题是,公司可以控制副本吗?我的工作假设是,这超出了任何存储系统的范围。DRM 系统将不得不发挥作用,然后是建立在其之上的密钥管理。
SELTZER 我不确定我是否相信这一点。是的,公司关心员工是否完成工作,但很少有公司告诉员工如何完成工作。如果我的工作是生成一些信息和数据,我可能会出差一周,这可能需要一段时间才能完成。与此同时,我可能正在我的笔记本电脑上生成有价值的公司数据,而这些数据尚未在任何公司服务器上。它是否会到达那里是一个流程问题,而流程问题并不总是按照我们的意愿解决。
CREEGER 你们俩都对。Margo 希望以她感到舒适的任何方式为她的公司创造价值——在笔记本电脑上,在她旅行时,在家——无论哪种方式有效,都能为她的雇佣合同产生最高的价值。如果公司重视 Margo 的工作,它将愿意在合理的范围内接受 Margo 的工作方式。
另一方面,从 Steve 的角度来看,迟早,Margo 将不得不将自由形式的边缘文档签入中央受保护的存储库,并接受控制。然后她可以继续进行下一个生产阶段,这可能是原始作品的 rev 2 衍生版本,或者可能是完全不同的东西。
RIEDEL 您当然必须小心。您正在逆潮流而动,潮流是走向去中心化。公司正在鼓励人们在海滩和在家工作。
KLEIMAN 我所说的一切都与此不冲突。从本质上讲,提炼后的知识产权必须在某个时候回到公司。
SELTZER 有时,流程才是绝对关键的。我偷了代码还是自己编写的?该信息仅封装在我的笔记本电脑上。无论我是否将其签入 Steve 的存储库,当 Mary 的公司起诉我,因为我偷了她的软件时,您真正关心的是在我的笔记本电脑上发生或未发生的创建过程。
BREWER 我认为这不是存储管理员的日常问题。我们正在讨论的是,第一个目标是知道您不想丢失哪些副本,这与副本泄漏给其他人是一个不同的问题。
KLEIMAN 我确实认为法律体系仍然有效。技术不能使其过时。您仍然对公司负有法律义务。您仍然有义务不违法。无论我们提出什么技术,可能都会有人找到绕过它的方法,这将需要法律体系来填补空白。对于我们在笔记本电脑上无法控制的所有内容,情况绝对如此。
SELTZER 我还认为,我们需要关注的不仅仅是副本;还有衍生作品,使用版权术语来说。例如,“哦,看:文件 A 是文件 B 的输入,文件 B 是文件 C 的输入,现在我有了文件 D,这实际上可能是被污染的,因为我可以清楚地看到它到达那里的完整路径。”
CREEGER 也许我们在这里看到的是,我们需要更多地了解我们正在存储的位的语义。文件不仅仅是一堆位;它有历史记录,并且适合上下文,为了解决这些类型的问题,公司将不得不制定流程和程序来定义他们想要保留的存储对象的上下文。
BAKER 您可以在一定程度上加以限制,但这是隐藏通道问题,即使是通过非恶意的流程。假设我在海滩上,我唯一拥有的是非公司 PDA,我有一些想法或者我和某人交谈并记录了一些东西。将所有这些不同的来源纳入全面的存储管理策略可能非常困难。存储变得如此便宜;它在我们周围的一切事物中。在许多可能难以作为集成系统一部分的地方存储位很容易。
KLEIMAN 这些问题没有唯一的答案。看看病毒扫描世界中发生的事情。这在很大程度上是一种双保险的方法。他们在笔记本电脑、存储系统、网络和网关上都这样做。毫无疑问,这是一个难题。
有各种各样的技术用于外包市场,例如中国和印度,在这些市场中,为特定公司处理特定源代码的人员被禁止以任何方式、形式或形式复制该源代码。该软件禁用了该功能。
对于我们一直在讨论的信息扩散问题,类似的事情也是可能的。所有这些类型的解决方案都有优点和缺点,并且取决于您愿意支付的成本。这不仅仅是一个技术问题或存储问题;它还是一个政策问题,其中还包括管理和法律问题。
BREWER 在某些方面,这是存储行业的胜利,我们已经从主要关注如何存储东西转变为尝试管理我们正在存储的东西的语义。
CREEGER 再次强调,存储管理器在未来 18 到 24 个月内应该做什么?
KLEIMAN 今天,人们通过进行服务器虚拟化和存储虚拟化节省了大量时间、金钱和精力。这两者结合起来非常强大,我认为这就是未来两、三或四年要做的事情。
GANGER 而且产品现在已经上市。随着时间的推移,多人谈论过快照。如果您正在运行一个规模可观的 IT 运营,您应该确保您的服务器具有执行快照的功能。
BREWER 在安全方面,加密。有时在有限的领域内,您可以进行正确的密钥管理和层次结构,但加密是存储领域中开始以全面方式保护数据的既定方法。
SELTZER 备份、存档和灾难恢复都是至关重要的功能,但它们是不同的功能,您实际上应该仔细考虑您正在做什么,并确保您正在执行所有这三项功能。
GANGER 对于这三项功能中的任何一项,您的选择可能是什么都不做,但这应该是一个明确的选择,而不是一个隐含的选择。
RIEDEL 反过来也是如此。当我们谈论能源效率、副本效率以及防止泄漏时,您需要明确考虑为什么要制作另一个副本。
BREWER 您真正不想丢失哪些副本?我区分了主副本(将要幸存下来的副本)和缓存副本(有意短暂的副本)。
GANGER 例如,如果您正在运营一个进行软件开发的组织,则存储库——CVS(并发版本系统)、SVN(Subversion),无论您使用什么——都比签出到每个开发人员的单个副本重要得多。
BREWER 它是主副本。您必须区别对待它。没有人可以削弱您的主副本。
CREEGER 我知道第一个 CAD 系统是由计算机人员开发并为计算机人员开发的。他们为 IC 芯片和印刷电路板设计做了这些系统,然后扩展到许多其他应用领域。
CVS 主开发树方法是否适用于许多不同的业务和存储问题领域,或者您认为该范例会大相径庭?
GANGER 它绝对与许多领域相关。
BREWER 我认为大多数系统都有缓存副本和主副本。
GANGER 事实上,所有这些便携式设备从根本上来说都是获取缓存副本的实例。
BREWER 您可能会丢失的任何设备都应该只包含缓存副本。
SELTZER 对,但实际情况是,您可能会丢失很多便携式设备,而这些设备才是真正的副本。我们都认识丢失手机的人,以及手机中的所有联系信息。
GANGER 他们吸取了重要的教训,并且永远不会再发生。
SELTZER 不,他们一遍又一遍地这样做,因为然后他们会向他们的 Facebook 网络发送邮件,说“把你的联系方式发给我。”
CREEGER 他们从外围重建。
BREWER 外围是主副本;完全正确。
CREEGER 我们讨论了安全性和存储基础设施。我们谈到了版权、存档解决方案,并大量谈论了能源。我们讨论了各种架构,并在存储库和自由云精神之间进行了激烈的争论。
存储管理器面临着巨大的挑战。他们没有奢侈的时间来从长远角度看待所有这些构造力在移动。他们今天必须表明立场。他们面前有源源不断的信息涌来,他们必须以某种方式组织起来,以证明他们的工作是合理的。他们必须完成所有这些工作,而没有管理层的感谢或感激,因为存储应该是一种实用工具。就像灯和管道一样,它应该只是工作。
KLEIMAN 他们也面临着政治问题。SAN(存储区域网络)组不会与网络组交谈。备份组担心他们的工作会消失。看看技术的融合,即使对于像 FCoE(以太网光纤通道)这样简单的东西,SAN 光纤通道人员也在收缩防线。
CREEGER 或者 iSCSI over 10-gigabit 以太网。
KLEIMAN 绝对是。其中涉及许多技术问题,但也有非常严肃的人员和政治问题。
问
喜欢它,讨厌它?请告诉我们
© 2008 1542-7730 /08/1100 $5.00
本文发表于 2008 年 9 月号的《Communications of the 》印刷版。
最初发表于 Queue 第 6 卷,第 7 期—
在 数字图书馆 中评论本文
Pat Helland - 关注你的状态,为了你的心态
应用程序在进入分布式和可扩展世界时,经历了有趣的演变。同样,存储及其近亲数据库也与应用程序并肩发展。很多时候,存储和应用程序的语义、性能和故障模型都在微妙地跳舞,以支持不断变化的业务需求和环境挑战。向其中添加规模确实引起了轰动。本文着眼于其中的一些问题及其对系统的影响。
Alex Petrov - 现代存储系统背后的算法
本文仔细研究了现代数据库中常用的大多数存储系统设计方法(读取优化的 B 树和写入优化的 LSM(日志结构合并)树),并描述了它们的使用案例和权衡。
Mihir Nanavati, Malte Schwarzkopf, Jake Wires, Andrew Warfield - 非易失性存储
对于大多数执业计算机科学家的整个职业生涯而言,一个基本观察始终成立:CPU 的性能明显高于 I/O 设备,而且价格也更昂贵。CPU 可以极高的速率处理数据,同时为多个 I/O 设备提供服务,这一事实对各种规模系统的硬件和软件设计产生了深远的影响,几乎从我们开始构建它们的那一天起就如此。
Thanumalayan Sankaranarayana Pillai, Vijay Chidambaram, Ramnatthan Alagappan, Samer Al-Kiswany, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau - 崩溃一致性
数据的读取和写入是任何冯·诺依曼计算机最基本的方面之一,但却出奇地微妙且充满细微差别。例如,考虑在具有多个处理器的系统中访问共享内存。虽然一种称为强一致性的简单直观方法最容易让程序员理解,但许多较弱的模型也得到了广泛使用(例如,x86 总存储排序);这些方法提高了系统性能,但代价是使对系统行为的推理更加复杂且容易出错。