RHEL 7에서 여러 NFS 공유 디렉터리를 마운트하기 위해 fstab을 사용하지 않음

RHEL 7에서 여러 NFS 공유 디렉터리를 마운트하기 위해 fstab을 사용하지 않음

안녕하세요 여러분, RHEL 7에서 fstab을 사용하여 여러 NFS 공유 디렉터리를 마운트할 수 없습니다. 내 LAB 구성을 참조하세요.

질문하고 싶습니다. nfs를 사용하고 fstab을 통해 마운트하면 nfs 디렉터리 하나만 마운트할 수 있습니다. 여러 디렉터리를 마운트하지 않는 경우 어떻게 마운트합니까?

실혐실

server.example.com 192.168.2.2/24

client.example.com 192.168.2.1/24

서버에서

nfs 공유 폴더는 /테스트1 /테스트2

Firewalld가 비활성화되어 있고 selinux가 서버와 클라이언트에서 허용 모드에 있습니다.

서버에서

[root@server ~]# yum install nfs-utils
[root@server ~]# systemctl enable rpcbind
[root@server ~]# systemctl start rpcbind
[root@server ~]# systemctl start nfs-server
[root@server ~]# systemctl start nfs-secure


[root@server ~]# mkdir /test1
[root@server ~]# mkdir /test2
[root@server ~]# ls /test*
/test1:

/test2:

[root@server ~]# chmod 777 /test1
[root@server ~]# chmod 777 /test2


[root@server ~]# vim /etc/exports
[root@server ~]# cat /etc/exports
/test1 192.168.2.1(rw,sync,no_root_squash)
/test2 192.168.2.1(rw,sync,no_root_squash)

[루트@서버 ~]#exportfs -r

[root@server ~]# exportfs -v
/test1          192.168.2.1(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
/test2          192.168.2.1(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)


[root@server ~]# systemctl stop firewalld.service
[root@server ~]# systemctl disable firewalld.service
[root@server ~]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          permissive

고객

[root@client ~]# systemctl enable rpcbind
[root@client ~]# systemctl start rpcbind

[root@client ~]# setenforce 0
[root@client ~]# vim /etc/sysconfig/selinux
[root@client ~]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          permissive
[root@client ~]# systemctl stop firewalld
[root@client ~]# systemctl disble firewalld


[root@client ~]# showmount -e 192.168.2.2
Export list for 192.168.2.2:
/test2 192.168.2.1tes
/test1 192.168.2.1

[root@client ~]# mkdir /mnt/nfstest1
[root@client ~]# mkdir /mnt/nfstest2
[root@client ~]# chmod 777 /mnt/nfstest1
[root@client ~]# chmod 777 /mnt/nfstest2

fstab 파일 확인

[root@client ~]# vim /etc/fstab

[root@client ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Wed Apr 26 08:01:03 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=8cfced80-d77a-41a6-a7ee-9b41ebea88b2 /                       xfs     defaults        1 1
UUID=ad9e8442-335f-478c-81af-b77e1ac88549 /boot                   xfs     defaults        1 2
UUID=e55cb2d8-4461-4792-944c-1b76225dd13a /home                   xfs     defaults        1 2
UUID=ffbc9edf-42ce-4d82-af5c-b2ff1cff5a68 /usr                    xfs     defaults        1 2
UUID=556f0e53-bfa3-4639-9d47-ba1c70299393 /var                    xfs     defaults        1 2
UUID=a855e109-f05f-4bfe-bfc9-a06f10d294f1 swap                    swap    defaults        0 0
192.168.2.2:/test1 /mnt/nfstest1 nfs rw,sync 0 0
192.168.2.2:/test2 /mnt/nfstest2 nfs rw,sync 0 0

[root@client ~]# 마운트 -a

df -h는 마운트된 nfs 디렉토리 /mnt/nfstest1 하나만 표시합니다.

[root@client ~]# df -h
Filesystem          Size  Used Avail Use% Mounted on
/dev/sda2           9.8G   70M  9.7G   1% /
devtmpfs            354M     0  354M   0% /dev
tmpfs               363M     0  363M   0% /dev/shm
tmpfs               363M  5.2M  357M   2% /run
tmpfs               363M     0  363M   0% /sys/fs/cgroup
/dev/sda5           9.8G  2.8G  7.0G  29% /usr
/dev/sda3           9.8G   33M  9.8G   1% /home
/dev/sda1           2.0G  107M  1.9G   6% /boot
/dev/sda6           9.8G  3.8G  6.1G  39% /var
192.168.2.2:/test1  9.8G   71M  9.7G   1% /mnt/nfstest1

그러나 mount 명령에는 두 개의 nfs 디렉터리가 표시됩니다.

[root@client ~]# mount | grep nfstest*
192.168.2.2:/test1 on /mnt/nfstest1 type nfs4 (rw,relatime,sync,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.2.1,local_lock=none,addr=192.168.2.2)

192.168.2.2:/test2 on /mnt/nfstest2 type nfs4 (rw,relatime,sync,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.2.1,local_lock=none,addr=192.168.2.2)

다시 시작했습니다

내 상태를 반복해서 확인하면 하나의 nfs 공유만 마운트되었습니다. 즉, /mnt/nfstest2 및 /mnt/nfstest1이 사라졌습니다. 왜 이런 일이 발생합니까? /etc/fstab에 fire Right 옵션이 있습니다. 누군가 이것이 맞는지 말해 줄 수 있습니까?

login as: root
[email protected]'s password:
Last login: Wed May 10 22:37:20 2017 from 192.168.2.100

[root@client ~]# df -h
Filesystem          Size  Used Avail Use% Mounted on
/dev/sda2           9.8G   70M  9.7G   1% /
devtmpfs            354M     0  354M   0% /dev
tmpfs               363M     0  363M   0% /dev/shm
tmpfs               363M  5.2M  357M   2% /run
tmpfs               363M     0  363M   0% /sys/fs/cgroup
/dev/sda5           9.8G  2.8G  7.0G  29% /usr
/dev/sda1           2.0G  107M  1.9G   6% /boot
/dev/sda3           9.8G   33M  9.8G   1% /home
/dev/sda6           9.8G  3.8G  6.1G  39% /var
192.168.2.2:/test2  9.8G   71M  9.7G   1% /mnt/nfstest2

[root@client ~]# mount | grep nfstest*
192.168.2.2:/test2 on /mnt/nfstest2 type nfs4 (rw,relatime,sync,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.2.1,local_lock=none,addr=192.168.2.2)

192.168.2.2:/test1 on /mnt/nfstest1 type nfs4 (rw,relatime,sync,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.2.1,local_lock=none,addr=192.168.2.2)


[root@client ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Wed Apr 26 08:01:03 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=8cfced80-d77a-41a6-a7ee-9b41ebea88b2 /                       xfs     defaults        1 1
UUID=ad9e8442-335f-478c-81af-b77e1ac88549 /boot                   xfs     defaults        1 2
UUID=e55cb2d8-4461-4792-944c-1b76225dd13a /home                   xfs     defaults        1 2
UUID=ffbc9edf-42ce-4d82-af5c-b2ff1cff5a68 /usr                    xfs     defaults        1 2
UUID=556f0e53-bfa3-4639-9d47-ba1c70299393 /var                    xfs     defaults        1 2
UUID=a855e109-f05f-4bfe-bfc9-a06f10d294f1 swap                    swap    defaults        0 0
192.168.2.2:/test1 /mnt/nfstest1 nfs rw,sync 0 0
192.168.2.2:/test2 /mnt/nfstest2 nfs rw,sync 0 0

여기의 여러 nfs 공유 디렉터리는 한 번에 마운트되지 않습니다. 클라이언트에서 /etc/fstab

192.168.2.2:/test1 /mnt/nfstest1 nfs rw,sync 0 0
192.168.2.2:/test2 /mnt/nfstest2 nfs rw,sync 0 0

mount -a 실행 후

/mnt/nfstest1을 받습니다.

192.168.2.2:/test1  9.8G   71M  9.7G   1% /mnt/nfstest1 

그러나 클라이언트를 다시 시작한 후에는 그 반대가 됩니다. 왜

누구든지 이 문제를 해결하도록 도와줄 수 있나요?

NFS 디렉토리는 서버의 단일 / 파일 시스템에 생성됩니다.

클라이언트의 /mnt/test1 및 /mnt/test2에 설치됩니다.

감사해요 사가르달비

답변1

출력은 mount신뢰할 수 있어야 합니다. /proc/mounts는 실제 권한이지만, mount는 현재 권한을 사용하고 /etc/mtab은 단지 심볼릭 링크입니다. 원한다면 직접 확인해 볼 수도 있습니다. 하지만 제 생각에는 파일 시스템이설치하다.

대답은 df가 바인드 마운트와 같은 중복 파일 시스템을 필터링한다는 것입니다. (systemd를 사용할 때 이러한 파일 시스템이 마운트되는 순서는 사실상 무작위입니다.)

df는 어떻게든 이 두 디렉터리가 동일한 물리적 파일 시스템에서 호스팅되는 것으로 올바르게 식별할 수 있습니다. 해당 디렉터리의 공간 정보는 동일합니다. 웹을 검색하면 df 및 NFS 마운트에 대한 동일한 불만 사항이 여러 Linux 배포판에서 버그로 보고된다는 것을 알 수 있습니다.

이러한 오류에 대한 대답은 모든 마운트 지점을 표시하려면 df -a.

관련 정보