Įžanga
Microsoft pateikiamas NFS klientas yra prieinamas tik Enterprise ir Ultimate Windows versijose, tad šiame straipsnyje aprašysiu kaip paleisti NFS serverį Raspberry Pi 3 kompiuteryje ir prie jo prisijungti iš Windows 10 Home kliento (viskas turėtų veikti ir su kitomis Windows versijomis).
Raspberry Pi serveris
Disko prijungimas
Prijungiam diską prie Raspberry Pi ir vykdom komandą fdisk -l. Sužinome kokį žymėjimą gavo prijungtas diskas:
Sukuriame prijungimo vietą:
sudo mkdir /media/transcend
Kadangi prijungtas diskas yra NTFS failų sistemos, įsitikiname, kad įdiegtas NTFS skaitymo – rašymo draiveris:
sudo apt-get update sudo apt-get install ntfs-3g
/etc/fstab faile sukuriame tokį įrašą:
Perkrauname Raspberry ir naujai prijungtame diske sukuriame katalogą, kuriame saugosime NFS share:
mkdir /media/transcend/NFS
NFS serverio nustatymas
sudo apt-get install nfs-common nfs-server
Pridedame tokią eilutę į /etc/exports failą:
192.168.8.0/255.255.255.0 reiškia, kad bus priimti prisijungimai iš vietinio tinklo adresų diapazono 192.168.8.1 – 192.168.8.254. Opcija insecure pridėta, nes kitaip Windows klientas neprisijungia.
Windows klientas
Parsisiunčiame sukompiliuotus NFS Windows kliento failus iš čia.
išarchyvuojame ir sekame šiais žingsniais:
- (Jei neįdiegta) įdiegiame vcredist*.exe bibliotekas.
- Du kartus spaudžiame ant nfs41_driver.cer failo, pasirenkame Install Certificate ir įkeliame jį į Trusted Root Certification Authorities saugyklą.
- Atidarome komandinę eilutę kaip administratorius.
- Vykdome install.bat failą.
- Kopijuojame konfigūracinius failus:
-
mkdir C:\etc
-
copy etc_netconfig C:\etc\netconfig
-
copy ms-nfs41-idmap.conf C:\etc\
-
- Leidžiame Windows užkrauti bandomaisiais sertifikatais pasirašytus failus:
bcdedit /set testsigning on
- Perkrauname kompiuterį.
- Išjungiame DFS klientą:
- Paleidžiame regedit ir keliaujame į HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Mup
- Pridedame DWORD reikšme pavadinimu DisableDfs ir reikšme 1.
- Išbandome NFS klientą vykdydami komandą:
nfsd_debug.exe --noldap --uid 1000 --gid 1000 -d 3
- Jei klientas nenulūžo ir veikia, atsidarome kitą komandinės eilutės langą ir prijungiame NFS share kaip Z diską:
nfs_mount.exe Z: 192.168.8.103:\media\transcend\NFS
kur 192.168.8.103 yra Raspberry Pi adresas.
Veikia:
Jei prijungiant NFS share meta panašią klaidą:
o NFS serveris paleistas, bet jį perkrovus:
sudo /etc/init.d/nfs-kernel-server restart
viskas sėkmingai prijungiama, vadinasi tikėtina, kad kraunantis Raspberry Pi nfs-kernel-server yra paleidžiamas anksčiau negu prijungiamas išorinis diskas. Tam pataisyti, galima uždelsti nfs-kernel-server paleidimą, tarkim 10 sekundžių, redaguojant /etc/init.d/nfs-kernel-server failą – po start sekcijos pridėjus sleep 10 eilutę:
Automatinis paleidimas ir prijungimas
Įsitikinus, kad viskas veikia, paleidžiame cmd.exe kaip administratorius, grįžtame į išarchyvuotą NFS kliento katalogą ir įrašome NFS klientą kaip servisą:
nfsd.exe -install
Tada per Run paleidžiame services.msc, susirandame pnfs client įrašą ir jo paleidimo tipą pakeičiame į automatinį:
Automatiniam NFS share prijungimui, paleidžiam Task Scheduler, kairėje pusėje pasirenkam Task Scheduler Library ir sukuriame naują užduotį, dešinėje panėleje spausdami Create Task. Užduočiai suteikiame pavadinimą, Triggers kortelėje sukuriam trigerį, kuris suveiktų sistemos paleidimo metu su kokių 30 sekundžių uždelsimu, Actions kortelėje sukuriame Start a program veiksmą, kuris paleistų skriptą su panašiu turiniu:
C:\Users\User\Desktop\ms-nfs41-client-x64\nfs_mount.exe Z: 192.168.8.103:\media\transcend\NFS
Conditions kortelėje nuimame paukštuką nuo start the task only if computer is on AC power.
Spaudžiam OK.
Kitą kartą paleidus kompiuterį, NFS klientas bus paleistas ir share prijungtas automatiškai.