Kaks seadistust lahendavad sama probleemi ja kukuvad läbi vastassuundades. Jagatud kataloogi käivitusaegne mountmine annab igale teenusele failisüsteemi, mis kas on olemas või selgitab, miks käivitus takerdus. Vajaduspõhine automount annab masinale kiire käivituse ja annab ootamise üle sellele, kes puudutab teed esimesena. VPN-i taga on teine tavaliselt parem vahetus, ja põhjus on selles, et tunnel kehtestab järjestuse, mida käivituse jada ei näe.

Käivitusaegne mount versus automount

Käivitusaegset mounti on lihtne mõista. Failisüsteemi sihtmärk ootab mounti, teenused, mis deklareerivad sellest sõltuvust, käivituvad hiljem, ja kui server ei ole kättesaadav, siis masin kas ootab või ebaõnnestub vastavalt valikutele. Kõik allavoolu pärib selle ühe otsuse.

Automount pöörab selle ümber. Tee on kohe olemas, tegelik mount toimub siis, kui miski selle avab, ja varakult käivituvad teenused ei blokeeru tunnelil, mis ei ole veel üles tõusnud.

Võrdlus taandub sellele, kes peaks viivituse enda peale võtma. Tööjaam, mis vajab jagatud kataloogi enne, kui kasutaja saab töötada, peaks tõenäoliselt ootama. Sülearvuti, mis käivitub kotis, või server, mille jagatud kataloog on valikuline, ei peaks.

Kumbki valik ei paranda puuduvat marsruuti. Mõlemad otsustavad lihtsalt, millal tõrge täheldatakse.

fstab rida, valik valiku haaval

Oletame, et olemasolev OpenVPN kliendi eksemplar on [email protected], server on files.corp.example ja mount-punkt on /mnt/work. Asendage kõik kolm oma saidi volitatud väärtustega. Üks toimiv rida näeb välja selline:

files.corp.example:/export/work /mnt/work nfs _netdev,nofail,x-systemd.automount,[email protected],x-systemd.mount-timeout=30s 0 0

_netdev märgib mounti võrku vajavana ja ei nimeta ühtegi tunnelit. nofail hoiab jagatud kataloogi tavalise failisüsteemi sihtmärgi jaoks valikulisena. x-systemd.automount loob vajaduspõhise päästiku selle asemel, et kohe mountida.

x-systemd.requires= on see osa, mis seob mount-katse VPN-üksusega, ja see kuulub mount-toimingu juurde, mitte päästiku juurde. Laia järjestuse panemine automount-üksusele endale on viis, kuidas inimesed loovad tsükleid, mille üle systemd hiljem kurdetab keeles, mida keegi kaks korda ei loe.

x-systemd.mount-timeout=30s piirab algset mount-käsku. See ei piira midagi, mis juhtub hiljem, ja see on selle valiku kõige levinum arusaamatus.

Mida „käivitatud“ ei tähenda

Kontrollige, mida tähendab aktiivne olemine teie nimetatud VPN-üksuse jaoks. Tunneliteenus võib end käivitatuna teatada enne, kui failiserveri marsruut on olemas või enne, kui privaatnimi laheneb, ja pärast seda järjestamine ei anna teile midagi. Selles lüngas elab peaaegu iga ebaõnnestunud katse. See on ka nähtamatu, kui te ei vaata marsruuti ja lahendajat, vaid üksuse olekut.

Kasutage ühenduse omaniku enda valmidussignaali täiendava eeltingimusena seal, kus see on olemas. Fikseeritud uni on oletus, mis töötab teie laual ja ebaõnnestub aeglasemas võrgus või pärast taasühendamist.

Uurige näidistee jaoks loodud üksusi: mnt-work.automount ja mnt-work.mount. Pärast üle vaadatud fstab muudatust laadige systemd uuesti ja haldake neid üksusi otse, selle asemel et käivitada üldine mount-käsk, mis harjutab mitteseotud kirjeid.

Siia kuulub veel üks hoiatus. Teenus, mis käivitusel /mnt/work puudutab, päästab endiselt mounti ja ootab endiselt seda, nii et jagatud kataloogi valikuliseks märkimine ei tee iga rakendust kannatlikuks.

Pärast mounti on tegu teise tõrkega

Kui NFS on mountitud, määrab failisüsteemi korduskatse ja taastumise käitumine, mida hilisem katkestus lugemise või kirjutamisega teeb. Teie seatud mount-i ajalimiit ei mõjuta seda.

Pehme mount lühendab mõningaid ootamisi ja muudab vigade semantikat, tuues kaasa andmetervikluse tagajärjed, mida on lihtne tähelepanuta jätta, kui eesmärk on kiirem käivitus. Selle valimine kahe käivitussekundi võitmiseks on harva hea vahetus. Kui nõue on tõesti katkestuse ajal piiratud toiming, on see rakenduse tasandi otsus, mitte fstab lipp.

Otsustage, mis peaks juhtuma protsessiga, mis on kirjutamise keskel, kui tunnel maha kukub, ja kirjutage see üles. See vastus on kasulikum kui ükskõik milline valikute string.

Testige nelja olekut, mitte ühte

Tavaline käivitus, kui tunnel on saadaval, on lihtne juhtum ja ei tõesta peaaegu midagi. See kinnitab, et string on õigesti kirjutatud, ja mitte rohkem. Testige esimest juurdepääsu ilma VPN-ita, seejärel taastumist, kui see üles tuleb, seejärel kontrollitud katkestust pärast edukat mounti.

Neli olekut, neli tähelepanekut, ja märkmed lähevad fstab kirje kõrvale. Järgmine inimene pärib käitumise, mitte seadistuse, mida ta peab tagurpidi konstrueerima.

Seotud artiklid