複数の NFS エクスポートを同じクライアント ディレクトリにマウントする

複数の NFS エクスポートを同じクライアント ディレクトリにマウントする

NFS で、解決方法がわからない問題が発生しています。答えを見つけるのに少し時間を費やしましたが、成功しませんでした。最終的には、各サブディレクトリを個別にマウントせずに、以下のセットアップを実現しようとしています。サブディレクトリは時間の経過とともに動的に変更される可能性があり、そのルートは拡張できないためです。

NFS サーバー1輸出/srv/ファイル/そしてそのディレクトリ内には、クライアントに必要な実際のファイルを含むサブディレクトリがあります。

/srv/files/0001/
/srv/files/0002/
/srv/files/0003/
/srv/files/0004/

NFS サーバー2独自の輸出/srv/ファイル そのディレクトリ内には同様の構造がありますが、サブフォルダの名前はNFS Server1のフォルダとは一意になります。

/srv/files/0005/
/srv/files/0006/
/srv/files/0007/
/srv/files/0008/

NFS クライアント両方の NFS サーバー共有を読み取り専用として同じディレクトリ内にマウントできます。

/srv/nfs/0001
/srv/nfs/0002
/srv/nfs/0003
/srv/nfs/0004
/srv/nfs/0005
/srv/nfs/0006
/srv/nfs/0007
/srv/nfs/0008

これは可能ですか? NFS は正しいルートですか? 繰り返しますが、NFS サーバーにデータを書き込む必要はなく、単に読み取るだけです。

答え1

NFSで直接これを行うことはできませんが、unionfsまたはoverlayfsそれを実現するには、overlayfs標準カーネルの一部であるため、まずは次のようなものを試してみることをお勧めします。

$ mount srv1:/srv/files /srv1
$ mount srv2:/srv/files /srv2
$ mount -t overlay overlay -olowerdir=/srv1:/srv2 /srv/nfs

関連情報