Kako namestiti Stratis za upravljanje večplastnega lokalnega pomnilnika na RHEL 8


Stratis je ena od novosti, ki je na voljo z distribucijo RHEL 8. Stratis je lokalna rešitev za upravljanje pomnilnika, ki se osredotoča na preprostost in izboljšano uporabnost, hkrati pa omogoča dostop do naprednih funkcij shranjevanja. Uporablja datotečni sistem XFS in vam omogoča dostop do naprednih zmogljivosti shranjevanja, kot so:

  • Tanko zagotavljanje
  • Posnetki datotečnega sistema
  • Tiering
  • Upravljanje prek bazena
  • Spremljanje

Stratis je v bistvu pomnilniško področje, ki je ustvarjeno iz enega ali več lokalnih diskov ali particij diska. Stratis sistemskemu skrbniku pomaga pri postavitvi in upravljanju zapletenih konfiguracij pomnilnika.

Preden nadaljujemo, si oglejmo nekatere tehnične izraze, na katere boste naleteli, ko gremo naprej:

  • bazen: bazen je sestavljen iz ene ali več blokovnih naprav. Skupna velikost bazena je enaka vsoti blokovnih naprav.
  • blockdev: Kot ste morda že uganili, se to nanaša na blokovne naprave, kot so diskovne particije.
  • Datotečni sistem: Datotečni sistem je tanko pripravljena plast, ki ni v skupni fiksni velikosti. Dejanska velikost datotečnega sistema narašča z dodajanjem podatkov. Stratis samodejno poveča velikost datotečnega sistema, ko se velikost podatkov približa navidezni velikosti datotečnega sistema.

Blokirane naprave, ki jih lahko uporabljate s Stratisom, vključujejo:

  1. Logični zvezki LVM
  2. LUKS
  3. SSD diski (SSD pogoni)
  4. Device Mapper Multipath
  5. iSCSI
  6. Trdi diski (trdi diski)
  7. mdraid
  8. Naprave za shranjevanje NVMe

Stratis ponuja 2 pripomočka za programsko opremo:

  • Stratis-cli: to je orodje ukazne vrstice, ki je priloženo Stratisu.
  • Stratisd daemon: to je demon, ki ustvarja in upravlja blokovne naprave ter igra vlogo pri zagotavljanju API-ja DBUS.

Kako namestiti Stratis na RHEL 8

Po preučitvi, kaj je Stratis, in opredelitvi nekaj terminologij. Zdaj namestimo in konfiguriramo Stratis na distribucijo RHEL 8 (deluje tudi na CentOS 8).

Poglejmo, kako lahko v svoj sistem RHEL 8 namestite Stratis, se prijavite kot korenski uporabnik in zaženete ukaz.

# dnf install stratisd stratis-cli

Za več informacij o nameščenih paketih zaženite ukaz.

# rpm -qi stratisd stratis-cli

Po uspešni namestitvi Stratisa zaženite storitev z zagonom ukaza.

# systemctl enable --now stratisd

Če želite preveriti stanje Stratisa, zaženite ukaz.

# systemctl status stratisd

Za ustvarjanje bazena Stratis potrebujete blokovne naprave, ki niso v uporabi ali nameščene. Predpostavlja se tudi, da storitev Stratisd deluje in deluje. Poleg tega morajo biti blokovne naprave, ki jih boste uporabljali, velike vsaj 1 GB.

V našem sistemu RHEL 8 imamo štiri dodatne blokovne naprave: /dev/xvdb , /dev/xvdc , /dev/xvdd , < koda>/dev/xvde . Če želite prikazati blokovne naprave, zaženite ukaz lsblk.

# lsblk

Nobena od teh blokovnih naprav ne sme imeti tabele particij. To lahko potrdite z ukazom.

# blkid -p /dev/xvdb

Če ne dobite izhoda, potem to pomeni, da vaše blokovne naprave nimajo nobene particijske tabele. Če pa tabela particij obstaja, jo lahko obrišete z ukazom:

# wipefs -a /<device-path>

Stratisov bazen lahko ustvarite iz ene blokovne naprave z uporabo sintakse.

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

Če želite na primer ustvariti področje iz /dev/xvdb , zaženite ukaz.

# stratis pool create my_pool_1 /dev/xvdb

Za potrditev ustvarjenega bazena zaženite.

# stratis pool list

Če želite ustvariti področje iz več naprav, uporabite spodnjo sintakso z navedbo vseh naprav v eni vrstici.

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

Če želite ustvariti področje iz /dev/xvdc , /dev/xvdd in /dev/xvde , zaženite ukaz.

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

Še enkrat s pomočjo ukaza navedite razpona, ki so na voljo.

# stratis pool list

Na tej točki bi morali imeti 2 bazena: my_pool_1 in my_pool_2.

Kot lahko vidite zgoraj, je prostor na trdem disku, ki ga zaseda bazen my_pool_2, trikrat večji od prostora prvega področja, ki smo ga ustvarili iz samo ene blokovne naprave s pomnilnikom 10 GB.

Ko ste ustvarili svoj datotečni sistem, lahko z uporabo sintakse ustvarite datotečni sistem iz enega od združenj.

# stratis fs create <poolname> <filesystemname>

Na primer, če želite ustvariti datotečni sistem-1 in datotečni sistem-2 iz my_pool_1 oziroma my_pool_2, zaženite ukaza:

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

Če si želite ogledati novo ustvarjene datotečne sisteme, zaženite ukaz.

# stratis fs list

Če želite rezultate datotečnega sistema zožiti na eno področje, zaženite ukaz:

# stratis fs list <poolname>

Na primer, če želite preveriti datotečni sistem v my_pool_2, zaženite ukaz.

# stratis fs list my_pool_2

Če zaženete ukaz lsblk, mora biti izhod nekoliko podoben spodnjemu vzorčnemu izhodu.

# lsblk

Zdaj bomo namestili obstoječe datotečne sisteme, da bomo lahko dostopali do njih. Najprej ustvarite točke za pritrditev.

Za datotečni sistem v prvem področju izvedite ukaz:

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

Za drugi datotečni sistem v drugem področju zaženite ukaz.

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

Če želite preveriti obstoj trenutnih točk pritrditve, zaženite ukaz df:

# df -Th | grep  stratis

Odlično! Jasno vidimo, da so naše točke pritrditve prisotne.

Točke vpenjanja, ki smo jih pravkar ustvarili, ne morejo preživeti ponovnega zagona. Da bodo trajne, najprej pridobite UUID vsakega od datotečnih sistemov:

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

Zdaj nadaljujte in kopirajte UUID-je in možnosti točke pritrditve v/etc/fstab, kot 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

Če želite sistem registrirati novo konfiguracijo, zaženite ukaz:

# systemctl daemon-reload

Če želite preveriti, kako konfiguracija deluje po pričakovanjih, namestite datotečne sisteme.

# mount /data
# mount /block

Če želite odstraniti datotečni sistem, morate najprej demontirati datotečni sistem, kot je prikazano.

# umount /mount-point

V tem primeru bomo.

# umount /data

Če želite uničiti datotečni sistem, uporabite sintakso:

# stratis filesystem destroy <poolname> <filesystem-name>

Torej, imeli bomo:

# stratis filesystem destroy my_pool_1 filesystem-1

Če želite potrditi odstranitev datotečnega sistema, izdajte ukaz.

# stratis filesystem list my_pool_1

Iz izhoda lahko jasno vidimo, da je bil datotečni sistem, povezan z my_pool_1, izbrisan.

Disk lahko v obstoječi bazen dodate z ukazom:

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

Če želite na primer v my_pool_1 dodati dodaten disk /dev/xvdf , zaženite ukaz:

# stratis pool add-data my_pool_1 /dev/xvdf

Upoštevajte, da se velikost my_pool_1 po dodajanju dodatnega volumna podvoji.

Posnetek je tanko pripravljena bralna in zapisna kopija datotečnega sistema v določenem trenutku.

Če želite ustvariti posnetek, zaženite ukaz:

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

V tem primeru bo ukaz:

# stratis fs snapshot my_pool_2 filesystem-2 mysnapshot

K posnetku lahko dodate atribut podatkov - & # 36 (date +% Y-% m-% d) in dodate datumsko oznako, kot je prikazano na spodnjem posnetku zaslona.

Če želite preveriti ustvarjanje posnetka, zaženite ukaz:

# stratis filesystem list <poolname>

V tem primeru bo ukaz:

# stratis filesystem list my_pool_2

Če želite povrniti datotečni sistem Stratis na predhodno ustvarjen posnetek, najprej odstranite in uničite prvotni datotečni sistem.

# umount /stratis/<poolname>/filesystem

V našem scenariju bo to.

# umount /stratis/my_pool_2/filesystem-2

Nato ustvarite kopijo posnetka z uporabo prvotnega datotečnega sistema:

# stratis filesystem snapshot <poolname> filesystem-snapshot filesystem

Ukaz bo:

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

Na koncu namestite še posnetek.

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

Če želite odstraniti posnetek, najprej odstranite posnetek.

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

Nato nadaljujte in uničite posnetek:

# stratis filesystem destroy my_pool_2 mysnapshot-2019-10-24

Če želite odstraniti bazen Stratis, sledite spodnjim preprostim korakom.

1. Naštejte datotečne sisteme, ki obstajajo v področju.

# stratis filesystem list <poolname>

2. Nato odstranite vse datotečne sisteme v področju.

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

3. Uničite datotečne sisteme.

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

4. In potem se znebite bazena.

# stratis pool destroy poolname

V tem primeru bo sintaksa.

# stratis pool destroy my_pool_2

Seznam bazenov lahko ponovno preverite.

# stratis pool list

Na koncu odstranite vnose v datoteki/etc/fstab za datotečne sisteme.

Prišli smo do konca vodnika. V tej vadnici smo osvetlili, kako lahko namestite in uporabljate Stratis za upravljanje večplastnega lokalnega pomnilnika na RHEL. Upamo, da se vam je zdelo koristno. Poskusite in nam sporočite, kako je šlo.