Linux mašina prisijungia prie VPN, prijungia nuotolinį NFS eksportą ir tada aptarnauja tą prijungimą kitai klientų grupei. Ši sandara atrodo kaip maršrutizavimas su papildomais žingsniais, ir tai pirmoji klaidinga prielaida. Vidurinė mašina yra aukštesniojo serverio klientas ir žemesniųjų klientų serveris, ir ji dalyvauja abiejuose failų paslaugos santykiuose. Paketų persiuntimas neturi nuomonės apie failų rankenėlės, užrakinimą ar failų sistemos tapatybę; pakartotinis eksportas turi.

Pradėkite klausimu, ar žemesnieji klientai galėtų pasiekti pirminį serverį tiesiogiai. Jei gali, vidurinė mašina yra neprivaloma.

Trys modeliai, trys nuoseklumo istorijos

Tiesioginis prijungimas yra paprasčiausias: kiekvienas klientas prijungia pirminį serverį per tunelį, ir to serverio eksporto politika valdo prieigą. Pakartotinis eksportas yra vidurinė mašina, pateikianti kitą paslaugos ribą, kas naudinga, kai tinklas klientų pusėje neturi tiesiogiai pasiekti serverio. Replikacija yra trečiasis modelis, ir ji klausimą nuo nuoseklumo perkelia prie sinchronizavimo ir konfliktų sprendimo.

Neaprašykite replikuotos kopijos taip, tarsi tai būtų gyvas pakartotinis eksportas. Gedimų režimai skiriasi, ir vartotojas, kuris tikisi, kad kiekviena operacija pasieks pirminę failų sistemą, nustebs nutrūkus ryšiui.

Tapatybė išgyvena prijungimo komandą

Pakartotiniam eksportui reikia aiškaus failų sistemos ID, ir ši tapatybė turi išgyventi perkrovimus ir konfigūracijos perstatymus. Branduolio dokumentacija aiškiai nurodo reikalavimą ir taip pat įspėja, kad crossmnt nepašalina poreikio eksportuoti antrines failų sistemas su jų pačių ID. Katalogų medis, kuris vartotojui atrodo vientisas, gali kirsti kelias failų sistemos ribas. Dabartiniai nfs-utils gali automatiškai skirti ID palaikomoms konfigūracijoms, ir kai tai daro, jų duomenų bazė tampa šliuzo būsenos dalimi. Traktuokite šiuos ID kaip paslaugos tapatybę, o ne vienkartinius failus.

Failų rankenėlės yra kita tapatybės riba: pakartotinis eksportas apvynioja pirminę rankenėlę, todėl ji tampa didesnė ir gali viršyti kliento limitą. Sėkmingas prijungimas neįrodo, kad kiekviena eksporto struktūra yra suderinama.

Ne kiekviena NFS funkcija išgyvena vidurinę mašiną

Branduolio pakartotinio eksporto vadovas teigia, kad pakartotinai eksportuojantis serveris nepalaiko užrakinimo ar delegavimo užklausų. Programos, kurios priklauso nuo šių operacijų, turi kitą kelią arba dizainą, patikrintą jų atžvilgiu. Sėkmingas prijungimas ir veikiantis katalogų sąrašas neparodo, kad tikrosios programos operacijos veikia.

Vartotojo tapatybė ir eksporto politika taip pat svarbios kiekviename šuolyje. VPN prisijungimas įrodo, kad tinklo dalyvis buvo autentifikuotas; jis neįgalioja NFS vartotojo ir neperduoda kliento kredencialų per šliuzą.

Šliuzas turi dvi aukštesniąsias priklausomybes

Šliuzas priklauso nuo VPN dėl aukštesniojo prijungimo ir nuo aukštesniojo serverio dėl pačios failų sistemos. Vietinis eksporto procesas, kuris dar veikia, negali padaryti neprieinamos saugyklos sveikos. Planuokite paleidimo tvarką, prisijungimo iš naujo elgseną ir serverio perkrovimus, įskaitant tai, kas nutinka failų rankenėlėms, kurias klientai jau turi. Klientas, kuris prijungė per šliuzą ir prarado savo rankenėlę, turi prijungti iš naujo, ir tai yra operacinis įvykis, o ne skaidrus atkūrimas.

Jei vienintelis dalykas, kurio reikalavimui kada nors reikėjo, buvo privataus IP pasiekiamumas, tiesioginis maršrutizavimas į pirminį serverį yra paprastesnė architektūra. Pakartotinis eksportas turėtų egzistuoti dėl priežasties, kuri išlieka ją užrašius.

Testuokite darbo krūvį, o ne prijungimą

Praktikuokite tikrą failų darbo krūvį kontroliuojamoje aplinkoje: operacijas, kurias atlieka programa, naudojamus failų dydžius ir tikėtiną paraleliškumą. Stebėkite funkcijų spragas, o ne tik transportavimo klaidas. Tada užrašykite, kurį modelį pasirinkote ir kodėl, nes kitaip kitas žmogus manys, kad šliuzas yra maršrutizatorius.

Pakartotinis eksportas yra teisėtas, kai egzistuoja dėl sąmoningos priežasties, pavyzdžiui, izoliuoto klientų tinklo ar kontroliuojamos versijos ribos. Tai blogas atsitiktinumas, ir skirtumas yra tas, ar kas nors nusprendė.

Susiję straipsniai