NFS:n uudelleenvienti VPN:n yli ei ole pakettien välitystä
Keskimmäinen kone on asiakas ja palvelin, ei reititin. Tiedostojärjestelmien ID:t, käärittävät tiedostokahvat ja puuttuva lukitustuki muuttavat kukin suunnittelua.
Linux-kone liittyy VPN:hen, mounttaa etäisen NFS-viennin ja tarjoilee sitten tämän mountin toiselle asiakasryhmälle. Tämä järjestely näyttää reititykseltä ylimääräisillä vaiheilla, ja se on ensimmäinen väärä oletus. Keskimmäinen kone on ylävirran palvelimen asiakas ja alavirran asiakkaiden palvelin, ja se osallistuu molempiin tiedostopalvelusuhteisiin. Pakettien välityksellä ei ole mielipidettä tiedostokahvoista, lukituksesta tai tiedostojärjestelmän identiteetistä; uudelleenviennillä on.
Aloita kysymällä, voisivatko alavirran asiakkaat saavuttaa alkuperäisen palvelimen suoraan. Jos voivat, keskimmäinen kone on valinnainen.
Kolme mallia, kolme tarinaa johdonmukaisuudesta
Suora mount on yksinkertaisin: jokainen asiakas mounttaa alkuperäisen palvelimen tunnelin kautta, ja kyseisen palvelimen vientikäytäntö ohjaa pääsyä. Uudelleenvienti on keskimmäinen kone, joka esittää erilaisen palvelurajan, mikä on hyödyllistä, kun asiakkaille näkyvä verkko ei saa saavuttaa palvelinta suoraan. Replikointi on kolmas malli, ja se siirtää kysymyksen johdonmukaisuudesta synkronointiin ja ristiriitojen ratkaisemiseen.
Älä kuvaile replikoitua kopiota ikään kuin se olisi elävä uudelleenvienti. Vikatilat eroavat toisistaan, ja käyttäjä, joka odottaa jokaisen toiminnon saavuttavan alkuperäisen tiedostojärjestelmän, yllättyy linkin katketessa.
Identiteetti elää mount-komentoa pidempään
Uudelleenviennit tarvitsevat eksplisiittisen tiedostojärjestelmän ID:n, ja tämän identiteetin on kestettävä uudelleenkäynnistykset ja kokoonpanon uudelleenrakennukset. Ytimen dokumentaatio on selväsanainen vaatimuksesta, ja se myös varoittaa, että crossmnt ei poista tarvetta viedä alitiedostojärjestelmiä omilla ID:illään. Käyttäjälle yhtenäiseltä näyttävä hakemistopuu voi ylittää useita tiedostojärjestelmän rajoja. Nykyiset nfs-utils-työkalut voivat jakaa ID:t automaattisesti tuetuille kokoonpanoille, ja kun ne tekevät niin, niiden tietokannasta tulee osa yhdyskäytävän tilaa. Käsittele näitä ID:itä palveluidentiteettinä, älä kertakäyttöisinä tiedostoina.
Tiedostokahvat ovat toinen identiteettiraja: uudelleenvienti käärii alkuperäisen kahvan, mikä tekee siitä suuremman ja voi ylittää asiakkaan rajan. Onnistunut mount ei todista, että kaikki vientiasettelut ovat yhteensopivia.
Kaikki NFS-ominaisuudet eivät selviä keskimmäisestä koneesta
Ytimen uudelleenvientiopas toteaa, että uudelleenvievä palvelin ei tue lukitusta tai delegointipyyntöjä. Näistä toiminnoista riippuvat sovellukset tarvitsevat toisen polun tai niitä vasten vahvistetun suunnittelun. Onnistunut mount ja toimiva hakemistolistaus eivät osoita, että sovelluksen todelliset toiminnot toimivat.
Käyttäjän identiteetti ja vientikäytäntö ovat tärkeitä myös joka hypyllä. VPN-kirjautuminen todistaa, että verkon osallistuja on todennettu; se ei valtuuta NFS-käyttäjää eikä välitä asiakkaan tunnistetietoja yhdyskäytävän läpi.
Yhdyskäytävällä on kaksi ylävirran riippuvuutta
Yhdyskäytävä riippuu VPN:stä ylävirran mountin osalta ja ylävirran palvelimesta itse tiedostojärjestelmän osalta. Paikallinen vientiprosessi, joka on vielä käynnissä, ei voi tehdä käyttökelvottomasta tallennuksesta tervettä. Suunnittele käynnistysjärjestys, uudelleenyhdistämiskäyttäytyminen ja palvelimen uudelleenkäynnistykset, mukaan lukien se, mitä tapahtuu tiedostokahvoille, joita asiakkailla jo on. Asiakas, joka mounttasi yhdyskäytävän kautta ja menetti kahvansa, tarvitsee uudelleenmounttauksen, ja se on operatiivinen tapahtuma eikä läpinäkyvä palautuminen.
Jos vaatimus tarvitsi koskaan vain yksityisten IP-osoitteiden tavoitettavuutta, suora reititys alkuperäiselle palvelimelle on yksinkertaisempi arkkitehtuuri. Uudelleenviennin pitäisi olla olemassa syystä, joka kestää kirjoittamisen.
Testaa työkuormaa, älä mountia
Harjoita todellista tiedostotyökuormaa valvotussa ympäristössä: toiminnot, joita sovellus suorittaa, tiedostokoot, joita se käyttää, ja rinnakkaisuus, jota se odottaa. Varo ominaisuuksien puutteita äläkä vain siirtovirheitä. Kirjaa sitten, minkä mallin valitsit ja miksi, koska muuten seuraava henkilö olettaa yhdyskäytävän olevan reititin.
Uudelleenvienti on perusteltua, kun se on olemassa tarkoituksellisesta syystä, kuten eristetty asiakasverkko tai valvottu versioraja. Se on huono sattuma, ja ero on siinä, päättikö joku sen.