En Linux-maskine tilslutter sig en VPN, monterer et eksternt NFS-eksport og serverer derefter denne montering til et andet sæt klienter. Denne ordning ligner routing med ekstra trin, og det er den første forkerte antagelse. Maskinen i midten er klient for den opstrøms server og server for de nedstrøms klienter, og den deltager i begge filserviceforhold. Pakkevideresendelse har ingen mening om filhåndtag, låsning eller filsystemidentitet; en genudførsel har.

Begynd med at spørge, om de nedstrøms klienter kunne nå den oprindelige server direkte. Hvis de kan, er maskinen i midten valgfri.

Tre modeller, tre historier om konsistens

Direkte montering er den enkleste: hver klient monterer den oprindelige server gennem tunnelen, og denne servers eksportpolitik styrer adgangen. Genudførsel er maskinen i midten, der præsenterer en anden servicegrænse, hvilket er nyttigt, når netværket mod klienterne ikke må nå serveren direkte. Replikering er en tredje model, og den ændrer spørgsmålet fra konsistens til synkronisering og konfliktløsning.

Beskriv ikke en replikeret kopi, som om den var en levende genudførsel. Fejltilstandene er forskellige, og en bruger, der forventer, at hver operation når det oprindelige filsystem, bliver overrasket under et linkudfald.

Identitet overlever monteringskommandoen

Genudførsler kræver et eksplicit filsystem-ID, og denne identitet skal overleve genstarter og konfigurationsgenopbygninger. Kernedokumentationen er klar om kravet, og den advarer også om, at crossmnt ikke fjerner behovet for at eksportere underordnede filsystemer med deres egne ID'er. Et mappetræ, der virker sammenhængende for en bruger, kan krydse flere filsystemgrænser. Nutidens nfs-utils kan tildele ID'er automatisk for understøttede konfigurationer, og når den gør det, bliver dens database en del af gatewayens tilstand. Behandl disse ID'er som serviceidentitet i stedet for engangsfiler.

Filhåndtag er den anden identitetsgrænse: en genudførsel indpakker det oprindelige håndtag, hvilket gør det større og kan overskride en klients grænse. En vellykket montering beviser ikke, at alle eksportlayouts er kompatible.

Ikke hver NFS-funktion overlever maskinen i midten

Kernens guide til genudførsel angiver, at serveren, der genudfører, ikke understøtter låsning eller delegeringsanmodninger. Applikationer, der afhænger af disse operationer, har brug for en anden vej eller et design, der er verificeret mod dem. En vellykket montering og en fungerende mappeliste viser ikke, at applikationens rigtige operationer virker.

Brugeridentitet og eksportpolitik betyder også noget ved hvert hop. Et VPN-login beviser, at en netværksdeltager er godkendt; det autoriserer ikke en NFS-bruger og videresender ikke en klients legitimationsoplysninger gennem gatewayen.

Gatewayen har to afhængigheder opstrøms

Gatewayen afhænger af VPN'en for den opstrøms montering og af den opstrøms server for selve filsystemet. En lokal eksportproces, der stadig kører, kan ikke gøre utilgængelig lagring sund. Planlæg startrækkefølge, genopkoblingsadfærd og servergenstarter, herunder hvad der sker med filhåndtag, som klienter allerede har. En klient, der monterede gennem gatewayen og mistede sit håndtag, har brug for en genmontering, og det er en driftshændelse snarere end en gennemsigtig gendannelse.

Hvis alt, hvad kravet nogensinde havde brug for, var privat IP-rækkevidde, er direkte routing til den oprindelige server den enklere arkitektur. Genudførslen bør eksistere af en grund, der overlever at blive skrevet ned.

Test arbejdsbelastningen, ikke monteringen

Øv den rigtige filarbejdsbelastning i et kontrolleret miljø: de operationer, applikationen udfører, de filstørrelser, den bruger, og den samtidighed, den forventer. Hold øje med funktionshullerne og ikke kun med transportfejl. Noter derefter, hvilken model du valgte og hvorfor, fordi den næste person ellers antager, at gatewayen er en router.

En genudførsel er legitim, når den findes af en bevidst grund, såsom et isoleret klientnetværk eller en kontrolleret versionsgrænse. Det er et dårligt uheld, og forskellen er, om nogen besluttede det.

Relaterede artikler