NFS 安装错误的共享

NFS 安装错误的共享

我有三个运行 Raspbian 的 Raspberry Pi。一个用作 NFS NAS,另外两个是运行 NGINX 的负载平衡 Web 服务器。配置是这样的:

在 NAS (10.34.0.40) 上:

root@nas:~# cat /etc/exports
/drupal 10.34.0.10(rw,sync,no_root_squash,no_subtree_check) 10.34.0.20(rw,sync,no_root_squash,no_subtree_check,fsid=0)
/wordpress 10.34.0.10(rw,sync,no_root_squash,no_subtree_check) 10.34.0.20(rw,sync,no_root_squash,no_subtree_check,fsid=0)

在WEB1(10.34.0.10)服务器上:

root@web1:~# cat /etc/fstab
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
nas:/drupal     /usr/share/nginx/html/drupal    nfs     hard,intr       0   0
nas:/wordpress  /usr/share/nginx/html/wordpress nfs     hard,intr   0   0

在WEB2(10.34.0.20)服务器上:

root@web2:~# cat /etc/fstab
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
nas:/drupal     /usr/share/nginx/html/drupal    nfs     hard,intr   0   0
nas:/wordpress  /usr/share/nginx/html/wordpress nfs     hard,intr       0   0

这两个 fstab 是相同的(事实上,两个 Web 服务器具有使用 ansible 配置的相同配置)。但是,当 WEB1 正确挂载两个挂载点时,WEB2 将 nas:/drupal 目录挂载到 /usr/share/nginx/html/drupal 和 /usr/share/nginx/html/wordpress。换句话说,当我执行 ls /usr/share/nginx/html/wordpress 时,我得到的是 nas:/drupal 上的内容,而不是 nas:/wordpress 上的内容。

如果我在两个系统上执行 df ,我会得到:

网页1:

root@web1:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        30G  4.8G   24G  18% /
devtmpfs        459M     0  459M   0% /dev
tmpfs           463M     0  463M   0% /dev/shm
tmpfs           463M  6.3M  457M   2% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           463M     0  463M   0% /sys/fs/cgroup
/dev/mmcblk0p1   60M   21M   40M  35% /boot
nas:/drupal      15G  3.8G   11G  28% /usr/share/nginx/html/drupal
nas:/wordpress   15G  3.8G   11G  28% /usr/share/nginx/html/wordpress
tmpfs            93M     0   93M   0% /run/user/1001

网络2:

root@web2:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        30G  3.2G   25G  12% /
devtmpfs        459M     0  459M   0% /dev
tmpfs           463M     0  463M   0% /dev/shm
tmpfs           463M  6.3M  457M   2% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           463M     0  463M   0% /sys/fs/cgroup
/dev/mmcblk0p1   60M   21M   40M  35% /boot
nas:/drupal      15G  3.8G   11G  28% /usr/share/nginx/html/drupal
tmpfs            93M     0   93M   0% /run/user/1001

所以看起来 WEB2 没有挂载 nas:/wordpress 共享。

我应该注意到 nas:/drupal 和 nas:/wordpress 具有完全相同的权限。

谁能告诉我这是怎么回事?

答案1

问题是你的fsid=0价值。

如果我们查看这些exports条目,我们可以将它们分为两个主机:

10.34.0.10(rw,sync,no_root_squash,no_subtree_check)
10.34.0.20(rw,sync,no_root_squash,no_subtree_check,fsid=0)

因此,对于.10客户端而言,导出将具有不同的 FSID,但在.20客户端上,两个共享将显示为具有相同的 FSID。

因此,.10客户端将正确地看到两个导出,但.20会感到困惑。

删除该,fsid=0值,两个客户端都应该正常工作。

相关内容