GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04でNFSサーバーとクライアントをセットアップする方法

Ubuntu 20.04は、NFSバージョン3(NFSv3)および4(NFSv4)をサポートしています。デフォルトのNFSバージョンは4.2で、アクセス制御リスト(ACL)、サーバー側のコピー、スパースファイル、スペース予約、ラベル付きNFS、レイアウトの拡張などをサポートしています。

このガイドでは、Ubuntu20.04にNFSサーバーとNFSクライアントをインストールして構成する方法を学習します。

関連記事:

  • Rocky / AlmaLinux8でNFSサーバーとクライアントをセットアップする方法
  • Ubuntu20.04にSambaファイル共有をインストールして構成する方法

前提条件

  • サーバーとして使用するためにUbuntu20.04サーバーを更新し、クライアント用に別のサーバーを更新しました
  • サーバーからの接続
  • サーバーからのsudoアクセス

目次

  1. サーバーが更新されていることを確認します
  2. NFSパッケージをインストールする
  3. NFSサーバーの起動と有効化
  4. ファイアウォールでのNFSサービスの有効化
  5. NFSサーバーでのエクスポートの構成
  6. NFSクライアントシステムのセットアップ

1。サーバーが最新であることを確認する

先に進む前に、サーバーが最新であることを確認しましょう。これを実現するには、次のコマンドを使用します。

sudo apt update
sudo apt upgrade -y

2。 NFSパッケージをインストールする

パッケージ nfs-kernel-server UbuntuにNFSサービスを提供します。 NFSサーバーパッケージは、NFSカーネルサーバーの実行に必要なユーザースペースサポートを提供します。パッケージをインストールするには、次のコマンドを実行します:

sudo apt install -y nfs-kernel-server

Ubuntu 20.04では、NFSバージョン2が無効になっています。バージョン3および4が有効になります。次のコマンドを使用して、インストールされているバージョンを確認します。

$ sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2

3。 NFSサーバーの起動と有効化

NFSパッケージが正常にインストールされると、NFSサーバーが起動します。次のコマンドでサービスのステータスを確認します:

$ sudo systemctl status nfs-server
● nfs-server.service - NFS server and services
     Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2022-01-17 19:24:54 UTC; 1min 40s ago
   Main PID: 20614 (code=exited, status=0/SUCCESS)
      Tasks: 0 (limit: 4624)
     Memory: 0B
     CGroup: /system.slice/nfs-server.service

Jan 17 19:24:52 dev-ubuntusrv.inv.re systemd[1]: Starting NFS server and services...
Jan 17 19:24:54 dev-ubuntusrv.inv.re systemd[1]: Finished NFS server and services.

上記の出力は、サービスが正常に開始されたことを示しています。システムの起動時にサービスを開始できるようにするには、次のコマンドを使用します。

sudo systemctl enable nfs-server

NFSサーバーの実行やNFS共有のマウントに必要なその他のサービス(nfsdなど)に注意してください。 、nfs-idmapdrpcbindrpc.mountdlockdrpc.statdrpc.rquotad およびrpc.idmapd 自動的に開始されます。

4。ファイアウォールでのNFSサービスの有効化

ファイアウォールで保護されているリモートUbuntuサーバーにNFSサーバーをインストールする場合は、NFSポートでトラフィックを有効にする必要があります。

sudo ufw allow nfs

変更を確認します:

sudo ufw status

5。 NFSサーバーでのエクスポートの構成

NFSサーバーの構成は、/etc/default/nfs-kernel-serverで定義されています。 および/etc/default/nfs-common ファイル。ほとんどの状況では、デフォルト設定で十分です。

NFSサーバーでエクスポートまたは共有するファイルシステムを作成しましょう。凝視する2つのファイルシステム、/mnt/nfs_shares/filesを作成します 共有ファイルと/mnt/nfs_shares/backupの場合 バックアップ用。

サーバーにディレクトリを作成しましょう

sudo mkdir -p /mnt/nfs_shares/files
sudo mkdir -p /mnt/nfs_shares/backup

確認

$ sudo ls /mnt/nfs_shares
backup	files

次に、上記のファイルシステムをエクスポートファイル/etc/exportsに追加します。 NFSサーバーで、NFSクライアントにエクスポートされるローカルファイルシステムを決定します。

テキストエディタでエクスポートファイルを開きます

sudo vim /etc/exports

次に、このコンテンツを追加します:

/mnt/nfs_shares/files  	10.70.5.170(rw,sync)
/mnt/nfs_shares/backup  10.70.5.0/24(rw,sync,no_all_squash,root_squash)

使用できるエクスポートオプションは次のとおりです。

  • rw –ファイルシステムでの読み取りアクセスと書き込みアクセスの両方を許可します。
  • 同期 –要求されたときに操作(ディスクへの情報の書き込み)を書き込むようにNFSサーバーに指示します(デフォルトで適用されます)。
  • all_squash –クライアントリクエストからのすべてのUIDとGIDを匿名ユーザーにマップします。
  • no_all_squash –クライアントリクエストからのすべてのUIDとGIDをNFSサーバー上の同一のUIDとGIDにマッピングするために使用されます。
  • root_squash –rootユーザーからのリクエストまたはクライアントからのUID/GID0を匿名のUID/GIDにマップします。

エクスポートファイルでファイルシステムを定義したら、exportfsを実行する必要があります それらをエクスポートするためのコマンド。 exportfsは、-aを使用して実行できます すべてのディレクトリをエクスポートまたはエクスポート解除することを意味するフラグ、-r つまり、すべてのディレクトリを再エクスポートし、 / var / lib / nfs / etabを同期します / etc / exports および/etc/exports.dの下のファイル 、および -v 詳細な出力を有効にします。

sudo exportfs -arv

これは私のサーバーの出力です

$ sudo exportfs -arv
exporting 10.70.5.170:/mnt/nfs_shares/files
exporting 10.70.5.0/24:/mnt/nfs_shares/backup

現在のエクスポートリストを表示するには、次のコマンドを実行します。 exportfsテーブルには、明示的に定義されていないいくつかのデフォルトオプションも適用されることに注意してください。

$ sudo exportfs  -s
/mnt/nfs_shares/files  10.70.5.170(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/mnt/nfs_shares/backup  10.70.5.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)

6。 NFSクライアントシステムのセットアップ

サーバーでエクスポートを構成したので、クライアントシステムからエクスポートにアクセスできます。クライアントシステムにログインし、NFS共有にアクセスできるようにするために必要なパッケージをインストールします。

RHELベースのシステムの場合:

sudo dnf install -y nfs-utils nfs4-acl-tools

Debian / Ubuntuベースのディストリビューションの場合:

sudo apt install nfs-common nfs4-acl-tools

次に、showmountコマンドを実行して、NFSサーバーのマウント情報を表示できます。このコマンドは、エクスポートされたファイルシステムをサーバーに出力します

showmount -e 10.70.5.221

出力

$ showmount -e 10.70.5.221
Export list for 10.70.5.221:
/mnt/nfs_shares/backup 10.70.5.0/24
/mnt/nfs_shares/files  10.70.5.170

リモートNFSファイルシステムをマウントするためのローカルファイルシステムディレクトリを作成し、nfsファイルシステムとしてマウントします

mkdir -p ~/backups
mkdir -p ~/nfs_files
sudo mount -t nfs  10.70.5.221:/mnt/nfs_shares/backup ~/backups
sudo mount -t nfs  10.70.5.221:/mnt/nfs_shares/files ~/nfs_files

次に、マウントを実行して、リモートファイルシステムがマウントされたことを確認できます。 コマンドとフィルターnfs マウントします。

sudo mount | grep nfs

私のマシンに出力

$ sudo mount | grep nfs
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
10.70.5.221:/mnt/nfs_shares/backup on /home/ubuntu/backups type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)
10.70.5.221:/mnt/nfs_shares/files on /home/ubuntu/nfs_files type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)

システムを再起動した後もマウントを永続化できるようにするには、エントリを/etc/fstabに追加します。 ファイル。これを実現するには、次のコマンドを(rootとして)使用します。

echo "10.70.5.221:/mnt/nfs_shares/backup     /home/ubuntu/backups  nfs     defaults 0 0" >> /etc/fstab
echo "10.70.5.221:/mnt/nfs_shares/files     /home/ubuntu/nfs_files  nfs     defaults 0 0" >> /etc/fstab

最後に、 NFSかどうかをテストします サーバー上にファイルを作成し、そのファイルがクライアントに表示されるかどうかを確認することで、セットアップは正常に機能しています。

サーバー上:

sudo touch /mnt/nfs_shares/files/file_on_server.txt

次に、クライアントマシンで確認します

$ ls ~/nfs_files/
file_on_server.txt

逆もできます。クライアントの場合:

touch ~/nfs_files/file_on_client.txt

次に、サーバーで確認します:

$ ls /mnt/nfs_shares/files/
file_on_client.txt  file_on_server.txt

クライアント側でリモートファイルシステムをアンマウントします。

sudo umount /mnt/nfs_shares/files
sudo umount /mnt/nfs_shares/backup

unmountはできないことに注意してください リモートファイルシステム内で操作している場合は、リモートファイルシステム。

結論

このガイドでは、Ubuntu20.04にNFSサーバーとクライアントをインストールして構成することができました。


Ubuntu
  1. Ubuntu14.10でNFSサーバーを構成してNFS共有をマウントする方法

  2. Ubuntu20.04にUrBackupサーバーとクライアントをインストールする-その方法は?

  3. Rocky / AlmaLinux8でNFSサーバーとクライアントをセットアップする方法

  1. Ubuntu20.04にNFSサーバーをインストールして構成する方法

  2. Ubuntu18.04でOpenVPNサーバーをセットアップする方法

  3. Ubuntu20.04にNFSクライアントとサーバーをインストールする方法

  1. Ubuntu18.04にNFSサーバーをインストールして構成する方法

  2. Ubuntu18.04LTSでKerberosサーバーとクライアントをセットアップする方法

  3. Ubuntu20.04にUrBackupサーバーとクライアントをインストールする方法