Unha máquina Linux únese a unha VPN, monta unha exportación NFS remota e despois serve esa montaxe a outro conxunto de clientes. Este arranxo parece enrutamento con pasos extra, e esa é a primeira suposición errónea. A máquina intermedia é cliente do servidor de augas arriba e servidor dos clientes de augas abaixo, e participa nas dúas relacións de servizo de ficheiros. O reenvío de paquetes non ten opinión sobre os handles de ficheiro, o bloqueo nin a identidade do sistema de ficheiros; unha reexportación si.

Empeza preguntando se os clientes de augas abaixo poderían chegar ao servidor orixinal directamente. Se poden, a máquina intermedia é opcional.

Tres modelos, tres historias de consistencia

A montaxe directa é a máis simple: cada cliente monta o servidor orixinal a través do túnel, e a política de exportación dese servidor goberna o acceso. A reexportación é a máquina intermedia presentando unha fronteira de servizo distinta, o que é útil cando a rede orientada aos clientes non debe chegar directamente ao servidor. A replicación é un terceiro modelo, e cambia a pregunta de consistencia a sincronización e resolución de conflitos.

Non describas unha copia replicada coma se fose unha reexportación viva. Os modos de fallo difiren, e un usuario que espera que cada operación chegue ao sistema de ficheiros orixinal levará unha sorpresa durante unha interrupción da ligazón.

A identidade sobrevive ao comando de montaxe

As reexportacións necesitan un identificador de sistema de ficheiros explícito, e esa identidade debe sobrevivir a reinicios e reconstrucións de configuración. A documentación do núcleo é clara sobre o requisito, e tamén advirte de que crossmnt non elimina a necesidade de exportar sistemas de ficheiros fillos cos seus propios identificadores. Unha árbore de directorios que parece continua a un usuario pode cruzar varias fronteiras de sistema de ficheiros. Os nfs-utils actuais poden asignar identificadores automaticamente para configuracións compatibles, e cando o fan, a súa base de datos pasa a formar parte do estado da pasarela. Trata eses identificadores como identidade de servizo en lugar de ficheiros refugables.

Os handles de ficheiro son a outra fronteira de identidade: unha reexportación envolve o handle orixinal, o que o fai máis grande e pode superar o límite dun cliente. Unha montaxe exitosa non demostra que todo deseño de exportación sexa compatible.

Non toda función de NFS sobrevive á máquina intermedia

A guía de reexportación do núcleo afirma que o servidor que reexporta non admite bloqueo nin solicitudes de delegación. As aplicacións que dependen desas operacións necesitan outra ruta ou un deseño verificado contra elas. Unha montaxe exitosa e unha listaxe de directorios funcional non demostran que as operacións reais da aplicación funcionen.

A identidade de usuario e a política de exportación tamén importan en cada salto. Un inicio de sesión VPN demostra que un participante da rede se autenticou; non autoriza a un usuario de NFS nin reenvía as credenciais dun cliente a través da pasarela.

A pasarela ten dúas dependencias de augas arriba

A pasarela depende da VPN para a montaxe de augas arriba e do servidor de augas arriba para o sistema de ficheiros mesmo. Un proceso de exportación local que aínda se executa non pode facer saudable un almacenamento non dispoñible. Planifica a orde de inicio, o comportamento de reconexión e os reinicios do servidor, incluído que ocorre cos handles de ficheiro que os clientes xa teñen. Un cliente que montou a través da pasarela e perdeu o seu handle necesita volver montar, e iso é un evento operativo e non unha recuperación transparente.

Se todo o que o requisito necesitaba era accesibilidade de IP privadas, o enrutamento directo ao servidor orixinal é a arquitectura máis simple. A reexportación debería existir por unha razón que sobreviva a ser escrita.

Proba a carga de traballo, non a montaxe

Exercita a carga de ficheiros real nun ambiente controlado: as operacións que realiza a aplicación, os tamaños de ficheiro que usa e a concorrencia que espera. Vixía as carencias de funcións e non só os erros de transporte. Despois anota que modelo escolliches e por que, porque doutro xeito a seguinte persoa asumirá que a pasarela é un enrutador.

Unha reexportación é lexítima cando existe por unha razón deliberada, como unha rede de clientes illada ou unha fronteira de versión controlada. É un mal accidente, e a diferenza é se alguén o decidiu.

Artigos relacionados