ZFS

OpenZFS-understøttet NFS-server del 1 - Oprettelse af en server

OpenZFS-understøttet NFS-server del 1 - Oprettelse af en server
Hvis du er fortrolig med OpenZFS, ved du alt om dets funktionsrige interface, fleksibel arkitektur, pålidelige kontrolsummer og COW-mekanismer. Måske vil du også have det på dit skrivebord, men du vil ikke omformatere dine eksisterende diske og partitioner. Måske bruger du Windows 10, som endnu ikke understøtter OpenZFS. Nå i dette blogindlæg vil jeg diskutere, hvordan du kan oprette et netværksfilsystem eller NFS, der kører på en separat server. Denne NFS-enhed kan derefter monteres på din stationære arbejdsstation. På denne måde kan du have ZFS pålidelighed og robusthed med brugervenligheden i dit foretrukne Desktop OS, da NFS er tilgængelig på alle platforme.

Jeg vil detaljer om oprettelsen af ​​NFS-monteringspunkt på en Windows 10-klient i del 2 i denne serie. Lad os nu fokusere på en Ubuntu-server, der tilbyder NFS-lager og en Ubuntu-klient, der prøver at oprette forbindelse til den.

Opsætningen

Min NFS-server vil være baseret på Ubuntu 18.04 LTS. Du kan bruge din foretrukne Linux distro eller FreeBSD eller ethvert andet OS, der understøtter OpenZFS. Min grund til at bruge Ubuntu 18.04 er, at det er ret populært og ville reducere adgangsbarrieren betydeligt.

NFS formodes kun at være tilgængelig på mit LAN, som har undernetmasken på 255.255.255.0 og 192.168.0.1 som standard gateway. På almindelig engelsk betyder det, at alle enheder, der er tilsluttet mit hjemmenetværk (WiFi og Ethernet, et al.) Vil have IP-adresser fra 192.168.0.2 til 192.168.0.254.

NFS-serveren konfigureres til kun at tillade enheder med kun den førnævnte IP-adresse at have adgang til NFS-serveren. Dette ville sikre, at kun enheder, der har oprettet forbindelse til mit LAN, har adgang til mine filer, og omverdenen ikke kan få adgang til det. Hvis du har en 'åben Wifi'-opsætning, eller hvis sikkerheden på din routers slutpunkt er tvivlsom, vil dette ikke garantere nogen sikkerhed.

Jeg vil ikke anbefale at køre NFS over offentligt internet uden yderligere sikkerhedsforanstaltning.

Endelig har kommandoer, der køres på NFS-serveren prompten, server $ og kommandoerne, der skal køres på klientsiden, har promptklienten $

Oprettelse af OpenZFS-pool og datasæt

1. Opretter zpool

Hvis du allerede har en zpool i gang, skal du springe dette trin over. På min NFS-server, der kører Ubuntu 18.04 LTS-server, jeg installerer først OpenZFS.

server $ sudo apt installere zfsutils-linux

Dernæst vil vi liste alle tilgængelige blokkenheder for at se de nye diske (og partitioner), der venter på at blive formateret med zfs.

$ lsblk
NAVN MAJ: MIN RM STØRRELSE RO TYPE MOUNTPOINT
loop0 7: 0 0 89.5M 1 løkke / snap / kerne / 6130
loop1 7: 1 0 86.9M 1 løkke / snap / kerne / 4917
loop2 7: 2 0 91.1M 1 løkke / snap / kerne / 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

Et typisk eksempel er vist ovenfor, men din navngivningskonvention kan være vild anderledes. Du bliver nødt til at bruge din egen dømmekraft og være meget forsigtig med den. Du ønsker ikke ved et uheld at formatere din OS-disk. For eksempel har sda1-partitionen klart rodfilsystemet som dets monteringspunkt, så det er ikke klogt at røre ved det. Hvis du bruger nye diske, er chancerne for, at de ikke har et monteringspunkt eller nogen form for partitionering.

Når du kender navnet på dine enheder, bruger vi zpool create-kommandoen til at formatere et par af disse blokkenheder (kaldet sdb og sdc) til en zpool med en enkelt vdev, der består af to spejlede diske.

server $ sudo zpool oprette tank spejl sdb sdc
server $ sudo zpool status tank
zpool status tank
pool: tank
tilstand: ONLINE
scan: ingen anmodet
config:
NAVN STAT LÆS Opret CKSUM
tank ONLINE 0 0 0
spejl-0 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
fejl: Ingen kendte datafejl

Fremadrettet kan du tilføje diske i sæt af to (kaldet vdev) for at vokse størrelsen på denne zpool, de nye diske vises som mirror-1, mirror-2 osv. Du behøver ikke oprette din zpool som jeg gjorde, du kan bruge spejling med flere diske, du kan bruge striping uden redundans, men bedre ydeevne, eller du kan bruge RAIDZ. Du kan lære mere om det her.

I slutningen af ​​dagen er det der betyder noget, at vi har oprettet en tank med navnet zpool. Derefter lever den delte NFS. Lad os oprette et datasæt, der deles. Sørg først for, at poolen, der hedder 'tank', er monteret. Standard monteringspunkt er '/ tank' .

server $ sudo zfs monteringstank
server $ sudo zfs Opret tank / nfsshare # Opret et nyt datasæt oven på puljen

Indstilling af tilladelser

Når du deler en NFS-mappe, har superbrugeren på klientsystemet ikke adgang til noget på delingen. Mens superbrugeren på klientsiden er i stand til at gøre noget på klientmaskinen, er NFS-monteringen teknisk set ikke en del af klientmaskinen. Så at tillade handlinger på vegne af klientsiden superbruger kortlagt som serversiden superbruger kan resultere i sikkerhedsproblemer. Som standard kortlægger NFS superbrugerhandlingerne på klientsiden til ingen: nogroup bruger og brugergruppe. Hvis du har til hensigt at få adgang til de monterede filer som root, skal datasættet på vores NFS-server også have de samme tilladelser,

server $ sudo chown ingen: nogroup / tank / nfsshare

NFS-serveren kører enhver handling fra klientsiden som bruger-ingen, så ovenstående tilladelse tillader operationerne at gennemgå.

Hvis du bruger et andet (almindeligt) brugernavn, er det ofte praktisk at have en bruger med det samme nøjagtige brugernavn på begge sider.

Oprettelse af NFS-deling

Når du har oprettet Zpool, skal du installere nfs-serverpakken fra din pakkehåndtering:

server $ sudo apt installere nfs-kernel-server

Traditionelt bruger NFS-server / etc / eksport-fil til at få en liste over godkendte klienter og de filer, de har adgang til. Vi bruger dog ZFS 'indbyggede funktion til at opnå det samme.

Brug blot kommandoen:

server $ sudo zfs sæt sharenfs = ”til” / tank / nfsshare

Tidligere henviste jeg til kun at give visse IP'er adgang. Du kan gøre det som følger:

server $ sudo zfs set sharenfs = "[email protected] / 24" tank / nfsshare

'Rw' står for læs-skriv tilladelser, og det efterfølges af rækkevidden af ​​IP'er. Sørg for, at portnummer 111 og 2049 er åben på din firewall. Hvis du bruger ufw, kan du kontrollere det ved at køre:

server $ ufw status

Noter din servers IP på LAN ved at bruge ifconfig eller ip addr-kommandoen. Lad os kalde det server.ip

Montering på klientsiden

Når delingen er oprettet, kan du montere den på din klientmaskine ved at køre kommandoen:

klient $ mount -t nfs-server.ip: / tank / nfsshare / mnt

Dette vil montere NFS-delingen på / mnt-mappen, men du kunne lige så let have valgt et andet monteringspunkt efter eget valg.

Konklusion

Fildeling er sandsynligvis det vigtigste aspekt af systemadministration. Det forbedrer din forståelse af lagringsstakken, netværk, brugertilladelser og privilegier. Du vil hurtigt indse vigtigheden af ​​Princippet om mindst privilegium - Det vil sige kun give en bruger den mindst mulige adgang, den har brug for, til sit job.

Du vil også lære om interoperabiliteten mellem forskellige operativsystemer. Windows-brugere kan få adgang til NFS-filer, så også Mac- og BSD-brugere. Du kan ikke begrænse dig til et operativsystem, når du har at gøre med et netværk af maskiner, der alle har deres egne konventioner og sprog. Så fortsæt og eksperimenter med din NFS-andel. Jeg håber, du har lært noget.

Mus Midterste museknap fungerer ikke i Windows 10
Midterste museknap fungerer ikke i Windows 10
Det midterste museknap hjælper dig med at rulle gennem lange websider og skærme med en masse data. Hvis det stopper, vil du ende med at bruge tastatur...
Mus Sådan ændres venstre og højre museknap på Windows 10-pc
Sådan ændres venstre og højre museknap på Windows 10-pc
Det er en ganske normal, at alle computermusenheder er ergonomisk designet til højrehåndede brugere. Men der er musenheder til rådighed, der er specie...
Mus Efterlig museklik ved at svæve ved hjælp af Clickless Mouse i Windows 10
Efterlig museklik ved at svæve ved hjælp af Clickless Mouse i Windows 10
Brug af en mus eller et tastatur i den forkerte kropsholdning af overdreven brug kan resultere i mange sundhedsmæssige problemer, herunder stamme, kar...