挂载多个 NFS 服务器驱动器,挂载到单个 NFS 客户端驱动器

挂载多个 NFS 服务器驱动器,挂载到单个 NFS 客户端驱动器

我在三台机器上设置了 NFS 服务器,每台机器的数据存储大小为 2 TB。因此,这三台服务器上总共有 8 TB 的空间。

现在我的情况是,我在 NTFS 客户端机器上有 8TB 的文件。我想将其透明地安装到这些服务器上。

sudo mount ServerIP:/folder/already/setup/to/be/shared/home/username/folder/in/your/local

有人能告诉我一些机制吗,我们可以将 NFS 客户端的同一目录挂载到多个 NFS 服务器。这样我就可以存储 8TB 大小的文件。

答案1

概述:

假设我们有三个磁盘,但是您希望与 NFS 客户端共享,并且当您想要将多个驱动器安装到单个驱动器时可能会出现这种情况,...

解决方案: 当然,我们可以将磁盘安装在三个单独的安装点上,并导出这些或者我们可以将三个磁盘挂载到同一个目录内的三个挂载点上,并导出父目录。

这两种解决方案的问题在于,您必须在磁盘之间“平衡”数据 - 而这将使浏览 TViX、WDTV 或 Popcorn 更加烦人。您可以使用 RAID 或 LVM 来处理所有这些问题。但是。如果您已经在磁盘上保存了数据怎么办?如果其中一个磁盘坏了怎么办?使用 RAID0 或 LVM,您的数据就没了。

幸运的是,我们拥有两全其美的解决方案:mhddfs

mhddfs 是一个 FUSE 插件,它将多个目录中的数据合并到一个目录中。唯一的缺点是你不知道(或控制)文件创建的位置。

假设您合并了/dir1, /dir2 and /dir3 under /virtual。以前您有/dir1/my_content。现在是/virtual/my_content。如果您将文件写入/virtual/my_content,它不一定最终会出现在中/dir1/my_content。这也意味着您无法预测如果丢失磁盘会丢失哪些数据。

该插件在 Ubuntu 中可用

$ sudo apt-get install mhddfs

使用非常简单

$ sudo mkdir /export/hest
$ sudo mhddfs /dir1,dir2,dir3 /export/hest
[sudo] password for alj: 
mhddfs: directory '/dir1' added to list
mhddfs: directory '/dir2' added to list
mhddfs: directory '/dir3' added to list
mhddfs: mount to: /export/hest
mhddfs: move size limit 4294967296 bytes

对于“移动大小限制”需要解释一下:

如果可用空间大小阈值如果驱动器的可用空间小于指定的阈值,则在创建新文件时将选择另一个驱动器。如果所有驱动器的可用空间都小于指定的阈值,则将选择包含最多可用空间的驱动器。

/dir1;/dir2;/dir3
                      589G  329G  260G  56% /export/hest

要在启动期间挂载组合目录,请执行以下操作到 /etc/fstab:

mhddfs#/dir1,/dir2,/dir3 /export/hest fuse defaults,allow_other 0 0

我们可以使用 NFS 或 Samba 导出合并后的目录。如果使用 NFS 导出合并后的目录,则需要在 /etc/exports 中添加 fsid 选项

/export/hest 192.168.1.0/24(fsid=2,ro,sync,crossmnt,no_subtree_check,insecure)

相关内容