If-Koubou

O introducere în sistemul de fișiere Z (ZFS) pentru Linux

O introducere în sistemul de fișiere Z (ZFS) pentru Linux (Cum să)

ZFS este utilizat în mod obișnuit de către hoarderii de date, de iubitorii de NAS și de alți geeki care preferă să-și pună încrederea într-un sistem de stocare redundant propriu, și nu în nor. Este un sistem de fișiere excelent pentru a gestiona mai multe discuri de date și rivalizează unele dintre cele mai mari setări RAID.

Fotografie de Kenny Louie.

Ce este ZFS și de ce ar trebui să-l folosesc?

Sistemul de fișiere Z este un manager de volum logic liber și deschis, creat de Sun Microsystems, pentru utilizarea în sistemul lor de operare Solaris. Unele dintre caracteristicile sale cele mai atractive includ:

Endless scalability

Ei bine, nu este tehnic dar este un sistem de fișiere pe 128 de biți care este capabil să gestioneze zetabiți (un miliard de terabyte) de date. Indiferent cât spațiu aveți pe hard disk, ZFS va fi potrivit pentru gestionarea acestuia.

Integritate maximă

Tot ceea ce faceți în interiorul ZFS utilizează o sumă de control pentru a asigura integritatea fișierului. Puteți fi siguri că fișierele și copiile redundante nu vor întâmpina coruperea datelor silențioase. De asemenea, în timp ce ZFS este ocupat cu verificarea liniștită a datelor pentru integritate, va face reparații automate oricând poate.

Concentrați unitatea

Creatorii ZFS doresc să vă gândiți că este similar cu modul în care calculatorul dvs. utilizează memoria RAM. Când aveți nevoie de mai multă memorie în computer, introduceți un alt stick și ați terminat. În mod similar cu ZFS, atunci când aveți nevoie de mai mult spațiu pe hard disk, ați pus un alt hard disk și ați terminat. Nu este nevoie să vă petreceți timpul de partiționare, formatare, inițializare sau de a face orice altceva pe discuri - atunci când aveți nevoie de o "bazin" de stocare mai mare, adăugați doar discuri.

RAID

ZFS este capabil de multe niveluri diferite de RAID, toate oferind performanțe comparabile cu cele ale controlorilor hardware RAID. Acest lucru vă permite să economisiți bani, să faceți instalarea mai ușoară și să aveți acces la niveluri superioare ale RAID pe care le-a îmbunătățit ZFS.

Instalarea ZFS

Din moment ce acoperim numai elementele de bază ale acestui ghid, nu vom instala ZFS ca sistem de fișiere rădăcină. Această secțiune presupune că utilizați ext4 sau alt sistem de fișiere și doriți să utilizați ZFS pentru unele hard discuri secundare. Iată comenzile pentru instalarea ZFS pe unele dintre cele mai populare distribuții Linux.

Solaris și FreeBSD ar trebui să vină deja cu ZFS instalat și gata de utilizare.

Ubuntu:

$ sudo add-apt-repository ppa: zfs-nativ / stabil
$ sudo apt-get actualizare
$ sudo apt-get instala ubuntu-zfs

Debian:

$ su -
# wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb
# dpkg -i zfsonlinux_2 ~ wheezy_all.deb
# apt-get update
# apt-get instalați debian-zfs

RHEL / CentOS:

$ sudo yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm
$ sudo yum instala zfs

Dacă aveți altă distribuție, consultați zfsonlinux.org și faceți clic pe distribuția dvs. din lista "Packages" pentru instrucțiuni despre cum se instalează ZFS.

Pe măsură ce vom continua cu acest ghid, vom folosi Ubuntu pentru că aceasta pare a fi cea mai bună alegere pentru Linux. Încă ar trebui să puteți urmări indiferent de ce, deoarece comenzile ZFS nu se vor schimba în diferite distribuții.

Instalarea durează destul de mult, dar odată terminată, alerga $ lista sudo zfs pentru a vă asigura că este instalat corect. Ar trebui să obțineți o ieșire astfel:

Folosim o instalare proaspătă a serverului Ubuntu chiar acum, cu un singur hard disk.

Configurarea ZFS

Să presupunem că am pus șase unități de hard disk în computerul nostru.

$ sudo fdisk -l | Grep grep ne va arăta cele șase hard discuri pe care tocmai le-am instalat. În prezent, acestea sunt inutilizabile, deoarece nu conțin niciun fel de tabel de partiții.

Așa cum am menționat mai devreme, unul dintre lucrurile frumoase despre ZFS este că nu trebuie să ne deranjăm cu partiții (deși puteți dacă doriți). Să începem prin luarea a trei dintre hard-discurile noastre și punerea lor într-o piscină de stocare, executând următoarea comandă:

$ sudo zpool creați -f geek1 / dev / sdb / dev / sdc / dev / sdd

spool create este comanda utilizată pentru crearea unei noi baze de stocare, -f suprascrie orice erori care apar (cum ar fi dacă discul (ele) au deja informații despre ele, geek1 este numele bazei de stocare și / dev / sdb / dev / sdc / dev / sdd sunt hard disk-urile pe care le punem în piscină.

După ce ați creat piscina, ar trebui să o puteți vedea cu df comanda sau lista sudo zfs:

După cum puteți vedea, / geek1 a fost deja montat și este gata de utilizare.

Dacă doriți să vedeți care trei discuri ați selectat pentru piscina dvs., puteți rula sudo zpool status:

Ceea ce am făcut până acum este crearea unei baze de bandă dinamică de 9 TB (efectiv, RAID 0). În cazul în care nu sunteți familiarizat cu ceea ce înseamnă asta, imaginați-vă că am creat un fișier de 3 KB pe / geek1. 1 KB va merge automat la sdb, 1 KB la sdc și 1 KB la sdd. Apoi, când mergem să citim fișierul de 3 KB, fiecare hard disk ne va prezenta 1 KB, combinând viteza celor trei unități. Acest lucru face rapid scrierea și citirea datelor, dar înseamnă că avem un singur punct de eșec. Dacă un singur hard disk nu reușește, vom pierde fișierul de 3 KB.

Presupunând că protejarea datelor este mai importantă decât accesarea rapidă a acestora, să aruncăm o privire la alte setări populare. În primul rând, vom șterge dosarul pe care l-am creat pentru a putea folosi aceste discuri într-o configurație mai redundantă:

$ sudo zpool distrug geek1

Bam, nebunul nostru a dispărut. De data aceasta, hai să folosim cele trei discuri pentru a crea un bazin RAID-Z. RAID-Z este, în esență, o versiune îmbunătățită a RAID 5, deoarece evită "gaura de scriere" prin copierea pe scriere. RAID-Z necesită minimum trei unități de hard disk și este un fel de compromis între RAID 0 și RAID 1. Într-un pool RAID-Z, veți obține în continuare viteza de strivire la nivel de bloc, dar va fi paritatea distribuită. Dacă un singur disc din bazinul dvs. moare, înlocuiți pur și simplu acel disc, iar ZFS va reconstrui automat datele bazate pe informații despre paritate de pe celelalte discuri. Pentru a pierde toate informațiile din bazinul de stocare, două discuri ar trebui să moară. Pentru a face lucrurile și mai redundante, puteți utiliza RAID 6 (RAID-Z2 în cazul ZFS) și aveți paritate dublă.

Pentru a realiza acest lucru, putem folosi același lucru spool create comanda ca înainte, dar specificați raidz după numele bazinului:

$ sudo zpool creați -f geek1 raidz / dev / sdb / dev / sdc / dev / sdd

După cum puteți vedea, df -h arată că rezerva noastră de 9 TB a fost redusă acum la 6 TB, deoarece 3 TB sunt utilizate pentru a ține informațiile de paritate. Cu statutul de spool comanda, vedem că bazinul nostru este în mare parte același ca înainte, dar acum folosește RAID-Z.

Pentru a arăta cât de ușor este să adăugați mai multe discuri în bazinul nostru de stocare, să adăugăm celelalte trei discuri (încă 9 TB) la piscina noastră de stocare geek1 ca o altă configurație RAID-Z:

$ sudo zpool adăugați -f geek1 raidz / dev / sde / dev / sdf / dev / sdg

Încheiem cu:

Saga continuă ...

Abia am zgâriat suprafața ZFS și capabilitățile sale, dar folosind ceea ce ați învățat în acest articol, acum ar trebui să puteți crea pool-uri redundante de stocare a datelor dvs. Reveniți la noi pentru articole despre ZFS, vedeți paginile manuale și căutați în jurul ghidurilor de nișă nesfârșite și videoclipuri YouTube care acoperă funcțiile ZFS.