大家好,我无法在 RHEL 7 上使用 fstab 挂载多个 NFS 共享目录。请查看我的 LAB 配置。
我想问一个问题,使用nfs并通过fstab挂载只能挂载一个nfs目录。如果没有如何挂载多个目录。
实验室
服务器.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)
[root@server ~]# 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 ~]# mount -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
.