nfs remonta problema

4

Eu acho um problema estranho quando eu remonto o nfs no RHEL7.

Eu compartilhei 2 diretórios no nfs-server:

# showmount -e
Export list for localhost.localdomain:  
/file2 192.168.122.1  
/file1 192.168.122.1  

Então eu os monto no meu cliente:

# sudo mount 192.168.122.100:/file2 /media  
# sudo mount 192.168.122.100:/file1 /mnt/file1
# mount 
192.168.122.100:/file1 on /mnt/file1 type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.122.1,local_lock=none,addr=192.168.122.100)
192.168.122.100:/file2 on /media type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.122.1,local_lock=none,addr=192.168.122.100)

Então, tento remontar um deles para ro:

# sudo mount -o ro,remount /mnt/file1/

Essa é a hora em que aconteceu uma coisa estranha, ambos mudaram para ro:

192.168.122.100:/file1 on /mnt/file1 type nfs4 (ro,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.122.1,local_lock=none,addr=192.168.122.100)
192.168.122.100:/file2 on /media type nfs4 (ro,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.122.1,local_lock=none,addr=192.168.122.100)

Eu capturei alguns pacotes, mas não encontrei nenhum pacote enviado ao remontar.

Eu não tenho ideia agora, há alguém que possa me ajudar?

Obrigado.

    
por Barathrum 23.12.2016 / 09:09

1 resposta

1

Eu acho.

É porque o NFS usa sharecache default. Veja em man nfs :

   sharecache / nosharecache
                  Determines  how  the  client's  data  cache and attribute cache are shared when mounting the same export more than once concurrently.  Using the same
                  cache reduces memory requirements on the client and presents identical file contents to applications when the same remote file is accessed  via  dif‐
                  ferent mount points.

                  If  neither  option  is  specified,  or  if the sharecache option is specified, then a single cache is used for all mount points that access the same
                  export.  If the nosharecache option is specified, then that mount point gets a unique cache.  Note that when data and attribute  caches  are  shared,
                  the mount options from the first mount point take effect for subsequent concurrent mounts of the same export.

                  As  of  kernel 2.6.18, the behavior specified by nosharecache is legacy caching behavior. This is considered a data risk since multiple cached copies
                  of the same file on the same client can become out of sync following a local update of one of the copies.

Página man diz a single cache is used for all mount points that access the same export .

Então eu uso a opção nosharecache , isso se torna normal agora.

192.168.122.100:/file1 on /mnt/file1 type nfs4 (ro,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,nosharecache,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.122.1,local_lock=none,addr=192.168.122.100)
192.168.122.100:/file2 on /mnt/file2 type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,nosharecache,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.122.1,local_lock=none,addr=192.168.122.100
    
por 27.12.2016 / 07:13

Tags