Wéi installéiert Stratis fir Layered Local Storage op RHEL 8 ze managen


Stratis ass eng vun den neie Featuren déi mat RHEL 8 Verdeelung verschéckt ginn. Stratis ass eng lokal Storage Management Léisung déi sech op Einfachheet a verbessert Benotzerfrëndlechkeet konzentréiert a gläichzäiteg Zougang zu fortgeschratt Späicherfunktiounen ubitt. Et benotzt den XFS Dateiesystem a gëtt Iech Zougang zu fortgeschratt Späicherefäegkeeten wéi:

  • Dënn Bestëmmung
  • Dateisystem Schnappschëss
  • Tiering
  • Pool-baséiert Gestioun
  • Iwwerwaachung

Prinzipiell ass Stratis e Späicherpool deen aus engem oder méi lokalen Disken oder Diskpartitionen erstallt gëtt. Stratis hëlleft engem System Administrateur komplex Späicherkonfiguratiounen opzestellen an ze verwalten.

Ier mer weidergoen, loosst eis e puer vun den technesche Begrëffer kucken, déi Dir gebonnen sidd ze stousse wéi mir weidergoen:

  • Pool: E Pool besteet aus engem oder méi Blockapparaten. D'Gesamtgréisst vum Pool ass gläich wéi d'Zommtotal vun de Blockapparaten.
  • blockdev: Wéi Dir et vläicht scho geduecht hutt, bezitt sech dëst op Spärgeräter wéi Diskpartitionen.
  • Dateiesystem: E Dateiesystem ass eng dënn versuergt Schicht déi net als total fixe Gréisst kënnt. D'tatsächlech Gréisst vum Dateiesystem wiisst wéi d'Donnéeën bäigefüügt ginn. Stratis wiisst automatesch d'Gréisst vum Dateiesystem wéi d'Dategréisst no der virtueller Gréisst vum Dateiesystem no kënnt.

Block Geräter déi Dir mat Stratis benotze kënnt enthalen:

  1. LVM Logesch Bänn
  2. LUKS
  3. SSDs (Solid State Drives)
  4. Device Mapper Multipath
  5. iSCSI
  6. HDDs (Hard Disk Drives)
  7. mdraid
  8. NVMe Späichergeräter

Stratis bitt 2 Software Utilities:

  • Stratis-cli: Dëst ass de Kommandozeilinstrument dat mat Stratis verschéckt gëtt.
  • Stratisd Daemon: Dëst ass en Daemon deen Blockgeräter erstellt a geréiert an eng Roll spillt fir eng DBUS API ze liwweren.

Wéi installéiere ech Stratis op RHEL 8

Nodeems Dir gekuckt hutt wat Stratis ass an e puer Terminologien definéiert hunn. Loosst eis elo Stratis op RHEL 8 Verdeelung installéieren a konfiguréieren (schafft och op CentOS 8).

Loosst eis kucken wéi Dir Stratis op Ärem RHEL 8 System installéiere kënnt, aloggen als Root Benotzer a lafen de Kommando.

# dnf install stratisd stratis-cli

Fir méi Informatiounen iwwer déi installéiert Packagen ze fannen, lafen de Kommando.

# rpm -qi stratisd stratis-cli

No der erfollegräicher Installatioun vu Stratis, start de Service andeems Dir de Kommando ausféiert.

# systemctl enable --now stratisd

Fir de Status vun Stratis ze kontrolléieren, lafen de Kommando.

# systemctl status stratisd

Fir e Stratis Pool ze kreéieren braucht Dir Blockapparater déi net am Gebrauch sinn oder montéiert sinn. Och gëtt ugeholl datt de Stratisd Service op a leeft. Zousätzlech mussen d'Blockgeräter, déi Dir benotzt, op d'mannst 1 GB grouss sinn.

Op eisem RHEL 8 System hu mir véier zousätzlech Blockapparater: /dev/xvdb, /dev/xvdc, /dev/xvdd, /dev/xvde. Fir d'Blockgeräter ze weisen, fuert de Kommando lsblk.

# lsblk

Keen vun dëse Blockapparaten sollten eng Partitionstabell hunn. Dir kënnt dëst mam Kommando bestätegen.

# blkid -p /dev/xvdb

Wann Dir keen Output kritt, heescht et datt Är Blockapparater keng Partitionstabelle op hinnen wunnen. Wéi och ëmmer, am Fall wou eng Partitionstabell existéiert, kënnt Dir se mat dem Kommando wëschen:

# wipefs -a /<device-path>

Dir kënnt e Stratis Pool vun engem eenzege Blockapparat erstellen mat der Syntax.

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

Zum Beispill fir e Pool aus /dev/xvdb ze kreéieren, fuert de Kommando.

# stratis pool create my_pool_1 /dev/xvdb

Ze confirméieren der geschaf Pool lafen.

# stratis pool list

Fir e Pool vu verschiddenen Apparater ze kreéieren, benotzt d'Syntax hei drënner all d'Apparater op enger Linn ze lëschten.

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

Fir e Pool aus /dev/xvdc ze kreéieren, /dev/xvdd an /dev/xvde de Kommando ausféieren.

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

Nach eng Kéier, lëscht d'Pools verfügbar mat dem Kommando.

# stratis pool list

Zu dësem Zäitpunkt sollt Dir 2 Poolen hunn: my_pool_1 a my_pool_2.

Wéi Dir hei uewen kënnt gesinn, ass den Hard Disk Space besat vum Pool my_pool_2 dräimol dee vum éischte Pool dee mir aus nëmmen engem Blockapparat mat enger Erënnerung vun 10GB erstallt hunn.

Nodeems Dir Äre Dateiesystem erstallt hutt, kënnt Dir e Dateiesystem vun engem vun de Poole mat der Syntax erstellen.

# stratis fs create <poolname> <filesystemname>

Zum Beispill, fir Dateiesystem-1 a Dateisystem-2 vu my_pool_1 a my_pool_2 ze kreéieren respektiv Kommandoen lafen:

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

Fir déi nei erstallt Dateiesystemer ze gesinn, fuert de Kommando aus.

# stratis fs list

Fir d'Resultater vun engem Dateiesystem op ee Pool ze schmuel, fuert de Kommando:

# stratis fs list <poolname>

Zum Beispill, fir de Dateiesystem an my_pool_2 ze kontrolléieren, lafen de Kommando.

# stratis fs list my_pool_2

Elo, wann Dir de lsblk Kommando leeft, da sollt d'Ausgab e bëssen ähnlech sinn wéi d'Proufausgang hei drënner.

# lsblk

Mir wäerten elo déi existent Dateiesystemer montéieren fir Zougang zu hinnen ze kréien. Als éischt erstellt d'Montagepunkte.

Fir de Dateiesystem am éischte Pool, lafen de Kommando:

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

Fir den zweeten Dateiesystem am zweete Pool, lafen de Kommando.

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

Fir d'Existenz vun den aktuellen Mountpunkten z'iwwerpréiwen, lafen df Kommando:

# df -Th | grep  stratis

Perfekt! Mir kënne kloer gesinn datt eis Montéierungspunkte präsent sinn.

D'Montage Punkten, déi mir just erstallt hunn, kënnen net e Restart iwwerliewen. Fir se persistent ze maachen, kritt als éischt den UUID vun all de Dateiesystemer:

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

Fuert elo weider a kopéiert d'UUID's a Mountpunktoptiounen op /etc/fstab wéi gewisen.

# 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

Fir de System fir déi nei Konfiguratioun ze registréieren, lafen de Kommando:

# systemctl daemon-reload

Fir z'iwwerpréiwen datt d'Konfiguratioun funktionnéiert wéi erwaart, montéiert d'Dateiesystemer.

# mount /data
# mount /block

Fir e Dateiesystem ze läschen, musst Dir als éischt de Dateisystem demontéieren wéi gewisen.

# umount /mount-point

An dësem Fall wäerte mir hunn.

# umount /data

Fir de Dateiesystem ze zerstéieren, benotzt d'Syntax:

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

Also, mir wäerten hunn:

# stratis filesystem destroy my_pool_1 filesystem-1

Fir d'Entfernung vum Dateiesystem ze bestätegen, gitt de Kommando aus.

# stratis filesystem list my_pool_1

Vun der Ausgab kënne mir kloer gesinn datt de Dateiesystem assoziéiert mat my_pool_1 geläscht gouf.

Dir kënnt eng Disk an e bestehende Pool addéieren mam Kommando:

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

Zum Beispill, fir eng zousätzlech Disk /dev/xvdf op my_pool_1 ze addéieren, fuert de Kommando:

# stratis pool add-data my_pool_1 /dev/xvdf

Notéiert datt d'Gréisst vum my_pool_1 duebel an der Gréisst ass nodeems de extra Volume bäigefüügt gouf.

E Snapshot ass eng dënn virgesinn Liesung a schreift eng Kopie vun engem Dateiesystem zu engem bestëmmten Zäitpunkt.

Fir e Snapshot ze kreéieren, fuert de Kommando:

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

An dësem Fall wäert de Kommando sinn:

# stratis fs snapshot my_pool_2 filesystem-2 mysnapshot

Dir kënnt d'Datenattributer -$ (Datum +%Y-%m-%d) op de Snapshot addéieren den Datumtag bäizefügen wéi am Screenshot hei ënnen.

Fir d'Schafung vum Snapshot z'iwwerpréiwen, fuert de Kommando:

# stratis filesystem list <poolname>

An dësem Fall wäert de Kommando sinn:

# stratis filesystem list my_pool_2

Fir e Stratis Dateiesystem op e virdru erstallt Snapshot zréckzekréien, éischtens, demontéiert an zerstéiert den originale Dateiesystem.

# umount /stratis/<poolname>/filesystem

An eisem Szenario wäert dat sinn.

# umount /stratis/my_pool_2/filesystem-2

Erstellt dann eng Kopie vum Snapshot mam Original Dateisystem:

# stratis filesystem snapshot <poolname> filesystem-snapshot filesystem

De Kommando wäert sinn:

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

Endlech montéiert de Snapshot.

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

Fir de Snapshot ze läschen, demontéiert als éischt de Snapshot.

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

Als nächst gitt weider an zerstéiert de Snapshot:

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

Fir e Stratis Pool ze läschen, befollegt déi einfach Schrëtt hei ënnen.

1. Lëscht vun de Dateiesystemer déi am Pool existéieren.

# stratis filesystem list <poolname>

2. Als nächst, unmount all Dateiesystemer am Pool.

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

3. Zerstéiert d'Dateiesystemer.

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

4. An dann, lass vun der Pool.

# stratis pool destroy poolname

An dësem Fall wäert d'Syntax sinn.

# stratis pool destroy my_pool_2

Dir kënnt d'Pool Lëscht erëm verifizéieren.

# stratis pool list

Endlech, läschen d'Entréen am /etc/fstab fir d'Dateisystemer.

Mir sinn um Enn vum Guide komm. An dësem Tutorial werfe mir d'Liicht op wéi Dir Stratis installéiere kënnt a benotze fir gelagert lokal Lagerung op RHEL ze managen. Mir hoffen Dir hutt et nëtzlech fonnt. Gitt et e Schoss a loosst eis wëssen wéi et gaangen ass.