ZFS

NFS strežnik, ki ga podpira OpenZFS, 1. del - Ustvarjanje strežnika

NFS strežnik, ki ga podpira OpenZFS, 1. del - Ustvarjanje strežnika
Če ste seznanjeni z OpenZFS, veste vse o njegovem bogatem vmesniku, prilagodljivi arhitekturi, zanesljivih kontrolnih vsotah in mehanizmih krave. Mogoče ga želite tudi na namizju, vendar ne želite preoblikovati obstoječih diskov in particij. Morda še uporabljate Windows 10, ki OpenZFS še ne podpira. No, v tej objavi v blogu bom razpravljal o tem, kako lahko ustvarite omrežni datotečni sistem ali NFS, ki deluje v ločenem strežniku. To napravo NFS lahko nato namestite na namizno delovno postajo. Na ta način lahko zagotovite zanesljivost in robustnost ZFS s prijaznostjo do uporabnika vašega najljubšega namiznega operacijskega sistema, saj je NFS na voljo na vseh platformah.

V drugem delu te serije bom podrobno opisal ustvarjanje točke vpenjanja NFS na odjemalcu Windows 10. Zaenkrat se osredotočimo na strežnik Ubuntu, ki ponuja shrambo NFS, in odjemalca Ubuntu, ki se poskuša povezati z njim.

Namestitev

Moj strežnik NFS bo temeljil na Ubuntu 18.04 LTS. Uporabite lahko vaš najljubši Linux distro ali FreeBSD ali kateri koli drug OS, ki podpira OpenZFS. Moj razlog za uporabo Ubuntu 18.04 je, da je zelo priljubljen in bi znatno zmanjšal vstopno oviro.

NFS naj bi bil na voljo samo v mojem LAN-u, ki ima masko podomrežja 255.255.255.0 in 192.168.0.1 kot privzeti prehod. Poenostavljeno angleško to pomeni, da bodo imele vse naprave, povezane z mojim domačim omrežjem (WiFi in Ethernet itd.), Naslove IP od 192.168.0.Od 2 do 192.168.0.254.

Strežnik NFS bo konfiguriran tako, da bo dostop do strežnika NFS omogočen le napravam z zgoraj omenjenim naslovom IP. To bi zagotovilo, da do mojih datotek dostopajo samo naprave, ki so se povezale v moj LAN, zunanji svet pa do njih. Če imate nastavitev „odprt Wifi“ ali če je varnost na končni točki usmerjevalnika dvomljiva, to ne bi zagotovilo nobene varnosti.

Ne bi priporočal, da NFS uporabljate prek javnega interneta brez dodatnih varnostnih ukrepov.

Nazadnje, ukazi, ki se izvajajo na strežniku NFS, imajo poziv, strežnik $, ukazi, ki se izvajajo na odjemalski strani, pa odzivnika $

Ustvarjanje področja OpenZFS in nabora podatkov

1. Ustvarjanje zpoola

Če že imate pripravljen zpool, preskočite ta korak. Na mojem strežniku NFS, na katerem je nameščen Ubuntu 18.04 LTS strežnik, najprej namestim OpenZFS.

strežnik $ sudo apt namestite zfsutils-linux

Nato bomo našteli vse razpoložljive blokovne naprave, da bomo videli nove diske (in particije), ki čakajo na formatiranje z zfs.

$ lsblk
IME MAJ: MIN RM VELIKOST RO TIP MOUNTPOINT
zanka0 7: 0 0 89.5M 1 zanka / snap / jedro / 6130
zanka1 7: 1 0 86.9M 1 zanka / snap / jedro / 4917
zanka2 7: 2 0 91.1M 1 zanka / snap / jedro / 6259
sda 8: 0 0 50G 0 disk
├─sda1 8: 1 0 1M 0 del
└─sda2 8: 2 0 50G 0 del /
sdb 8:16 0 931G 0 disk
sdc 8:32 0 931G 0 disk
sr0 11: 0 1 1024M 0 rom

Tipičen primer je prikazan zgoraj, vendar se lahko vaša konvencija poimenovanja precej razlikuje. Uporabiti boste morali svojo presojo in pri tem bodite zelo previdni. Nočete nenamerno formatirati diska OS. Na primer, particija sda1 ima za namestitev točko korenski datotečni sistem, zato se je ni pametno dotikati. Če uporabljate nove diske, obstaja velika verjetnost, da ne bodo imeli točke pritrditve ali kakršne koli particije.

Ko poznate ime svojih naprav, bomo z ukazom zpool create oblikovali nekaj teh blokovnih naprav (imenovanih sdb in sdc) v zpool z enim vdev, ki je sestavljen iz dveh zrcalnih diskov.

strežnik $ sudo zpool ustvari rezervoar ogledalo sdb sdc
strežnik $ sudo zpool status tank
zpool status tank
bazen: rezervoar
stanje: ONLINE
skeniranje: nobeno ni zahtevano
config:
IME DRŽAVA PREBERI NAPIŠI CKSUM
rezervoar ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
napake: Ni znanih podatkovnih napak

Če se pomaknete naprej, lahko dodate diske v dveh sklopih (imenovanih vdev), da povečate velikost tega zpoola, novi diski pa bodo prikazani kot mirror-1, mirror-2 itd. Ni vam treba ustvariti zpola tako, kot sem jaz, lahko uporabite zrcaljenje z več diski, lahko uporabite črtanje brez odvečnosti, vendar boljšo zmogljivost ali pa RAIDZ. Več o tem lahko izveste tukaj.

Na koncu je pomembno, da smo ustvarili zpool z imenom tank. Po katerem bo skupni NFS živel. Ustvarimo nabor podatkov, ki bo v skupni rabi. Najprej se prepričajte, da je bazen z imenom "rezervoar" nameščen. Privzeta točka pritrditve je '/ tank' .

strežnik $ sudo zfs mount tank
strežnik $ sudo zfs ustvari rezervoar / nfsshare # ustvari nov nabor podatkov na vrhu bazena

Nastavitev dovoljenj

Pri skupni rabi imenika NFS super uporabnik v odjemalskem sistemu nima dostopa do ničesar v skupni rabi. Medtem ko je odjemalski super-uporabnik sposoben narediti karkoli na odjemalskem računalniku, NFS tehnično ni del odjemalskega računalnika. Dovolitev operacij v imenu odjemalskega super-uporabnika, ki je preslikan kot super-uporabnik na strežniški strani, lahko povzroči varnostne težave. NFS privzeto preslika dejanja super uporabnika na strani odjemalca nikomur: uporabnik nog skupine in uporabniška skupina. Če nameravate dostopati do nameščenih datotek kot root, mora imeti nabor podatkov na našem strežniku NFS tudi enaka dovoljenja,

strežnik $ sudo chown nihče: nogroup / tank / nfsshare

Strežnik NFS bo izvajal kakršno koli dejanje odjemalskega korena kot uporabnik nihče, zato bo zgornje dovoljenje omogočilo izvajanje operacij.

Če uporabljate drugačno (običajno) uporabniško ime, je pogosto priročno imeti uporabnika z enakim natančnim uporabniškim imenom na obeh straneh.

Ustvarjanje deleža NFS

Ko ustvarite Zpool, namestite strežniški paket nfs iz upravitelja paketov:

strežnik $ sudo apt namestite nfs-kernel-server

Tradicionalno strežnik NFS uporablja datoteko / etc / export, da dobi seznam odobrenih odjemalcev in datoteke, do katerih bodo imeli dostop. Vendar bomo za dosego istega uporabili vgrajeno funkcijo ZFS.

Preprosto uporabite ukaz:

strežnik $ sudo zfs nastavi sharenfs = ”on” / tank / nfsshare

Prej sem namigoval, da lahko dostop omogočim le določenim IP-jem. To lahko storite na naslednji način:

strežnik $ sudo zfs set sharenfs = "[email protected] / 24" tank / nfsshare

Rw pomeni dovoljenja za branje in pisanje, temu pa sledi obseg IP-jev. Prepričajte se, da sta številki vrat 111 in 2049 odprti na požarnem zidu. Če uporabljate ufw, lahko to preverite tako, da zaženete:

strežnik $ ufw status

V LAN si zapišite IP strežnika z ukazom ifconfig ali ip addr. Recimo temu strežnik.ip

Namestitev na strani odjemalca

Ko je delnica ustvarjena, jo lahko namestite na odjemalski računalnik z zagonom ukaza:

odjemalec $ mount -t nfs strežnik.ip: / tank / nfsshare / mnt

Tako bo NFS skupna raba nameščena v mapo / mnt, vendar bi lahko prav tako enostavno izbrali katero koli drugo točko priklopa po svoji izbiri.

Zaključek

Skupna raba datotek je verjetno najpomembnejši vidik sistemskega upravljanja. Izboljša vaše razumevanje sklada za shranjevanje, mreženje, uporabniška dovoljenja in privilegije. Hitro boste spoznali pomen Načela najmanjšega privilegija - to pomeni, da uporabniku omogočite le najnižji možen dostop do svojega dela.

Spoznali boste tudi interoperabilnost med različnimi operacijskimi sistemi. Uporabniki sistema Windows lahko dostopajo do datotek NFS, prav tako lahko uporabniki Mac in BSD. Ne morete se omejiti na en operacijski sistem, če imate opravka z omrežjem strojev, ki imajo vse svoje dogovore in domače jezike. Zato nadaljujte in preizkusite svoj delež NFS. Upam, da ste se kaj naučili.

Najboljše igre z ročnim sledenjem
Oculus Quest je pred kratkim predstavil odlično idejo ročnega sledenja brez krmilnikov. Z vedno večjim številom iger in dejavnosti, ki izvajajo podpor...
Kako prikazati prekrivanje zaslonskega menija v celozaslonskih aplikacijah in igrah za Linux
Igranje celozaslonskih iger ali uporaba aplikacij v celozaslonskem načinu brez motenj vam lahko odreže ustrezne sistemske informacije, ki so vidne na ...
Top 5 kartic za zajemanje iger
Vsi smo v YouTubu videli in oboževali pretakanje iger. PewDiePie, Jakesepticye in Markiplier so le nekateri izmed najboljših igralcev, ki so zaslužili...