NFSv4 montagens mostrando todas as entradas como diretórios

0

Começando em torno do kernel 4.14.10, notei um problema estranho acontecendo com minhas montagens NFS, onde todas as entradas em um diretório são mostradas como diretórios, se elas forem montadas com a versão 4. Aqui estão as minhas configurações:

No servidor:

nfs-utils: net-fs / nfs-utils-2.3.1-r1 :: gentoo USE="caps ipv6 libmount nfsdcld nfsidmap nfsv4 nfsv41 tcpd uuid -kerberos -ldap (-selinux)"

Kernel .config (entradas NFS)

CONFIG_NFS_FS=m
CONFIG_NFS_V2=m
CONFIG_NFS_V3=m
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=m
# CONFIG_NFS_SWAP is not set
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_PNFS_FILE_LAYOUT=m
CONFIG_PNFS_FLEXFILE_LAYOUT=m
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
# CONFIG_NFS_V4_1_MIGRATION is not set
CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
CONFIG_NFS_DEBUG=y
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
# CONFIG_NFSD_BLOCKLAYOUT is not set
# CONFIG_NFSD_SCSILAYOUT is not set
# CONFIG_NFSD_FLEXFILELAYOUT is not set
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y

/etc/exports

/var/nfs/router/portage infrastructure(rw,no_root_squash,no_all_squash,no_subtree_check)
/var/nfs/router/kernel infrastructure(rw,no_root_squash,no_all_squash,no_subtree_check)
/var/nfs/router/temp infrastructure(rw,no_root_squash,no_all_squash,no_subtree_check)

Informações sobre partições de tune2fs -l

# tune2fs -l /dev/sdb3
tune2fs 1.43.8 (1-Jan-2018)
Filesystem volume name:   root
Last mounted on:          /
Filesystem UUID:          bed7944c-5306-4e7e-9bfd-e6ceba8f4705
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
[...]

No cliente:

nfs-utils: net-fs / nfs-utils-2.3.1-r1 :: gentoo USE="caps ipv6 libmount nfsdcld nfsidmap nfsv4 nfsv41 tcpd uuid -kerberos-ldap (-selinux)

Kernel .config (entradas NFS)

CONFIG_NFS_FS=m
CONFIG_NFS_V2=m
CONFIG_NFS_V3=m
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=m
# CONFIG_NFS_SWAP is not set
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_PNFS_FILE_LAYOUT=m
CONFIG_PNFS_FLEXFILE_LAYOUT=m
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
# CONFIG_NFS_V4_1_MIGRATION is not set
CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
# CONFIG_NFSD is not set
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y

/etc/fstab (apenas entradas do NFS mostradas)

server-fs:/var/nfs/router/portage  /usr/portage    nfs     noauto,relatime 0 0
server-fs:/var/nfs/router/kernel /usr/src  nfs     noauto,relatime 0 0
server-fs:/var/nfs/router/temp /var/tmp/portage nfs noauto,relatime 0 0

rpcinfo -p server-fs

# rpcinfo -p server-calgary
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  38129  status
    100024    1   tcp  52543  status
    100005    1   udp  34269  mountd
    100005    1   tcp  33113  mountd
    100005    2   udp  60574  mountd
    100005    2   tcp  37491  mountd
    100005    3   udp  44763  mountd
    100005    3   tcp  37033  mountd
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    3   tcp   2049  nfs_acl
    100021    1   udp  35592  nlockmgr
    100021    3   udp  35592  nlockmgr
    100021    4   udp  35592  nlockmgr
    100021    1   tcp  45355  nlockmgr
    100021    3   tcp  45355  nlockmgr
    100021    4   tcp  45355  nlockmgr

Quando eu monto qualquer um deles com o NFSv4, acontece o seguinte:

# mount -t nfs -o nfsvers=4 /usr/src
# mount
[...]
server-fs:/var/nfs/router/kernel on /usr/src type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp6,timeo=600,retrans=2,sec=sys,clientaddr=[client_ipv6_address],local_lock=none,addr=[server_ipv6_address])
# ls -la /usr/src/linux-4.14.12-gentoo/
total 228
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .
drwxr-xr-x 14 root root 4096 Jan  7 09:50 ..
drwxr-xr-x 14 root root 4096 Jan  7 09:50 arch
drwxr-xr-x 14 root root 4096 Jan  7 09:50 block
drwxr-xr-x 14 root root 4096 Jan  7 09:50 built-in.o
drwxr-xr-x 14 root root 4096 Jan  7 09:50 certs
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .cocciconfig
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .config
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .config.old
drwxr-xr-x 14 root root 4096 Jan  7 09:50 COPYING
drwxr-xr-x 14 root root 4096 Jan  7 09:50 CREDITS
drwxr-xr-x 14 root root 4096 Jan  7 09:50 crypto
drwxr-xr-x 14 root root 4096 Jan  7 09:50 distro
drwxr-xr-x 14 root root 4096 Jan  7 09:50 Documentation
drwxr-xr-x 14 root root 4096 Jan  7 09:50 drivers
drwxr-xr-x 14 root root 4096 Jan  7 09:50 firmware
drwxr-xr-x 14 root root 4096 Jan  7 09:50 fs
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .get_maintainer.ignore
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .gitattributes
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .gitignore
drwxr-xr-x 14 root root 4096 Jan  7 09:50 include
drwxr-xr-x 14 root root 4096 Jan  7 09:50 init
drwxr-xr-x 14 root root 4096 Jan  7 09:50 ipc
drwxr-xr-x 14 root root 4096 Jan  7 09:50 Kbuild
drwxr-xr-x 14 root root 4096 Jan  7 09:50 Kconfig
drwxr-xr-x 14 root root 4096 Jan  7 09:50 kernel
drwxr-xr-x 14 root root 4096 Jan  7 09:50 lib
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .mailmap
drwxr-xr-x 14 root root 4096 Jan  7 09:50 MAINTAINERS
drwxr-xr-x 14 root root 4096 Jan  7 09:50 Makefile
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .missing-syscalls.d
drwxr-xr-x 14 root root 4096 Jan  7 09:50 mm
drwxr-xr-x 14 root root 4096 Jan  7 09:50 modules.builtin
drwxr-xr-x 14 root root 4096 Jan  7 09:50 modules.order
drwxr-xr-x 14 root root 4096 Jan  7 09:50 Module.symvers
drwxr-xr-x 14 root root 4096 Jan  7 09:50 net
drwxr-xr-x 14 root root 4096 Jan  7 09:50 README
drwxr-xr-x 14 root root 4096 Jan  7 09:50 samples
drwxr-xr-x 14 root root 4096 Jan  7 09:50 scripts
drwxr-xr-x 14 root root 4096 Jan  7 09:50 security
drwxr-xr-x 14 root root 4096 Jan  7 09:50 sound
drwxr-xr-x 14 root root 4096 Jan  7 09:50 System.map
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .tmp_kallsyms1.o
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .tmp_kallsyms1.S
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .tmp_kallsyms2.o
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .tmp_kallsyms2.S
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .tmp_System.map
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .tmp_versions
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .tmp_vmlinux1
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .tmp_vmlinux2
drwxr-xr-x 14 root root 4096 Jan  7 09:50 tools
drwxr-xr-x 14 root root 4096 Jan  7 09:50 usr
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .version
drwxr-xr-x 14 root root 4096 Jan  7 09:50 virt
drwxr-xr-x 14 root root 4096 Jan  7 09:50 vmlinux
drwxr-xr-x 14 root root 4096 Jan  7 09:50 .vmlinux.cmd
drwxr-xr-x 14 root root 4096 Jan  7 09:50 vmlinux.o
# cat /usr/src/linux-4.14.12-gentoo/.config
cat: /usr/src/linux-4.14.12-gentoo/.config: Is a directory
# cd /usr/src/linux-4.14.12-gentoo/.config
-bash: cd: /usr/src/linux-4.14.12-gentoo/.config: Permission denied
# ls /usr/src/linux-4.14.12-gentoo/.config
ls: reading directory '/usr/src/linux-4.14.12-gentoo/.config': Not a directory
total 0

(Observe a dicotomia 'É um diretório' / 'Não é um diretório'!)

Estranhamente, quando eu montei usando o NFSv3, tudo está bem:

# mount -t nfs -o nfsvers=3 /usr/src
# mount
[...]
server-calgary:/var/nfs/router/kernel on /usr/src type nfs (rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp6,timeo=600,retrans=2,sec=sys,mountaddr=[server_ipv6_address],mountvers=3,mountport=33959,mountproto=udp6,local_lock=none,addr=[server_ipv6_address])
# ls -la /usr/src/linux-4.14.12-gentoo/
total 57564
drwxr-xr-x  26 root root     4096 Jan  7 14:41 .
drwxr-xr-x  14 root root     4096 Jan  7 09:50 ..
drwxr-xr-x  33 root root     4096 Jan  7 14:34 arch
drwxr-xr-x   3 root root     4096 Jan  7 14:34 block
-rw-r--r--   1 root root   559068 Jan  7 14:32 built-in.o
drwxr-xr-x   2 root root     4096 Jan  7 14:34 certs
-rw-r--r--   1 root root       59 Nov 12 11:46 .cocciconfig
-rw-r--r--   1 root root    99150 Jan  7 09:51 .config
-rw-r--r--   1 root root    99153 Jan  7 09:50 .config.old
-rw-r--r--   1 root root    18693 Nov 12 11:46 COPYING
-rw-r--r--   1 root root    98556 Nov 12 11:46 CREDITS
drwxr-xr-x   4 root root    12288 Jan  7 14:35 crypto
drwxr-xr-x   2 root root     4096 Jan  7 03:41 distro
drwxr-xr-x 121 root root    12288 Jan  7 04:02 Documentation
drwxr-xr-x 131 root root     4096 Jan  7 14:34 drivers
drwxr-xr-x   2 root root     4096 Jan  7 14:34 firmware
drwxr-xr-x  74 root root    12288 Jan  7 14:34 fs
-rw-r--r--   1 root root       31 Nov 12 11:46 .get_maintainer.ignore
-rw-r--r--   1 root root       30 Nov 12 11:46 .gitattributes
-rw-r--r--   1 root root     1312 Nov 12 11:46 .gitignore
drwxr-xr-x  29 root root     4096 Jan  7 09:52 include
drwxr-xr-x   2 root root     4096 Jan  7 14:34 init
drwxr-xr-x   2 root root     4096 Jan  7 14:34 ipc
-rw-r--r--   1 root root     2293 Nov 12 11:46 Kbuild
-rw-r--r--   1 root root      312 Jan  7 02:36 Kconfig
drwxr-xr-x  17 root root    12288 Jan  7 14:38 kernel
drwxr-xr-x  13 root root    16384 Jan  7 14:38 lib
-rw-r--r--   1 root root     8885 Nov 12 11:46 .mailmap
-rw-r--r--   1 root root   430471 Nov 12 11:46 MAINTAINERS
-rw-r--r--   1 root root    59986 Jan  7 02:36 Makefile
-rw-r--r--   1 root root      435 Jan  7 13:28 .missing-syscalls.d
drwxr-xr-x   3 root root    12288 Jan  7 14:34 mm
-rw-r--r--   1 root root     3031 Jan  7 14:34 modules.builtin
-rw-r--r--   1 root root     6712 Jan  7 14:34 modules.order
-rw-r--r--   1 root root   180278 Jan  7 14:34 Module.symvers
drwxr-xr-x  69 root root     4096 Jan  7 14:34 net
-rw-r--r--   1 root root      722 Nov 12 11:46 README
drwxr-xr-x  28 root root     4096 Jan  7 03:41 samples
drwxr-xr-x  14 root root     4096 Jan  7 09:54 scripts
drwxr-xr-x  10 root root     4096 Jan  7 14:34 security
drwxr-xr-x  24 root root     4096 Jan  7 14:41 sound
-rw-r--r--   1 root root  1734539 Jan  7 14:33 System.map
-rw-r--r--   1 root root   540440 Jan  7 14:32 .tmp_kallsyms1.o
-rw-r--r--   1 root root  3158797 Jan  7 14:32 .tmp_kallsyms1.S
-rw-r--r--   1 root root   540440 Jan  7 14:33 .tmp_kallsyms2.o
-rw-r--r--   1 root root  3158797 Jan  7 14:32 .tmp_kallsyms2.S
-rw-r--r--   1 root root  1734539 Jan  7 14:33 .tmp_System.map
drwxr-xr-x   2 root root    12288 Jan  7 14:30 .tmp_versions
-rwxr-xr-x   1 root root 11208760 Jan  7 14:32 .tmp_vmlinux1
-rwxr-xr-x   1 root root 11741248 Jan  7 14:32 .tmp_vmlinux2
drwxr-xr-x  30 root root     4096 Jan  7 03:46 tools
drwxr-xr-x   2 root root     4096 Jan  7 14:34 usr
-rw-r--r--   1 root root        2 Jan  7 14:32 .version
drwxr-xr-x   4 root root     4096 Jan  7 14:34 virt
-rwxr-xr-x   1 root root 11741248 Jan  7 14:33 vmlinux
-rw-r--r--   1 root root       99 Jan  7 14:33 .vmlinux.cmd
-rw-r--r--   1 root root 11566632 Jan  7 14:32 vmlinux.o
# cat /usr/src/linux-4.14.12-gentoo/.config
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.14.12-gentoo Kernel Configuration
#

#
# Gentoo Linux
#
CONFIG_GENTOO_LINUX=y
CONFIG_GENTOO_LINUX_UDEV=y
[...]

Não vejo mensagens em dmesg ou journalctl em nenhum dos computadores. Isso já aconteceu com alguém antes? É um comportamento muito estranho e eu não vi isso no passado. Eu estou bem com o uso do NFSv3 por enquanto, mas eu preferiria a versão 4, se possível.

    
por ErikF 10.01.2018 / 20:21

0 respostas

Tags