編集済み 1 1週間前 によって ExtremeHow 編集チーム
ネットワーキングNFSファイルシステムサーバー設定クライアントアクセス設定権限ストレージクロスプラットフォーム協力
翻訳が更新されました 1 1週間前
ネットワークファイルシステム(NFS)は、異なるシステムがネットワーク上でファイルを共有できるようにする人気のあるプロトコルです。NFSを使用すると、ユーザーはリモートシステム上のファイルをローカルマシン上のファイルのようにアクセスできます。これは、共同作業環境や中央集約型ストレージが必要な状況で非常に役立ちます。
NFSを使用すると、システムはネットワークを介して他のシステムとディレクトリやファイルを共有できます。ユーザーやプログラムは、NFSを使用してリモートシステム上のファイルにほぼローカルディスクにあるようにアクセスできます。
NFSは、Linux環境でのセキュアなファイル共有に非常に有益です。ファイルアクセスを簡素化し、ストレージコストを削減し、コラボレーションを容易にします。
NFSの設定を始める前に、すべてのシステムが同じネットワーク上にあることを確認してください。また、サーバーとクライアントシステムの両方でスーパーユーザー(ルート)権限が必要です。
最初のステップは、サーバーにNFSをインストールすることです。このプロセスは、Linuxディストリビューションによって少し異なります。
# Debian/Ubuntuの場合
sudo apt update
sudo apt install nfs-kernel-server
# CentOS/RHELの場合
sudo yum install nfs-utils
これらのコマンドは、サーバーに必要なNFSパッケージをインストールします。
次に、ネットワーク上でどのディレクトリを共有するかを決定します。共有のための専用ディレクトリを作成することが一般的です。
# 共有するディレクトリを作成する
sudo mkdir -p /srv/nfs/shared
次に、ディレクトリに適切な権限を設定します:
# 所有権をnobody:nogroupに変更
sudo chown nobody:nogroup /srv/nfs/shared
# 権限を設定
sudo chmod 777 /srv/nfs/shared
ディレクトリを作成し、権限を設定した後は、/etc/exportsファイルを編集して、ディレクトリを定義し、クライアントへのアクセス権を設定する必要があります。
# エクスポートファイルを編集
sudo nano /etc/exports
ファイルに次の行を追加してディレクトリを共有します:
/srv/nfs/shared <client_ip>(rw,sync,no_subtree_check)
<client_ip>
をアクセスが必要なクライアントシステムのIPアドレスと置き換えます。複数のクライアントがアクセスを必要とする場合は、スペースで区切ってリストします。
/etc/exports
ファイルを設定した後、NFSサービスを開始します:
# NFSサーバーを開始して有効化する
sudo systemctl restart nfs-kernel-server
sudo systemctl enable nfs-kernel-server
クライアントシステムでは、必要なNFSクライアントパッケージがインストールされていることを確認してください。
# Debian/Ubuntuの場合
sudo apt install nfs-common
# CentOS/RHELの場合
sudo yum install nfs-utils
これで、クライアントマシンに共有ディレクトリをマウントできます。最初に、NFS共有をマウントするディレクトリを作成します:
# NFS共有のマウントポイントを作成する
sudo mkdir -p /mnt/nfs/shared
次に、次のコマンドでディレクトリをマウントします:
# 共有ディレクトリをマウントする
sudo mount <server_ip>:/srv/nfs/shared /mnt/nfs/shared
<server_ip>
をサーバーのIPアドレスと置き換えます。
NFS共有がブート時にマウントされるようにするには、/etc/fstabファイルに追加できます。ファイルを開き、次のような行を追加します:
<server_ip>:/srv/nfs/shared /mnt/nfs/shared nfs defaults 0 0
NFS共有が正しくマウントされているかどうかを確認するには、次のコマンドを使用します:
# マウントを確認する
df -h | grep <server_ip>
このコマンドは、the /mnt/nfs/sharedディレクトリ下にマウントされているNFS共有を一覧表示します。
ネットワークファイアウォールがNFSトラフィックをブロックすることがあります。クライアントとサーバーマシンの両方で、NFSポートであるTCPおよびUDPポート111とTCPおよびUDPポート2049を許可することを確認してください。
# サーバー上でNFSポートを開くには
sudo iptables -A INPUT -p tcp -m multiport --dports 111,2049 -j ACCEPT
sudo iptables -A INPUT -p udp -m multiport --dports 111,2049 -j ACCEPT
共有ディレクトリの権限が正しく構成されていることを確認してください。所有権、グループ、または過度に制限された権限により、権限の問題が発生することがあります。
NFSサーバーがシステムctlステータスコマンドを使用して正しく実行されていることを常に確認してください:
# NFSサービスのステータスを確認する
sudo systemctl status nfs-kernel-server
複数のクライアントへのディレクトリをエクスポートすることが可能です。/etc/exports
ファイルに複数のクライアントIPをリストすることでこれを行うことができます:
/srv/nfs/shared client1_ip(rw,sync,no_subtree_check) client2_ip(rw,sync,no_subtree_check)
特定のクライアントに対して一部の共有を読み取り専用にすることもできます。これを/etc/exports
ファイルに指定できます:
/srv/nfs/shared client1_ip(rw,sync,no_subtree_check) client2_ip(ro,sync,no_subtree_check)
NFSv4は多くの改善をもたらし、より最新のディストリビューションを使用する場合やパフォーマンス向上のために必要となる場合があります。NFSv4の構成は主に同じですが、特にパフォーマンスとセキュリティ向上のための複雑なオプションがあります。
Linux環境でNFSサーバーを設定することは、ネットワーク内でファイル共有を可能にする効果的な方法です。これらのステップに従い、ネットワークレイアウトとファイル共有の要件の両方を考慮することで、堅牢な共有環境を作成できます。エクスポートを常にセキュリティで保護し、ユーザーのニーズに合わせて構成を調整して、最適な効率とパフォーマンスを確保してください。NFSによるネットワークファイル共有でシームレスなコラボレーションをお楽しみください!
記事の内容に誤りがある場合, あなたは