我们真的很喜欢 Packet Pushers 的团队。他们的播客是业内最好的播客之一,涵盖了从堆栈顶部到底部的技术。我们最近有机会赞助传奇人物 Tom Lyon 对 Ethan Banks 和 Drew Conry-Murray 的采访。Packet Pushers 的团队对 Tom 最近题为“NFS(网络文件系统)必须死亡”的演讲很感兴趣。Lyon 在 IT 行业拥有长期的职业生涯,包括创立多家公司,是 Sun Microsystems 的早期员工,并为 UNIX 内核做出了贡献。他对文件系统略知一二 — 它们的优点和缺点。我们强烈推荐完整的播客,但如果您更喜欢书面文字,我们会尽最大努力为您提供删节版。Lyon 首先介绍了三种类型的云存储:块存储、文件存储和对象存储。他解释说,对象存储本质上是唯一真正的云原生方法,主要由 AWS 率先推出,用于创建可在全球范围内扩展的简单系统。
如今,本地也发生了大量的云原生活动。它通常被称为云操作模型。现在,机器与用户的比率至少比以前高出一千倍。系统需要一致地运行,无缝扩展以适应云原生环境。那么,NFS 有什么问题呢?NFS 是 40 年前选择的一组非常精心挑选的权衡。整个范式在云时代不起作用。它鼓励多个用户访问共享的可写数据空间。Lyon 说:“我们在分布式计算中学到的最重要的教训之一是,共享可变数据是一个非常糟糕的主意。事情变得不同步。您无法控制或同步多个操作。每个人对数据的看法都略有不同。所以,这是一个巨大的混乱,你不能真的在此基础上构建强大的语义。另一个大问题是每个人都希望语义略有不同。根据 CAP 定理,如果缺少分区,网络就无法具有一致性和可用性,因此您只能在一致性和可用性之间进行选择。Lyon 解释说,“在 NFS 时代,我们以艰难的方式发现了这一点,不得不进行硬挂载以获得一致性,并进行软挂载以获得可用性,”让您选择,“您是要惹恼这个组还是那个组?在最近的 NLUUG(荷兰专业 UNIX 和 Linux 用户协会)会议上,Lyon 在演讲中解释说,“人们仍然在 NFS 上投入大量资金。像 HammerSpace、Weka 和 Vast Data 这样的全新公司都依赖于这种东西。Amazon 有一个云托管的 NFS 产品。他问人群,“有人用那个吗?是的,不要那样做。Banks 指出,“您认为 NFS 必须消亡,但正如我们指出的那样,它已经运行了非常长的时间。NFS 无处不在...它已经融入了一切。“但它从未被大规模使用过,”Lyon 解释说。要实现云部署所需的规模,系统必须 100% 可靠。NFS 的问题在于,它需要“当出现问题时,有人照看事情”。最终,当您需要大规模操作时,NFS 和类似的面向文件的协议不是最佳选择。班克斯要求 Lyon 定义他所说的规模大小。
NFS 的突出特点是它能够允许使用网络无关的程序访问大型数据集,无需先复制数据即可浏览数据。但是,如何在云规模上实现这一目标呢?例如,当我从中国访问在美国的 AWS 中公开提供的数据集时,如何对该数据集使用 grep?这就是我所指的云规模能力。你如何让它变得真正简单呢?Lyon 还介绍了他目前的项目,他称之为 Beyond File Sharing(简称 BYFS),这是一个他正在寻找合作者的开源项目。该项目与 S3 完全不同,因为它利用现有文件系统和 OverlayFS 以及现有协议。“你需要一个用于可写存储的块协议,但一旦你冻结它,你就可以把它快照到你的对象存储系统,这样你就可以以相当简单的方式在全球范围内进行访问。但您再次在文件系统级别进行快照,因此这是一个更精细的事情。因此,您可以将其与对象存储一起使用,但第一个可写层除外,在该层中,您要么需要本地可写存储,要么需要通过 NVME 通过 Fabric 或类似的东西。Lyon 给我们留下了以下内容,“对象存储是实现云存储的方式。它很便宜。它足够快。在我看来,文件共享只是企业界遗留下来的可憎之物。来自一个了解的人的强大东西。作为将对象存储作为主存储的宣传者,您不会惊讶地发现我们全心全意地同意。