0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【小ネタ】ONTAPにNFSv4でマウントするとファイルの所有者が「nobody」になってしまったときの対処法

Posted at

はじめに

  • ONTAPのボリュームにNFSv4でアクセスする際、ちょっとしたハマりどころがあったのでまとめました。

事象:ONTAPの同一ボリュームにNFSv3とNFSv4でアクセスすると、ファイルの所有者の表示が異なる。

  • はじめにこのようなNFS用ボリュームを作成します。
    nfsvol.png
  • NFSクライアントであるLinuxサーバーにてNFSv3マウント用のディレクトリ、NFSv4マウント用のディレクトリをそれぞれ作成します。
# mkdir /mnt/nfsv3
# mkdir /mnt/nfsv4
  • NFSv3でマウントしてみます。
# mount -t nfs -o nfsvers=3 192.168.0.151:/nfsvol /mnt/nfsv3
# df
Filesystem              1K-blocks    Used Available Use% Mounted on
devtmpfs                   928944       0    928944   0% /dev
tmpfs                      940988       0    940988   0% /dev/shm
tmpfs                      940988    9040    931948   1% /run
tmpfs                      940988       0    940988   0% /sys/fs/cgroup
/dev/mapper/centos-root  57643520 3609952  54033568   7% /
/dev/sda1                 1038336  203396    834940  20% /boot
tmpfs                      188200       0    188200   0% /run/user/0
192.168.0.151:/nfsvol    10485824     384  10485440   1% /mnt/nfsv3
  • テスト用にファイルを作成してファイルの所有者を確認すると、所有者はroot:rootでした。
# touch /mnt/nfsv3/test.txt
# ls -l /mnt/nfsv3
total 0
-rw-r--r-- 1 root root 0 Jan 21 04:24 test.txt
  • 次に、同じボリュームをNFSv4でマウントしてみます。
# mount -t nfs -o nfsvers=4 192.168.0.151:/nfsvol /mnt/nfsv4
# df
Filesystem              1K-blocks    Used Available Use% Mounted on
devtmpfs                   928944       0    928944   0% /dev
tmpfs                      940988       0    940988   0% /dev/shm
tmpfs                      940988    9040    931948   1% /run
tmpfs                      940988       0    940988   0% /sys/fs/cgroup
/dev/mapper/centos-root  57643520 3609904  54033616   7% /
/dev/sda1                 1038336  203396    834940  20% /boot
tmpfs                      188200       0    188200   0% /run/user/0
192.168.0.151:/nfsvol    10485824     384  10485440   1% /mnt/nfsv3
192.168.0.151:/nfsvol    10485824     384  10485440   1% /mnt/nfsv4
  • 作成したファイルを確認すると、所有者はnobody:nobodyでした。
# ls -l /mnt/nfsv4
total 0
-rw-r--r-- 1 nobody nobody 0 Jan 21 04:24 test.txt

解決方法:NFSクライアントとONTAPのSVMのドメイン名を一致させる。

  • NFSv4で所有者が「nobody」と表示されてしまうのは、NFSクライアントとONTAPでのUIDの名前のマッピングの不一致によるものです。
  • マッピングを一致させるには、両者で同一のドメイン名を設定する必要があります。
  • ONTAPのSVM側のデフォルトのドメイン名はdefaultv4iddomain.comです。
::> vserver nfs show -fields v4-id-domain
vserver       v4-id-domain
------------- ---------------------
svm1_cluster1 defaultv4iddomain.com
  • 特にドメイン名に拘る必要が無ければ、NFSクライアント側をこれに合わせます。
  • NFSクライアント側のドメイン名は/etc/idmapd.confで設定します。
  • /etc/idmapd.confに以下を追記します。
Domain = defaultv4iddomain.com
  • 一度、NFSv4のマウントをアンマウントして再度マウントします。
# umount /mnt/nfsv4
# mount -t nfs -o nfsvers=4 192.168.0.151:/nfsvol /mnt/nfsv4
# df
Filesystem              1K-blocks    Used Available Use% Mounted on
devtmpfs                   928944       0    928944   0% /dev
tmpfs                      940988       0    940988   0% /dev/shm
tmpfs                      940988    9040    931948   1% /run
tmpfs                      940988       0    940988   0% /sys/fs/cgroup
/dev/mapper/centos-root  57643520 3609904  54033616   7% /
/dev/sda1                 1038336  203396    834940  20% /boot
tmpfs                      188200       0    188200   0% /run/user/0
192.168.0.151:/nfsvol    10485824     384  10485440   1% /mnt/nfsv3
192.168.0.151:/nfsvol    10485824     384  10485440   1% /mnt/nfsv4
  • NFSv3、NFSv4ともに所有者がroot:rootになりました。
# ls -l /mnt/nfsv3
total 0
-rw-r--r-- 1 root root 0 Jan 21 04:24 test.txt
# ls -l /mnt/nfsv4
total 0
-rw-r--r-- 1 root root 0 Jan 21 04:24 test.txt

まとめ

  • ONTAPのボリュームにNFSv4でアクセスする際、ちょっとしたハマりどころがあったのでまとめました。
  • ドキュメント上の記載も見つけにくいので注意が必要です。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?