我意识到由于 NFS 不是块级别的,因此不能直接使用 LVM。
但是:有没有办法将多个 NFS出口(例如,来自 3 个服务器)合并到一个挂载中观点在不同的服务器上?
具体来说,我希望能够在 RHEL 4(或 5)上执行此操作,然后将组合挂载重新导出到我的 RHEL 4 服务器。
扩张
我固定 lvm 的原因是我想要将一堆导出的挂载点(servera:/mnt/export
、、serverb:/mnt/export
等serverc:/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 感兴趣。