MinIO Packet Pushers Podcast:Tom Lyon,NFS 必须死。

MinIO Packet Pushers Podcast: Tom Lyon, NFS Must Die.

我们非常喜欢 Packet Pushers 的团队。他们的播客是业界最好的播客之一,涵盖从堆栈顶部到底部的技术。最近,我们有机会赞助 传奇人物 Tom Lyon 与 Ethan Banks 和 Drew Conry-Murray 的访谈

Packet Pushers 的团队对 Tom 最近的演讲“NFS(网络文件系统)必须消亡”很感兴趣。Lyon 在 IT 行业拥有悠久的职业生涯,包括创办多家公司,担任 Sun Microsystems 的早期员工以及为 UNIX 内核做出贡献。他对文件系统了如指掌,包括它们的优点和缺点。我们强烈推荐完整的播客,但如果更喜欢文字,我们会尽力为您提供简短版本。

Lyon 从介绍三种类型的云存储开始:块存储、文件存储和对象存储。他解释说,对象存储本质上是唯一真正以云为中心的方案,它主要由 AWS 倡导,旨在创建一个能够在全球范围内扩展的简单系统。

如今,在内部部署中也有大量的云原生活动。它通常被称为 云运营模式。机器与用户的比例现在至少是之前的 1000 倍。系统需要一致地运行,无缝扩展以适应云原生环境。

那么,NFS 有什么问题呢?NFS 是 40 年前精心选择的权衡取舍。整个模式在云时代行不通。它鼓励多个用户访问共享的可写数据空间。

Lyon 表示,“我们在分布式计算中获得的最重要经验之一是,共享可变数据是一个非常糟糕的主意。事情会不同步。您无法控制或同步多个操作。每个人对数据的看法略有不同。因此,这真是一个巨大的混乱,您无法在它之上构建强大的语义。”

另一个大问题是,每个人都想要略微不同的语义。根据 CAP 定理,网络无法在缺乏分区的情况下同时拥有一致性和可用性,因此您需要在一致性和可用性之间做出选择。

Lyon 解释说,“在 NFS 时代,我们以艰难的方式发现了这一点,并且不得不执行硬挂载以获得一致性,以及软挂载以获得可用性,”让您选择,“是要惹恼这组人还是那组人?”

在 Lyon 最近在 NLUUG(荷兰专业 UNIX 和 Linux 用户协会)会议上的演讲中,他解释说,“人们仍然在 NFS 上投入巨资。像 HammerSpace、Weka 和 Vast Data 这样的新公司都依赖于这种东西。亚马逊提供云托管的 NFS 服务。”

他问听众,“有人使用过吗?没错,别用。”

Banks 指出,“您认为 NFS 必须消亡,但正如我们指出的那样,它已经存在了很长时间。NFS 无处不在……它渗透到所有事物中。”

“但它从未在规模上使用过,”Lyon 解释说。

为了实现云部署所需的规模,系统必须 100% 可靠。NFS 的问题在于,它需要“在出现问题时有人手动处理”。最终,当您需要大规模运行时,NFS 和类似的文件导向协议不是最佳选择。

Banks 要求 Lyon 定义他所谈论的规模。

NFS 最突出的特点是它能够允许网络无关程序访问大型数据集,从而提供访问权限以探索数据,而无需先复制数据。但是如何在云规模上实现这一点呢?例如,如何使用 grep 访问在美国 AWS 中公开可用的数据集,而我却在中国访问它?这就是我所说的云规模能力。而且如何让它变得非常容易?

Lyon 还介绍了他目前的项目,他称之为 Beyond File Sharing——简称 BYFS——这是一个开源项目,他在其中寻找合作者。这个项目与 S3 非常不同,因为它利用了现有的文件系统和 OverlayFS 以及现有的协议。

“您需要一个块协议来进行可写存储,但只要您冻结它,就可以将其快照到您的对象存储系统,这将以非常简单的方式为您提供全球访问权限。但您再次在文件系统级别进行快照,因此它是一个更细粒度的操作。因此,您可以将它与对象存储一起使用,除了第一个可写层,您要么想要本地可写存储,要么想要通过 NVME over fabrics 或类似的东西传输的存储。”

Lyon 给我们留下以下话语,“对象存储是执行云存储的方式。它很便宜。它足够快。在我看来,文件共享只是企业世界遗留下来的一个令人作呕的东西。”

来自一个知情人的有力话语。作为对象存储作为主要存储的倡导者,您不会惊讶地发现我们完全同意。