clientaddr on üks neist mount'imisvalikutest, mis kopeeritakse käsureale kaua pärast seda, kui põhjus on kadunud. See ütleb NFSv4.0 serverile, kuhu klienti tagasi kutsuda. See ei vali serverit, ei seo iga päringut lähteaadressiga ega suru liiklust tunnelisse. Mitme aadressiga sülearvutis on vaja kolme küsimust, et otsustada, kas see üldse kehtib.

Valiku olulisuse otsustavad kolm tingimust

Esimene on kokku lepitud alaversioon, sest 4.1 ja 4.2 käsitlevad tagasikutseid erinevalt. Teine on see, kas server pääseb aadressile, mida te teataksite; marsruuditud tunnel lubab seda tavaliselt ja tõlgitud tee tavaliselt mitte. Kolmas on see, kas tõrge, mida te jälitate, on üldse tagasikutse tõrge.

ConditionIf yesIf no
Version is 4.0The option can matterSkip it; inspect the session instead
Server can reach the addressAdvertise itFix reachability first
Failure is a callbackDiagnose callback pathLook at mount and export

Nendele vales järjekorras vastamine on viis, kuidas inimesed lisavad 4.2 mount'imisele tagasikutse aadressi ja jõuavad järeldusele, et valik on katki.

Lugege esmalt alaversiooni

nfsstat -m

Olemasoleva mount'imise puhul trükib see mount'imise teabe ja lipud, sealhulgas tegeliku versiooni kujul vers=4.0, vers=4.1 või vers=4.2. Märkus, mis ütleb ainult “NFSv4”, jätab välja ainsa detaili, mis otsustab, kas see valik on asjakohane. Lugege numbrit, mitte sõna.

Kui versioonistring pärineb serveri vaikeväärtusest, mitte teie käsurealt, küsige, milline alaversioon kokku lepiti. Server võib kõrgema alaversiooni tagasi lükata ja madalamale langeda ning just see langus on juhtum, kus tagasikutse äkki loeb. Kirjutatud mount'imisrida ei pruugi kirjeldada seda mount'imist, mis teil on.

4.0 puhul teatage aadress, millele server pääseb

NFSv4.0 server võib vajada eraldi ühendust tagasi kliendi juurde, näiteks siis, kui see delegeerimise tagasi kutsub. Mitme liidese või ebatavalise marsruutimistabeli korral võib tagasikutse aadressi automaatne avastamine valida sellise, mida server kasutada ei saa.

mount -t nfs -o vers=4.0,clientaddr=10.8.0.6 10.8.0.1:/export /mnt/share

Aadress enne koolonit on server ja jääb sihtkohaks. Tagasikutse aadress kuulub kliendile ja see peab olema tunnelis serveri poolelt kättesaadav. Loopback-aadress suunab serveri tagasi iseenda juurde. Privaatne kliendi aadress ilma tagasiteeta on sama kasutu, kuigi kliendi peal näib see õige.

Kasutage seda näitena, mitte põhjusena töötavat mount'imist alandada. Asendage aadressid ja ekspordi tee ning jätke alles autentimine ja muud valikud, mida server nõuab. Nende ärajätmine, et üks näide sobiks, on teine muudatus teise tulemusega ja serveris, mis nõuab turvatüüpi, ebaõnnestub see enne mis tahes tagasikutse proovimist.

4.1 ja 4.2 ei kasuta seda valikut

Linux NFSv4.1 ja 4.2 kannavad tagasikutseid üle kliendi loodud ühenduste ja 4.1 nimetab seda vahendit backchannel'iks. Need ei sõltu sellest, kas server avab teatatud aadressile uue ühenduse, seega clientaddr ei paranda 4.1 ega 4.2 tagasikutse teed.

See ei tähenda, et 4.1 ja 4.2 tagasikutsete probleeme ei oleks. See tähendab, et diagnostika on teistsugune: uurige loodud sessiooni ja selle backchannel'i olekut, selle asemel et otsida sissetulevat tagasikutse porti, mida ei pidanud kunagi olemagi. Puuduv sissetulev reegel on oodatud olek, mitte parandamist vajav viga.

Eraldage mount'imise tõrge tagasikutse tõrgest

Tehke esmalt kindlaks, kas klient jõuab NFS-teenuseni ja kas server võtab ekspordi ja autentimispäringu vastu. Selle vahetuse eelne aegumine ei ütle tagasikutse aadressi kohta midagi. Ühe muutmine, kui mount'imine ikka ebaõnnestub, ei too uurimist lähemale ja peidab algse vea uue mount'imisvaliku taha.

Alles siis, kui tõendid näitavad ebaõnnestunud 4.0 tagasikutset, loeb teatatud aadress koos serveri tagasitee, kliendipoolse kuulajaga ja nende vahelise filtreerimisega. Mount'imisvalikus numbri muutmine ei saa neid teid luua; see saab ainult osutada teele, mis on juba olemas. Kirjutage üles, millise neist neljast te kontrollisite, sest järgmine aruanne saabub ilma ühegi neist.

Varase käivituse NFS-juur on eraldi keskkond oma eeldustega: initramfs vajab tööriistu ja võrku enne, kui mount'imine saab toimuda. Pärast sisselogimist töötav mount'imine ei tõesta selle järjestuse kohta midagi ja käivitamise tõrge mainib harva kas initramfs'i või võrku.

Seotud artiklid