ウェブサイト検索

RHEL/CentOS/Fedora および Debian/Ubuntu で NFS (ネットワーク ファイル システム) をセットアップする方法


NFS (ネットワーク ファイル システム) は、基本的にLinux間でファイルフォルダを共有するために開発されました。 1980 年Sun Microsystemsによるstrong>/Unixシステム。これにより、ネットワーク経由でローカル ファイル システムをマウントし、リモート ホストが同じシステム上にローカルにマウントされているファイル システムと対話できるようになります。 NFS の助けを借りて、Unix から Linux システム、および Linux から システムの間でファイル共有を設定できます。 > ユニックスシステム。

NFS の利点

  1. NFS により、リモート ファイルへのローカル アクセスが可能になります。
  2. すべての *nix ベースのマシン間のファイル共有に標準のクライアント/サーバー アーキテクチャを使用します。
  3. NFS を使用すると、両方のマシンが同じOS 上で実行される必要はありません。
  4. NFS を利用して集中ストレージ ソリューションを構成できます。
  5. ユーザーは物理的な場所に関係なくデータを取得します。
  6. 新しいファイルを手動で更新する必要はありません。
  7. NFS の新しいバージョンでは、ACL擬似 ルート マウントもサポートされています。
  8. ファイアウォールKerberosで保護できます。

NFSサービス

これはSystem V が立ち上げたサービスです。 NFS サーバー パッケージには、portmap パッケージと nfs-utils パッケージに含まれる 3 つの機能が含まれています。

  1. ポートマップ : 他のマシンからの呼び出しを正しい RPC サービスにマッピングします (NFSv4 では必要ありません)。
  2. nfs: リモートのファイル共有リクエストをローカル ファイル システム上のリクエストに変換します。
  3. rpc.mountd: このサービスは、ファイル システムのマウントアンマウントを担当します。

NFS 構成の重要なファイル

  1. /etc/exports : NFS のメイン構成ファイルであり、エクスポートされたすべてのファイルディレクトリは次のとおりです。 NFS サーバー側のこのファイルで定義されます。
  2. /etc/fstab :再起動後にシステムにNFS ディレクトリをマウントするには、/etc/fstab にエントリを作成する必要があります。 >/etc/fstab.
  3. /etc/sysconfig/nfs : どのポートでrpc や他のサービスがリッスン<するかを制御するためのNFSの構成ファイル/strong>.

Linux サーバーでの NFS マウントのセットアップと構成

NFS マウントをセットアップするには、少なくとも 2 台のLinux/Unix マシンが必要です。このチュートリアルでは、2 つのサーバーを使用します。

  1. NFS サーバー: nfsserver.example.com (IP-192.168.0.100)
  2. NFS クライアント : nfsclient.example.com (IP-192.168.0.101)

NFS サーバーと NFS クライアントのインストール

NFS パッケージをNFS サーバーNFS クライアントマシンにインストールする必要があります。 「yum」 (Red Hat Linux) および「apt-get」 (Debian およびUbuntu) パッケージ インストーラー。

[ ~]# yum install nfs-utils nfs-utils-lib
[ ~]# yum install portmap (not required with NFSv4)
[ ~]# apt-get install nfs-utils nfs-utils-lib

次に、 両方のマシンでサービスを開始します。

[ ~]# /etc/init.d/portmap start
[ ~]# /etc/init.d/nfs start
[ ~]# chkconfig --level 35 portmap on
[ ~]# chkconfig --level 35 nfs on

両方のマシンでパッケージをインストールし、サービスを開始した後、両方のマシンをファイル共有用に構成する必要があります。

NFS サーバーのセットアップ

まずNFSサーバーを設定します。

エクスポートディレクトリの構成

NFS でディレクトリを共有するには、「/etc/exports」設定ファイルにエントリを作成する必要があります。ここでは、「/」パーティションに「nfsshare」という名前の新しいディレクトリを作成して、クライアント サーバーと共有します。共有することもできます。 NFS を使用する既存のディレクトリ。

[ ~]# mkdir /nfsshare

ここで、「/etc/exports」にエントリを作成し、 サービスを再起動して、ディレクトリをネットワーク内で共有できるようにする必要があります。

[ ~]# vi /etc/exports

/nfsshare 192.168.0.101(rw,sync,no_root_squash)

上の例では、/ パーティションに \nfsshare という名前のディレクトリがあり、クライアント IP 192.168.0.101 と共有されています。 読み取りおよび書き込み (rw) 権限。 の代わりにクライアントのホスト名 を使用することもできます。上記の例では > IP です。

NFS オプション

ファイル共有のために「/etc/exports」ファイルで使用できるその他のオプションは次のとおりです。

  1. ro: このオプションを使用すると、 共有ファイルへの読み取り専用アクセスを提供できます。つまり、クライアントは <強く>読んでください。
  2. rw: このオプションにより、クライアント サーバーは共有ディレクトリ内での読み取り書き込みの両方のアクセスを許可されます。
  3. 同期: 同期は、変更がコミットされた後にのみ、共有ディレクトリへのリクエストを確認します。
  4. no_subtree_check: このオプションはサブツリーチェックを防ぎます。共有ディレクトリがより大きなファイル システムのサブディレクトリである場合、nfs はその権限と詳細を確認するために、その上にあるすべてのディレクトリのスキャンを実行します。 サブツリーチェックを無効にすると、NFSの信頼性が高まる可能性がありますが、セキュリティは低下します。
  5. no_root_squash: このフレーズにより、root が指定されたディレクトリに接続できるようになります。

/etc/exports」のその他のオプションについては、エクスポートマニュアル ページを読むことをお勧めします。

NFS クライアントのセットアップ

NFS サーバーを構成した後、 その共有ディレクトリまたはパーティションをクライアント サーバーにマウントする必要があります。

NFS クライアントに共有ディレクトリをマウントする

次にNFS クライアント側で、そのディレクトリをサーバーにマウントしてローカルにアクセスする必要があります。そのためには、まずリモート サーバーまたは NFS サーバーで利用可能な共有を確認する必要があります。

[ ~]# showmount -e 192.168.0.100

Export list for 192.168.0.100:
/nfsshare 192.168.0.101

上記のコマンドは、「192.168.0.100」で「nfsshare」という名前のディレクトリがサーバーと共有できることを示しています。

共有NFSディレクトリをマウントする

共有NFSディレクトリをマウントするには、次のマウントコマンドを使用できます。

[ ~]# mount -t nfs 192.168.0.100:/nfsshare /mnt/nfsshare

上記のコマンドは、クライアント サーバー上の「/mnt/nfsshare」に共有ディレクトリをマウントします。次のコマンドで確認できます。

[ ~]# mount | grep nfs

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
192.168.0.100:/nfsshare on /mnt type nfs (rw,addr=192.168.0.100)

上記のマウント コマンドは、nfs 共有ディレクトリnfs クライアントに一時的にマウントし、システム上に NFS ディレクトリを永続的にマウントします。再起動するには、「/etc/fstab」にエントリを作成する必要があります。

[ ~]# vi /etc/fstab

以下に示すように、次の新しい行を追加します。

192.168.0.100:/nfsshare /mnt  nfs defaults 0 0

NFS セットアップの動作をテストする

サーバー側でテスト ファイルを作成してNFS サーバー設定をテストし、nfs クライアント側でその可用性を確認したり、その逆を行うことができます。

nfsserver 側で

その共有ディレクトリに「nfstest.txt」という名前の新しいテキスト ファイルを作成しました。

[ ~]# cat > /nfsshare/nfstest.txt

This is a test file to test the working of NFS server setup.
nfsclient 側で

クライアント サーバーの共有ディレクトリに移動すると、手動で更新したりサービスを再起動したりしなくても、その共有ファイルが見つかります。

[]# ll /mnt/nfsshare
total 4
-rw-r--r-- 1 root root 61 Sep 21 21:44 nfstest.txt
 ~]# cat /mnt/nfsshare/nfstest.txt
This is a test file to test the working of NFS server setup.

NFS マウントの削除

ファイル共有の完了後に、その共有ディレクトリをサーバーからアンマウントしたい場合は、\umountアンマウントするだけです。 「strong>」コマンド。以下の例を参照してください。

 ~]# umount /mnt/nfsshare

ファイルシステムをもう一度見ると、マウントが削除されたことがわかります。

[nt ~]# df -h -F nfs

これらの共有ディレクトリは利用できなくなっていることがわかります。

NFS の重要なコマンド

NFS のさらに重要なコマンド。

  1. showmount -e : ローカル マシン上の利用可能な共有を表示します
  2. showmount -e : 使用可能な共有をリストします。 リモートサーバー
  3. showmount -d : すべてのサブディレクトリをリストします
  4. exportfs -v : サーバー上の共有ファイルオプションのリストを表示します
  5. exportfs -a : /etc/exports にリストされているすべての共有、または指定された名前をエクスポートします
  6. exportfs -u : /etc/exports または指定された名前にリストされているすべての共有をアンエクスポートします
  7. exportfs -r : /etc/exports を変更した後にサーバーのリストを更新します

現時点ではNFS マウントについてはこれで終わりです。これはほんの始まりにすぎません。今後の記事でNFSのオプションと機能についてさらに詳しく説明します。それまでは、linux-console.net にアクセスして、今後さらにエキサイティングで興味深いチュートリアルをご覧ください。以下のコメントや提案をコメント ボックスに残してください。