| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「Ubuntu NFS構成」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の17版が非表示)
54行目: 54行目:
 
</pre>
 
</pre>
  
'''bombay.localはサーバーホスト名'''
+
*no_subtree_check :サブツリーのチェックを防ぎます
 +
*no_root_squash :デフォルトでは、NFSは* root ユーザーからのリクエストをリモートでサーバー上の非特権ユーザーに変換します。 no_root_squash は特定の共有に対してこの動作を無効にします
 
<pre>
 
<pre>
 
# /etc/exports: the access control list for filesystems which may be exported
 
# /etc/exports: the access control list for filesystems which may be exported
66行目: 67行目:
 
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
 
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
 
#
 
#
/var/nfs/general  bombay.local(rw,sync,no_subtree_check)
+
/var/nfs/general  *(rw)
/home                    bombay.local(rw,sync,no_root_squash,no_subtree_check)                                                 
+
/home              *(rw,sync,no_root_squash,no_subtree_check)                                 
 +
</pre>
 +
 
 +
*再起動
 +
<pre>
 +
$ sudo systemctl restart nfs-kernel-server
 +
$ sudo systemctl status nfs-kernel-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 2020-11-23 23:11:37 JST; 2s ago
 +
    Process: 6405 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
 +
    Process: 6406 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)
 +
  Main PID: 6406 (code=exited, status=0/SUCCESS)
 +
 
 +
11月 23 23:11:36 bombay.local systemd[1]: Starting NFS server and services...
 +
11月 23 23:11:36 bombay.local exportfs[6405]: exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/var/nfs/general".
 +
11月 23 23:11:36 bombay.local exportfs[6405]:  Assuming default behaviour ('no_subtree_check').
 +
11月 23 23:11:36 bombay.local exportfs[6405]:  NOTE: this default has changed since nfs-utils version 1.0.x
 +
11月 23 23:11:36 bombay.local exportfs[6405]: exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/home".
 +
11月 23 23:11:36 bombay.local exportfs[6405]:  Assuming default behaviour ('no_subtree_check').
 +
11月 23 23:11:36 bombay.local exportfs[6405]:  NOTE: this default has changed since nfs-utils version 1.0.x
 +
11月 23 23:11:37 bombay.local systemd[1]: Finished NFS server and services.
 +
</pre>
 +
====ファイアウォールの設定====
 +
<pre>
 +
$ sudo ufw allow from  to any port nfs
 +
</pre>
 +
 
 +
==クライアントでのマウントポイントの作成==
 +
 
 +
===mDNSのインストール===
 +
* *.localの名前解決
 +
<pre>
 +
ubuntu@nfs-client:~$ sudo apt      install -y avahi-daemon
 +
ubuntu@nfs-client:~$ sudo systemctl start      avahi-daemon
 +
ubuntu@nfs-client:~$ sudo systemctl enable    avahi-daemon
 +
ubuntu@nfs-client:~$  ping bombay.local
 +
PING bombay.local (192.168.0.47) 56(84) bytes of data.
 +
64 bytes from 192.168.0.47 (192.168.0.47): icmp_seq=1 ttl=64 time=2.31 ms
 +
</pre>
 +
 
 +
===マウントポイントの作成===
 +
<pre>
 +
ubuntu@nfs-client:/$ sudo mkdir -p /nfs/general
 +
ubuntu@nfs-client:/$ sudo mkdir -p /nfs/home
 +
</pre>
 +
 
 +
===マウント===
 +
<pre>
 +
ubuntu@nfs-client:/$ sudo mount bombay.local:/var/nfs/general /nfs/general
 +
</pre>
 +
 
 +
===確認===
 +
<pre>
 +
$ df -h
 +
Filesystem                    Size  Used Avail Use% Mounted on
 +
udev                          978M    0  978M  0% /dev
 +
tmpfs                          199M  972K  198M  1% /run
 +
/dev/sda1                      15G  1.4G  13G  10% /
 +
tmpfs                          994M    0  994M  0% /dev/shm
 +
tmpfs                          5.0M    0  5.0M  0% /run/lock
 +
tmpfs                          994M    0  994M  0% /sys/fs/cgroup
 +
/dev/sda15                     105M  3.9M  101M  4% /boot/efi
 +
/dev/loop0                      56M  56M    0 100% /snap/core18/1932
 +
/dev/loop1                      68M  68M    0 100% /snap/lxd/18150
 +
/dev/loop2                      31M  31M    0 100% /snap/snapd/9721
 +
tmpfs                          199M    0  199M  0% /run/user/1000
 +
bombay.local:/var/nfs/general  228G  69G  148G  32% /nfs/general
 +
</pre>
 +
 
 +
===起動時にリモートNFSディレクトリをマウント===
 +
*https://linuc.org/study/knowledge/505/
 +
*https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/storage_administration_guide/nfs-clientconfig#s2-nfs-fstab
 +
*/etc/fstab
 +
*一般的な構文
 +
<pre>
 +
server:/usr/local/pub    /pub  nfs    defaults 0 0
 +
</pre>
 +
 
 +
<pre>
 +
bombay.local:/var/nfs/general /nfs/general nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
 +
</pre>
 +
 
 +
===共有のアンマウント===
 +
<pre>
 +
umount /nfs/general
 
</pre>
 
</pre>

2020年11月24日 (火) 16:34時点における最新版

| Ubuntu |

Ubuntu NFS構成

コンポーネントのインストール

サーバー

コンポーネントのインストール

  1. $ sudo apt update
  2. $ sudo apt install nfs-kernel-server

クライアント

仮想環境 Multipass にクライアント Ubuntu を作成

  1. $ multipass launch --mem 2G --disk 15G --name nfs-client
  2. $ multipass sh nfs-client
  3. Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-53-generic x86_64)
  4. ubuntu@nfs-client:~$

コンポーネントのインストール

  1. ubuntu@nfs-client:~$ sudo apt update
  2. ubuntu@nfs-client:~$sudo apt install nfs-common

サーバーでのマウントポイントの作成

ディレクトリのエクスポート準備

  1. $ sudo mkdir /var/nfs/general -p
  2. $ ls -al /var/nfs | grep "general"
  3. drwxr-xr-x 2 root root 4096 Nov 23 22:42 general

NFSは、セキュリティ対策として、* client 上の root *操作を `+ nobody:nogroup +`資格情報に変換します。 したがって、これらの資格情報と一致するようにディレクトリの所有権を変更する必要があります。

  1. $ sudo chown nobody:nogroup /var/nfs/general
  2. $ ls -al /var/nfs | grep "general"
  3. drwxr-xr-x 2 nobody nogroup 4096 Nov 23 22:42 general

NFSエクスポートの構成

  • /etc/exportsの編集
  • /etc/exports ファイルは、リモートホストにどのファイルシステムをエクスポートするかを制御し、オプションを指定します。以下の構文ルールに従います。
    • 空白行は無視する。
    • コメント行は、ハッシュ記号 (#) で始める。
    • 長い行はバックスラッシュ (\) を使って折り返す。
    • エクスポートするファイルシステムは、それぞれ 1 行で指定する。
    • 許可するホストの一覧は、エクスポートするファイルシステムの後に空白文字を追加し、その後に追加する。
    • 各ホストのオプションは、ホスト識別子の直後に括弧を追加し、その中に指定する。ホストと最初の括弧の間には空白を入れない。
  1. $ sudo vi /etc/exports
  • no_subtree_check :サブツリーのチェックを防ぎます
  • no_root_squash :デフォルトでは、NFSは* root ユーザーからのリクエストをリモートでサーバー上の非特権ユーザーに変換します。 no_root_squash は特定の共有に対してこの動作を無効にします
  1. # /etc/exports: the access control list for filesystems which may be exported
  2. # to NFS clients. See exports(5).
  3. #
  4. # Example for NFSv2 and NFSv3:
  5. # /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
  6. #
  7. # Example for NFSv4:
  8. # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
  9. # /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
  10. #
  11. /var/nfs/general *(rw)
  12. /home *(rw,sync,no_root_squash,no_subtree_check)
  • 再起動
  1. $ sudo systemctl restart nfs-kernel-server
  2. $ sudo systemctl status nfs-kernel-server
  3. nfs-server.service - NFS server and services
  4. Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled)
  5. Active: active (exited) since Mon 2020-11-23 23:11:37 JST; 2s ago
  6. Process: 6405 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
  7. Process: 6406 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)
  8. Main PID: 6406 (code=exited, status=0/SUCCESS)
  9.  
  10. 11 23 23:11:36 bombay.local systemd[1]: Starting NFS server and services...
  11. 11 23 23:11:36 bombay.local exportfs[6405]: exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/var/nfs/general".
  12. 11 23 23:11:36 bombay.local exportfs[6405]: Assuming default behaviour ('no_subtree_check').
  13. 11 23 23:11:36 bombay.local exportfs[6405]: NOTE: this default has changed since nfs-utils version 1.0.x
  14. 11 23 23:11:36 bombay.local exportfs[6405]: exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/home".
  15. 11 23 23:11:36 bombay.local exportfs[6405]: Assuming default behaviour ('no_subtree_check').
  16. 11 23 23:11:36 bombay.local exportfs[6405]: NOTE: this default has changed since nfs-utils version 1.0.x
  17. 11 23 23:11:37 bombay.local systemd[1]: Finished NFS server and services.

ファイアウォールの設定

  1. $ sudo ufw allow from to any port nfs

クライアントでのマウントポイントの作成

mDNSのインストール

  • *.localの名前解決
  1. ubuntu@nfs-client:~$ sudo apt install -y avahi-daemon
  2. ubuntu@nfs-client:~$ sudo systemctl start avahi-daemon
  3. ubuntu@nfs-client:~$ sudo systemctl enable avahi-daemon
  4. ubuntu@nfs-client:~$ ping bombay.local
  5. PING bombay.local (192.168.0.47) 56(84) bytes of data.
  6. 64 bytes from 192.168.0.47 (192.168.0.47): icmp_seq=1 ttl=64 time=2.31 ms

マウントポイントの作成

  1. ubuntu@nfs-client:/$ sudo mkdir -p /nfs/general
  2. ubuntu@nfs-client:/$ sudo mkdir -p /nfs/home

マウント

  1. ubuntu@nfs-client:/$ sudo mount bombay.local:/var/nfs/general /nfs/general

確認

  1. $ df -h
  2. Filesystem Size Used Avail Use% Mounted on
  3. udev 978M 0 978M 0% /dev
  4. tmpfs 199M 972K 198M 1% /run
  5. /dev/sda1 15G 1.4G 13G 10% /
  6. tmpfs 994M 0 994M 0% /dev/shm
  7. tmpfs 5.0M 0 5.0M 0% /run/lock
  8. tmpfs 994M 0 994M 0% /sys/fs/cgroup
  9. /dev/sda15 105M 3.9M 101M 4% /boot/efi
  10. /dev/loop0 56M 56M 0 100% /snap/core18/1932
  11. /dev/loop1 68M 68M 0 100% /snap/lxd/18150
  12. /dev/loop2 31M 31M 0 100% /snap/snapd/9721
  13. tmpfs 199M 0 199M 0% /run/user/1000
  14. bombay.local:/var/nfs/general 228G 69G 148G 32% /nfs/general

起動時にリモートNFSディレクトリをマウント

  1. server:/usr/local/pub /pub nfs defaults 0 0
  1. bombay.local:/var/nfs/general /nfs/general nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

共有のアンマウント

  1. umount /nfs/general