NFS Mounts Wrong Share

0

Eu tenho três Raspberry Pis rodando Raspbian. Um está servindo como um NFS NAS, os outros dois são servidores da Web com balanceamento de carga que executam o NGINX. A configuração é assim:

No 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)

No servidor 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

No servidor 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

Os dois fstabs são idênticos (na verdade, os dois servidores da Web possuem configurações idênticas provisionadas com ansible). No entanto, enquanto o WEB1 monta os dois pontos de montagem corretamente, o WEB2 monta o diretório nas: / drupal para / usr / share / nginx / html / drupal e / usr / share / nginx / html / wordpress. Em outras palavras, quando eu faço um ls / usr / share / nginx / html / wordpress, eu obtenho o conteúdo em nas: / drupal, não nas: / wordpress.

Se eu fizer um df em ambos os sistemas, obtenho:

WEB1:

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

WEB2:

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

Portanto, parece que o WEB2 não está montando o compartilhamento nas: / wordpress.

Devo observar que as duas nas: / drupal e nas: / wordpress têm exatamente as mesmas permissões.

Alguém pode me dizer o que está acontecendo aqui?

    
por discordare 24.08.2016 / 17:41

1 resposta

0

O problema é seu valor fsid=0 .

Se olharmos para as entradas exports , podemos dividi-las nos dois hosts:

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)

Portanto, para o cliente .10 , as exportações terão FSIDs diferentes, mas no cliente .20 , os dois compartilhamentos terão o mesmo FSID.

Assim, o cliente .10 verá as duas exportações corretamente, mas o .20 será confundido.

Remova o valor ,fsid=0 e as coisas devem funcionar corretamente para os dois clientes.

    
por 24.08.2016 / 18:27

Tags