Descrição: Encontrei um problema estranho com minhas VMs usando NFS. Ambas as minhas VMs estão usando Linux. O lado do servidor está usando RHEL e o lado do cliente usando CentOS 7. Minha máquina host está executando o Windows 7.
Minha VM do lado do cliente está iniciando ou inicializando um site usando nodejs. Criei um diretório de pasta onde tanto o lado do servidor quanto o lado do cliente podem compartilhar arquivos usando NFS.
Emitir: Quando eu crio um arquivo/pasta do diretório compartilhado no lado do cliente, o site foi capaz de detectar a alteração no diretório compartilhado e postar a alteração no site.
Porém, no lado do servidor, quando crio um arquivo/pasta no diretório compartilhado, a alteração não é detectada no site. Embora o arquivo/pasta criado seja visível no diretório compartilhado do lado do cliente.
Configurações NFS: Vou colar as configurações que fiz tanto para servidor quanto para cliente:
Configuração NFS do lado do servidor em /etc/exports:
/home/awsim2/config 192.168.56.101(rw,sync,no_root_squash,no_all_squash,no_subtree_check)
/home/awsim2/scenarios 192.168.56.101(rw,sync,no_root_squash,no_all_squash,no_subtree_check)
#/home/awsim2/config 192.168.56.101(rw,sync,all_squash,anonuid=503,anongid=502)
#/home/awsim2/scenarios 192.168.56.101(rw,sync,all_squash,anonuid=503,anongid=502)
NOTA: Tentei outros métodos para resolver esse problema ...
Configuração NFS do lado do cliente em /etc/fstab:
192.168.56.102:/home/awsim2/config /var/nfs_awsim_share/ nfs rw,sync,user,auto,bg,hard,intr,nolock 0 0
192.168.56.102:/home/awsim2/scenarios /var/nfs_awsim_scenarios_share/ nfs rw,sync,user,auto,bg,hard,intr,nolock 0 0
Espero que esta informação seja suficiente para explicar meu problema.
Obrigado pelo seu tempo!
Responder1
Fiz pesquisas suficientes para descobrir que o NFS e uma abordagem de diretório compartilhado não são uma solução possível porque há um problema entre o subsistema do kernel Linux, inotify. O inotify atua para estender os sistemas de arquivos para notar alterações no sistema de arquivos e relatar essas alterações aos aplicativos. Infelizmente, o nodejs não é capaz de detectar essas alterações devido a um bug noCaixa virtualque envolve o subsistema do kernel Linux, inotify.