有没有办法通过 NFS 实现类似 LVM 的操作?

有没有办法通过 NFS 实现类似 LVM 的操作?

我意识到由于 NFS 不是块级别的,因此不能直接使用 LVM。

但是:有没有办法将多个 NFS出口(例如,来自 3 个服务器)合并到一个挂载中观点在不同的服务器上?

具体来说,我希望能够在 RHEL 4(或 5)上执行此操作,然后将组合挂载重新导出到我的 RHEL 4 服务器。

扩张
我固定 lvm 的原因是我想要将一堆导出的挂载点(servera:/mnt/export、、serverb:/mnt/exportserverc:/mnt/export)全部挂载到,/mnt/space以便/mnt/space在此服务器(serverx)上将其作为一个大型文件系统。

是的,我知道重新导出通常是一件坏事™,但我认为如果有办法在较新版本而不是较旧版本上实现这一点,它可能会起作用

从阅读 unionfs 文档来看,似乎我无法通过远程连接使用它 - 我误读了吗?更准确地说,由于 Union FS 合并了多个分支的内容,但使它们看起来像一个,所以它似乎并没有反向运行:
我试图以合并的方式挂载一堆 NFS 点,然后对他们来说——不关心数据流向何处,啊啦逻辑卷管理器。

答案1

GlusterFS 非常适合这项工作,您也可以考虑 Lustre(虽然我还没有用过)GlusterFS 是独立于 NFS 的软件,但在此基础上进行迁移会非常容易。您还可以将它用于将来可能需要的 Raid 10 网络,并且它非常易于扩展。

答案2

虽然非常黑客化,但我最终遵循的路线是这样的:

  • 使用 VMware ESXi,添加作为 NFS 挂载的数据存储(无论从何处)。
  • 在这些数据存储上创建虚拟磁盘
  • 将 vdisk 添加到运行 RHEL 的 VM(因为我习惯使用 RHEL)
  • 将所有添加的卷放入 LVM
  • 通过 NFS 导出 LVM 分区

优点:

  • 简单的
  • 便宜的
  • 易于复制
  • 通过 VMware 进行动态磁盘扩展后,所有空间都可以“分配”,但还不能“使用”

缺点:

  • 还需要另一层(虚拟机管理程序)
  • 如果任何 NFS 挂载失败,LVM 可能会损坏(这是任何潜在解决方案都会面临的问题)

答案3

你是指类似联合金融服务(这与我能想到的LVM完全不同),或者只是将几个文件系统全部挂载在一起(如/mnt/fs1,,)?/mnt/fs2/mnt/fs3

此外,重新导出 NFS 挂载(甚至是本地挂载了文件系统的 NFS 挂载文件系统 - 请参阅(5)nohide中的选项exports)是一个令人兴奋的前景,涉及各种极端情况和可能的 bug 隐藏点。“这里有怪物”,确实如此。

答案4

您可能还对 drbd+gfs 感兴趣。

相关内容