Kako instalirati Stratis za upravljanje slojevitom lokalnom pohranom na RHEL 8


Stratis jedna je od novih značajki koje se isporučuju s distribucijom RHEL 8. Stratis je lokalno rješenje za upravljanje pohranom koje se fokusira na jednostavnost i poboljšanu upotrebljivost, a istovremeno pruža pristup naprednim značajkama pohrane. Koristi XFS datotečni sustav i omogućuje vam pristup naprednim mogućnostima pohrane kao što su:

  • Tanko osiguranje
  • Snimke datotečnog sustava
  • Razina
  • Upravljanje temeljeno na bazenu
  • Praćenje

U osnovi, Stratis je spremište za pohranu koje se stvara od jednog ili više lokalnih diskova ili particija diska. Stratis pomaže administratoru sustava postaviti i upravljati složenim konfiguracijama pohrane.

Prije nego što nastavimo, pogledajmo neke od tehničkih pojmova na koje ćete sigurno naletjeti dok idemo:

  • pool: skup se sastoji od jednog ili više blok uređaja. Ukupna veličina skupa jednaka je ukupnom zbroju blok uređaja.
  • blockdev: Kao što ste možda pogodili, ovo se odnosi na blok uređaje kao što su particije diska.
  • Datotečni sustav: Datotečni sustav je tanko osiguran sloj koji ne dolazi kao ukupna fiksna veličina. Stvarna veličina datotečnog sustava raste kako se dodaju podaci. Stratis automatski povećava veličinu datotečnog sustava kako se veličina podataka približava virtualnoj veličini datotečnog sustava.

Blokirani uređaji koje možete koristiti sa Stratisom uključuju:

  1. LVM logički volumeni
  2. LUKS
  3. SSD-ovi (Solid State Drives)
  4. Device Mapper Multipath
  5. iSCSI
  6. HDD (tvrdi diskovi)
  7. mdraid
  8. NVMe uređaji za pohranu

Softverske komponente Stratisa

Stratis nudi 2 softverska pomoćna programa:

  • Stratis-cli: Ovo je alat naredbenog retka koji se isporučuje sa Stratisom.
  • Stratisd demon: Ovo je demon koji stvara blok uređaje i upravlja njima te igra ulogu u pružanju DBUS API-ja.

Kako instalirati Stratis na RHEL 8

Nakon što smo pogledali što je Stratis i definirali nekoliko terminologija. Idemo sada instalirati i konfigurirati Stratis na distribuciji RHEL 8 (radi i na CentOS 8).

Instalirajte Stratis na RHEL 8

Pogledajmo kako možete instalirati Stratis na svoj RHEL 8 sustav, prijaviti se kao root korisnik i pokrenuti naredbu.

dnf install stratisd stratis-cli

Za više informacija o instaliranim paketima pokrenite naredbu.

rpm -qi stratisd stratis-cli

Nakon uspješne instalacije Stratisa, pokrenite uslugu pokretanjem naredbe.

systemctl enable --now stratisd

Da biste provjerili status Stratisa, pokrenite naredbu.

systemctl status stratisd

Napravite Stratis bazen

Za izradu bazena Stratis potrebni su vam blok uređaji koji nisu u upotrebi ili montirani. Također, pretpostavlja se da je usluga Stratisd pokrenuta i radi. Osim toga, blok uređaji koje ćete koristiti moraju biti veličine najmanje 1 GB.

Na našem RHEL 8 sustavu imamo četiri dodatna blok uređaja: /dev/xvdb, /dev/xvdc, /dev/ xvdd, /dev/xvde. Za prikaz blok uređaja pokrenite naredbu lsblk.

lsblk

Nijedan od ovih blok uređaja ne bi trebao imati particijsku tablicu. To možete potvrditi pomoću naredbe.

blkid -p /dev/xvdb

Ako ne dobijete izlaz, to znači da vaši blok uređaji nemaju particijsku tablicu na sebi. Međutim, u slučaju da particijska tablica postoji, možete je obrisati pomoću naredbe:

wipefs -a /<device-path>

Stvorite Stratis Pool iz jednog blok uređaja

Možete stvoriti Stratis bazen iz jednog blok uređaja pomoću sintakse.

stratis pool create <pool-name> <block-device>

Na primjer, za stvaranje skupa iz /dev/xvdb pokrenite naredbu.

stratis pool create my_pool_1 /dev/xvdb

Za potvrdu stvorenog bazena pokrenite.

stratis pool list

Stvorite Stratis Pool od više blok uređaja

Da biste stvorili skup od više uređaja, koristite donju sintaksu ispisujući sve uređaje u jednom retku.

stratis pool create <pool_name> device-1 device-2 device-n

Za stvaranje skupa iz /dev/xvdc, /dev/xvdd i /dev/xvde pokrenite naredbu.

stratis pool create my_pool_2 /dev/xvdc /dev/xvdd/ /dev/xvde

Još jednom, popišite dostupne bazene pomoću naredbe.

stratis pool list

U ovom trenutku trebali biste imati 2 bazena: my_pool_1 i my_pool_2.

Kao što možete vidjeti gore, prostor na tvrdom disku koji zauzima skup my_pool_2 je tri puta veći od prvog skupa koji smo stvorili iz samo jednog blok uređaja s memorijom od 10 GB.

Stvorite datotečni sustav iz skupa

Nakon što ste kreirali svoj datotečni sustav, možete kreirati datotečni sustav iz jednog od skupova pomoću sintakse.

stratis fs create <poolname> <filesystemname>

Na primjer, da biste stvorili datotečni sustav-1 i datotečni sustav-2 iz my_pool_1 i my_pool_2 redom pokrenite naredbe:

stratis fs create my_pool_1 filesystem-1
stratis fs create my_pool_2 filesystem-2

Za pregled novostvorenih datotečnih sustava pokrenite naredbu.

stratis fs list

Da biste suzili rezultate datotečnog sustava na jedan skup, pokrenite naredbu:

stratis fs list <poolname>

Na primjer, za provjeru datotečnog sustava u my_pool_2 pokrenite naredbu.

stratis fs list my_pool_2

Sada, ako pokrenete naredbu lsblk, izlaz bi trebao biti donekle sličan primjeru izlaza ispod.

lsblk

Montiranje Stratis datotečnog sustava

Sada ćemo montirati postojeće datotečne sustave kako bismo im pristupili. Prvo stvorite točke montiranja.

Za datotečni sustav u prvom bazenu, pokrenite naredbu:

mkdir /data
mount /stratis/my_pool_1/filesystem-1 /data

Za drugi datotečni sustav u drugom spremištu, pokrenite naredbu.

mkdir /block
mount /stratis/my_pool_2/filesystem-2 /block

Za provjeru postojanja trenutnih točaka montiranja pokrenite naredbu df:

df -Th | grep  stratis

Savršen! Jasno možemo vidjeti da su naše točke montiranja prisutne.

Trajno montirajte datotečne sustave Stratis

Točke montiranja koje smo upravo stvorili ne mogu preživjeti ponovno pokretanje. Da biste ih učinili trajnim, prvo nabavite UUID svakog od datotečnih sustava:

blkid -p /stratis/my_pool_1/filesystem-1
blkid -p /stratis/my_pool_2/filesystem-2

Sada nastavite i kopirajte UUID-ove i opcije točke montiranja u /etc/fstab kao što je prikazano.

echo "UUID=c632dcf5-3e23-46c8-82b6-b06a4cc9d6a7 /data xfs defaults 0 0" | sudo tee -a /etc/fstab
echo "UUID=b485ce80-be18-4a06-8631-925132bbfd78 /block xfs defaults 0 0" | sudo tee -a /etc/fstab

Da bi sustav registrirao novu konfiguraciju, pokrenite naredbu:

systemctl daemon-reload

Da biste provjerili radi li konfiguracija prema očekivanjima, montirajte datotečne sustave.

mount /data
mount /block

Uklanjanje datotečnog sustava Stratis

Da biste uklonili datotečni sustav, morate prvo demontirati datotečni sustav kao što je prikazano.

umount /mount-point

U ovom slučaju, imat ćemo.

umount /data

Da biste uništili datotečni sustav, koristite sintaksu:

stratis filesystem destroy <poolname> <filesystem-name>

Dakle, imat ćemo:

stratis filesystem destroy my_pool_1 filesystem-1

Za potvrdu uklanjanja datotečnog sustava izdajte naredbu.

stratis filesystem list my_pool_1

Iz rezultata jasno možemo vidjeti da je datotečni sustav povezan s my_pool_1 izbrisan.

Dodavanje diska u postojeći Stratis skup

Možete dodati disk postojećem skupu pomoću naredbe:

stratis pool add-data <poolname> /<devicepath>

Na primjer, da biste dodali dodatni disk /dev/xvdf, u my_pool_1, pokrenite naredbu:

stratis pool add-data my_pool_1 /dev/xvdf

Primijetite da je veličina my_pool_1 dvostruko veća nakon dodavanja dodatnog volumena.

Stvorite Stratis snimke

Snimak je tanko omogućeno čitanje i pisanje kopije datotečnog sustava u određenom trenutku.

Da biste stvorili snimku, pokrenite naredbu:

stratis fs snapshot <poolname> <fsname> <snapshotname>

U ovom slučaju, naredba će biti:

stratis fs snapshot my_pool_2 filesystem-2 mysnapshot

Možete dodati atribut podataka -$ (datum +%Y-%m-%d) snimci i dodati oznaku datuma kao što je prikazano na snimci zaslona u nastavku.

Da biste provjerili stvaranje snimke, pokrenite naredbu:

stratis filesystem list <poolname>

U ovom slučaju, naredba će biti:

stratis filesystem list my_pool_2

Vraćanje na prethodnu snimku pomoću datotečnog sustava

Da biste vratili Stratis datotečni sustav na prethodno stvorenu snimku, prvo demontirajte i uništite izvorni datotečni sustav.

umount /stratis/<poolname>/filesystem

U našem scenariju, to će biti.


umount /stratis/my_pool_2/filesystem-2

Zatim izradite kopiju snimke pomoću izvornog datotečnog sustava:

stratis filesystem snapshot <poolname> filesystem-snapshot filesystem

Naredba će biti:

stratis filesystem snapshot my_pool_2 mysnapshot-2019-10-24 block

Na kraju montirajte snimku.

mount /stratis/my-pool/my-fs mount-point

Uklanjanje Stratis snimke

Da biste uklonili snimku, najprije je isključite.

unmount /stratis/my_pool_2/mysnapshot-2019-10-24

Zatim nastavite i uništite snimku:

stratis filesystem destroy my_pool_2 mysnapshot-2019-10-24

Uklanjanje Stratis bazena

Za uklanjanje Stratis bazena, slijedite jednostavne korake u nastavku.

1. Navedite datotečne sustave koji postoje u skupu.

stratis filesystem list <poolname>

2. Zatim demontirajte sve datotečne sustave u skupu.

umount /stratis//filesystem-1
umount /stratis//filesystem-2
umount /stratis//filesystem-3

3. Uništite datotečne sustave.

stratis filesystem destroy <poolname> fs-1 fs-2

4. A onda se riješite bazena.

stratis pool destroy poolname

U ovom slučaju sintaksa će biti.

stratis pool destroy my_pool_2

Možete ponovno provjeriti popis bazena.

stratis pool list

Na kraju, uklonite unose u /etc/fstab za datotečne sustave.

Došli smo do kraja vodiča. U ovom smo vodiču rasvijetlili kako možete instalirati i koristiti Stratis za upravljanje slojevitom lokalnom pohranom na RHEL-u. Nadamo se da vam je bilo od koristi. Pokušajte i javite nam kako je prošlo.