Ubuntu 20.04LTSにNFSサーバーをインストールする方法

このチュートリアルでは、Ubuntu 20.04LTSにNFSサーバーをインストールする方法を示します。 ご存じない方のために説明すると、NFSまたはネットワークファイルシステムは分散ファイルシステムプロトコルです。 これは、ネットワークを介してファイルやディレクトリ全体を他のユーザーと共有するのに役立ちます。 これにより、リモートシステム上のプログラムは、ローカルマシンで利用可能であるかのように、情報を相互に共有およびアクセスできます。 このテクノロジーにより、複数のシステム間でリソースを共有できる柔軟性が得られます。

この記事は、少なくともLinuxの基本的な知識があり、シェルの使用方法を知っていること、そして最も重要なこととして、自分のVPSでサイトをホストしていることを前提としています。 インストールは非常に簡単で、rootアカウントで実行していることを前提としています。そうでない場合は、 ‘を追加する必要があります。sudo‘root権限を取得するコマンドに。 Ubuntu 20.04(Focal Fossa)にNFSサーバーを段階的にインストールする方法を紹介します。 Ubuntu 18.04、16.04、およびLinuxMintなどの他のDebianベースのディストリビューションでも同じ手順に従うことができます。

2台のマシンを使用します。1台はNFSサーバーとして機能するUbuntu20.04を実行し、もう1台は共有をマウントする他のLinuxディストリビューションを実行します。 この中のマシン example 次のIPがあります。

NFS Server IP: 192.168.77.20
NFS Clients IPs: From the 192.168.77.0/24 range

Ubuntu 20.04 LTS FocalFossaにNFSサーバーをインストールします

手順1.まず、次のコマンドを実行して、すべてのシステムパッケージが最新であることを確認します。 apt ターミナルのコマンド。

sudo apt update
sudo apt upgrade

ステップ2.Ubuntu20.04にNFSサーバーをインストールします。

次に、次のコマンドを実行して、NFSカーネルサーバーパッケージをインストールします。

sudo apt install nfs-kernel-server

かどうかを確認できます nfs-server 図のようにサービスが実行されています。

sudo systemctl status nfs-server

手順3.ホスト上に共有ディレクトリを作成します。

クライアントシステム間で共有されるディレクトリの作成:

sudo mkdir /var/nfs/general -p

クライアントシステムにこの共有ディレクトリへのフルアクセスを許可するため、アクセスを制限しているすべてのディレクトリ権限を削除する必要があります。

sudo chown nobody:nogroup /var/nfs/general

ステップ4.ホストでNFSを構成します。

これらのリソースの共有を設定するために、NFS構成ファイルを詳しく見ていきます。

sudo nano /etc/exports

次の行を追加します。

/var/nfs/general client_ip(rw,sync,no_subtree_check)
/home client_ip(rw,sync,no_root_squash,no_subtree_check)

エクスポートの基本オプションの場合:

オプション説明
rwNFSボリュームで読み取り要求と書き込み要求の両方を許可します。
roNFSボリュームでの読み取り要求のみを許可します。
同期変更が安定したストレージにコミットされた後でのみ、要求に応答してください。 (ディフォルト)
非同期このオプションを使用すると、NFSサーバーはNFSプロトコルに違反し、要求によって行われた変更が安定したストレージにコミットされる前に要求に応答できます。
安全このオプションでは、要求がIPPORT_RESERVED(1024)未満のインターネットポートで発信される必要があります。 (ディフォルト)
安全でないこのオプションは、すべてのポートを受け入れます。
wdelay別の関連する書き込み要求が進行中であるか、まもなく到着する可能性があると思われる場合は、書き込み要求をディスクにコミットするのを少し遅らせます。 (ディフォルト)
no_wdelay非同期も設定されている場合、このオプションは効果がありません。 NFSサーバーは通常、別の関連する書き込み要求が進行中であるか、まもなく到着する可能性があると疑われる場合、ディスクへの書き込み要求のコミットをわずかに遅らせます。 これにより、1回の操作で複数の書き込み要求をディスクにコミットできるため、パフォーマンスを向上させることができます。 NFSサーバーが主に小さな無関係な要求を受信した場合、この動作は実際にパフォーマンスを低下させる可能性があるため、no_wdelayを使用してオフにすることができます。
subtree_checkこのオプションは、サブツリーチェックを有効にします。 (ディフォルト)
no_subtree_checkこのオプションはサブツリーチェックを無効にします。これはセキュリティに軽度の影響を及ぼしますが、状況によっては信頼性を向上させることができます。
root_squashリクエストをuid / gid0から匿名のuid / gidにマップします。 これは、ユーザーbinやグループスタッフなど、同様に機密性が高い可能性のある他のuidまたはgidには適用されないことに注意してください。
no_root_squashルートスカッシングをオフにします。 このオプションは、主にディスクレスクライアントに役立ちます。
all_squashすべてのuidとgidを匿名ユーザーにマップします。 NFSエクスポートされたパブリックFTPディレクトリ、ニューススプールディレクトリなどに役立ちます。
no_all_squashすべての押しつぶしをオフにします。 (ディフォルト)
anonuid = UIDこれらのオプションは、匿名アカウントのuidとgidを明示的に設定します。 このオプションは主に、すべての要求が1人のユーザーからのものであるように見せたいPC / NFSクライアントに役立ちます。 として example、/ home / joeのエクスポートエントリを検討してください。 example 以下のセクションでは、すべてのリクエストをuid150にマップします。
anongid = GID上記をお読みください(anonuid = UID)

最後に、NFSサーバーを再起動して、変更を適用します。

sudo systemctl restart nfs-kernel-server

ステップ5.構成ファイアウォール。

そうしないと、ファイアウォールを介したアクセスを許可する必要があります。そうしないと、共有ディレクトリにアクセスしてマウントできなくなります。 これを実現するには、以下のコマンドを実行します。

sudo ufw allow from 192.168.77.0/24 to any port nfs
sudo ufw enable
sudo ufw status

手順6.NFSクライアントを設定します。

クライアントマシンには、リモートNFSファイルシステムをマウントするために必要なツールのみをインストールする必要があります。

  • DebianとUbuntuにNFSクライアントをインストールする

次のコマンドを実行してインストールします。

sudo apt install nfs-common
  • クライアントにマウントポイントを作成します。

次に、クライアントにマウントするための2つのディレクトリを作成します。

sudo mkdir -p /nfs/general
sudo mkdir -p /nfs/home

次に、ホストのIPアドレスを使用して共有をマウントします。

sudo mount host_ip:/var/nfs/general /nfs/general
sudo mount host_ip:/home /nfs/home

マウントまたはマウントを使用して、リモートファイルシステムが正常にマウントされていることを確認します df 指図:

df -h

再起動時にマウントを永続的にするには、 /etc/fstab ファイルを作成し、次の行を追加します。

sudo nano /etc/fstab

次の行を追加します。

192.168.77.10:/var/nfs/general /nfs/general  nfs defaults,timeo=900,retrans=5,_netdev 0 0
192.168.77.10:/home /nfs/home                nfs defaults,timeo=900,retrans=5,_netdev 0 0

手順7.NFS共有をテストします。

次に、テストファイルを作成します。 /var/nfs/general シェア:

sudo touch /nfs/general/general.test

その所有権を確認してください:

$ ls -l /nfs/home/home.test
-rw-r--r-- 1 root root 0 Aug 1 13:32 /nfs/home/home.test

手順8.NFSファイルシステムのマウントを解除します。

リモートNFS共有が不要になった場合は、他のマウントされたファイルシステムと同様に、 umount 指図:

sudo umount /general

おめでとう! これで、NFSサーバーが正常にインストールされました。 このチュートリアルを使用して、Ubuntu 20.04 LTS FocalFossaシステムにNFSサーバーをインストールしていただきありがとうございます。 追加のヘルプまたは有用な情報については、チェックすることをお勧めします NFSの公式ウェブサイト