各クライアントマシンにshared_dataディレクトリがあり、それらすべてをサーバーにマウントしたいと思います。それを行うための最も簡単で標準的な方法は何ですか? NFSは、サーバー内のディレクトリを多くのクライアントと共有するのに適しているようです。サーバー用にNFSを構成しています。そして、すべてのOSはdebianです。ありがとう。
ファイルシステムを共有する場合、共有ファイルシステムの物理ストレージが実際にあるシステムは通常サーバーと呼ばれ、共有ストレージをリモートで使用するシステムは次のようになります。 aclient。
したがって、あなたの場合、「クライアントマシン」もすべてNFSまたはCIFSサーバーである必要があり、サーバーシステムもNFSクライアントになります。
NFSは、1対1の共有と1対多の共有の両方に等しく適用できます。ただし、「クライアントマシン」が常に実行されていることを保証できない場合、またはユーザーが自由にシャットダウンまたは再起動できる場合は、古いNFSマウントによって引き起こされる問題を最小限に抑えるためにautofs
ベースのソリューションが必要になる可能性があります。 /または到達不能なクライアントマシン。
このようにして、すべてのクライアントのshared_dataディレクトリにアクセスできるようにすることができます。サーバー上の/shared_data/<hostname>/
。
まず、/shared_data
ディレクトリをサーバーと共有するようにすべてのクライアントマシンを構成します。ここではNFSを想定していますが、autofs
はCIFSにも同様に適用できます。
次に、サーバーシステム上にNFS自動マウントマップファイル/etc/auto.shared_data
を作成し、次のような内容にします。
client1 -rw,soft client1.domain.example:/shared_data
client2 -rw,soft client2.domain.example:/shared_data
...
サーバーシステムでNFSクライアントサービスを開始し、クライアントディレクトリを手動でマウントして、共有ディレクトリが実際にマウント可能であることを確認します。
次に、サーバーシステムにマウントポイントディレクトリ/shared_data
を作成し、次のようにautofs
マスターマップ/etc/auto.master
のマップファイルを参照します。
/shared_data /etc/auto.shared_data
次に、サーバーシステムでautofs
サービスを起動します。
これで、サーバーシステム上の/shared_data/<client hostname>
ディレクトリにアクセスしようとすると、autofs
が自動的にマウントし、ファイルを開いていない状態でマウントを解除する必要があります。しばらくしてアクセスしました。
soft
NFSマウントオプションを使用すると、クライアントシステムの突然のシャットダウンによって、クライアントのshared_data
共有でファイルが開いたままサーバーシステム上のプロセスが無期限にハングしたままにならないようにすることができます。 警告:これにより、状況によってはファイルが破損する可能性があります。あなたの毒を選んでください。
クライアントが追加または削除された場合は、/etc/auto.shared_data
を編集するだけで、変更をすぐに有効にすることができます。 /etc/auto.master
を変更するには、autofs
構成を再ロードする必要があります。
単一のフォルダーサーバーを任意の数のクライアントマシンと共有するには:
/path/to/share IP1(root_squash,rw,async,fsid=1) IP2(root_squash,rw,async,fsid=1) ...
を/etc/exports
に追加し、IP範囲/ IPまたはクライアントを一覧表示します。exportfs -ra
を実行して、エクスポートを更新します。hostname:/path/to/share nfs4 /mount/path timeo=60,intr 0 0
に/etc/fstab
を追加します/etc/samba/smb.conf
に追加しますsystemctl restart smb
またはsmbd
を実行して、サービスを再起動します。Sudo smbpasswd -a USER
で追加します//hostname/sharename /mount/path/ cifs uid=local_user,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm,username=remote_user,password=remote_pass 0 0
をクライアントの/etc/fstab
に追加します