rød hat

Sådan håndteres lagdelt lokal opbevaring med Stratis på RHEL 8

Sådan håndteres lagdelt lokal opbevaring med Stratis på RHEL 8
Stratis er en lokal administrationsopbevaringsløsning fra RedHat-teamet introduceret med RHEL 8, der gør det muligt for systemadministratorer at konfigurere avancerede lagerfunktioner såsom:

  1. Poolbaseret ledelse
  2. Tynd klargøring
  3. Snapshots af filsystemet
  4. Overvågning

Stratisd er dæmonen bag Stratis og hjælper med at konfigurere lagringskomponenter under XFS-filsystemet og enhedskortdelsystemet. I øjeblikket støtter Stratis LVM logiske diskenheder, harddiske, SSD'er, NVMe, og ISCI'er lagringsenheder.

Lad os nu tage et dyk og se på nogle grundlæggende nøgleudtryk

  1. blockdev: Dette er en terminologi, der henviser til blokeringsenheder.
  2. Pool: En pool kan bestå af enten en enkelt eller flere blokanordninger. En stratis pools størrelse svarer til summen af ​​de blokkenheder, der udgør puljen.
  3. Filsystem: Et filsystem er et tyndt tilvejebragt lag, hvis størrelse vokser, når flere oplysninger eller data tilføjes. Størrelsen på et filsystem skaleres automatisk op af Stratis, da data vokser næsten til det virtuelle filsystems størrelse.

Stratis består af:

  1. Stratisd dæmon: En dæmon, der gør det muligt for en bruger at administrere blokkenheder.
  2. Stratis-cli: Et kommandolinjeværktøj, der følger med Stratis.

Installation af Stratis på RHEL 8

Efter kort introduktion af Stratis, hvad det gør og dets komponenter, lad os nu installere Stratis på RHEL 8

For at installere Stratis på RHEL 8 skal du logge ind som root-bruger og køre kommandoen:

# dnf installer stratisd stratis-cli

Når du bliver bedt om det, skal du skrive y for at fortsætte med installationen. Hvis alt gik godt, skulle du være i stand til at få output nedenfor, der bekræfter, at alt gik godt.

For at bekræfte installationen af ​​stratis-pakkerne skal du køre kommandoen:

# rpm -q stratisd stratis-cli

Starter Stratis-service på RHEL 8

For at starte Stratis-tjenesten skal du udføre kommandoen:

# systemctl aktiver - nu stratisd

Bekræft derefter status for Stratis ved at køre kommandoen:

# systemctl status stratisd

Fra ovenstående output kan vi se, at Stratis er i gang.

Oprettelse af en Stratis-pool

Inden du begynder med oprettelsen af ​​en Stratis-pool, skal du sikre dig, at blokkenhederne på dit system har mindst 1 GB. Derudover skal disse enheder være afmonteret og inaktiv. Derudover skal stratisd-dæmonen køre. i vores opsætning er der 5 blokkenheder bortset fra den primære partition:

  1. / dev / xvdb
  2. / dev / xvdc
  3. / dev / xvdd
  4. / dev / xvde
  5. / dev / xvdf

Du kan få et glimt af de eksisterende blokkenheder ved at køre kommandoen:

# lsblk

Det er også afgørende at sikre, at blokkenhederne ikke har en eksisterende partitionstabel.

Bekræft dette ved hjælp af syntaksen:

# blkid -p /

For eksempel

# blkid -p / dev / xvdb

Intet output betyder, at der ikke findes nogen partitionstabel på blokkenhederne. Men hvis der findes en partitionstabel på en af ​​enhederne, kan du udslette partitionen ved hjælp af kommandoen:

# wipefs -a /

Oprettelse af en Stratis Pool fra en blokanordning

Du kan oprette en Stratis-pool fra en enkelt blok-enhed ved hjælp af syntaksen:

# stratis pool oprette  

For eksempel at oprette en pool pool_1 fra blokken  / dev / xvdb løb:

# stratis pool oprette pool_1 / dev / xvdb

For at liste den oprettede pool skal du køre:

# stratis pool liste

Fra ovenstående output kan vi tydeligt se, at en ny pool, pool_1 er oprettet.

Opret en Stratis Pool fra flere blokkenheder

For at oprette en pool fra flere enheder skal du bruge syntaksen nedenfor med en liste over alle enheder på en linje

# stratis pool oprette

At oprette en pool fra / dev / xvdc og  / dev / xvdd kør kommandoen:

# stratis pool opret pool_2 / dev / xvdc / dev / xvdd /

Angiv endnu en gang de tilgængelige puljer ved hjælp af kommandoen:

# stratis pool liste

På dette tidspunkt skal du have to puljer:  pool_1 og pool_2

Fra ovenstående output kan vi tydeligt bemærke, at pool_2 er dobbelt så stor som pool_1, fordi den består af to blokkenheder, der hver har et fysisk volumen på 10 GB.

Oprettelse af et filsystem fra en pool

Fra en af ​​de tidligere oprettede Stratis-puljer kan du oprette et filsystem ved hjælp af syntaksen nedenfor:

# stratis fs oprette  

For eksempel at oprette et filsystem fs_1 fra pool_1 udfør kommandoen:

# stratis fs oprette pool_1 fs_1

Du kan også oprette mere end 1 filsystem fra en pool. I den anden pool opretter vi 2 filsystemer: 

fs_2 
& fs_3
# stratis fs oprette pool_2 fs_2
# stratis fs oprette pool_2 fs_3

For at få vist de nye filsystemer skal du udføre:

# stratis fs liste

Brug syntaksen til at liste filsystemer i en given pool

# stratis fs liste

For eksempel for at se de filsystemer, der findes i pool_1, skal du køre kommandoen:

# stratis fs liste pool_1

Til pool_2-kørsel:

# stratis fs liste pool_2

Som forventet har vi 2 filsystemer i den anden pool.

På dette tidspunkt kører du  lsblk kommando giver output svarende til nedenstående:

Sådan monteres et Stratis-filsystem

For at få adgang til filsystemerne skal vi først montere dem. Det første trin vil være at oprette monteringspunkter for hvert af filsystemerne. Dette er opsummeret i nedenstående tabel

Filsystem Mount Point
fs_1 /opbevaring
fs_2 / database
fs_3 / backup

Så lav det første monteringspunkt til filsystemet i pool_1

# mkdir / opbevaring

Monter derefter filsystemet

# mount / Stratis / pool_1 / fs_1 / storage

Følg den samme procedure for at montere det andet filsystem:

# mkdir / database

Monter filsystemet:

# mount / stratis / pool_2 / fs_2 / database

Og endelig til det sidste filsystem:

# mkdir / backup

Monter filsystemet:

# mount / stratis / pool_2 / fs_3 / backup

Du kan bekræfte eksistensen af ​​monteringspunkter ved hjælp af kommandoen:

# df -Th | grep stratis

Gør stratis filsystemer vedvarende

De filsystemer, vi lige har oprettet, overlever ikke en genstart. For at gøre dem vedholdende skal vi føje dem til / etc / fstab fil.

Lad os først hente UUID for filsystemerne som vist

# blkid -p / stratis / pool_1 / fs_1
# blkid -p / stratis / pool_2 / fs_2
# blkid -p / stratis / pool_2 / fs_3

# echo "UUID = 9161da55-6c4b-4761-9da9-1b3999945964 / storage
xfs er standard 0 0 "| sudo tee -a / etc / fstab
# echo "UUID = ddfa4252-a9d6-4c10-8981-e7dbd56450ee / database
xfs er standard 0 0 "| sudo tee -a / etc / fstab
# echo "UUID = 512bc0b7-182e-46ed-9fbd-d5be4d055fcf / backup
xfs er standard 0 0 "| sudo tee -a / etc / fstab

Du kan bekræfte tilføjelsen af ​​filsystemerne til / etc / fstab som vist:

For at ændringerne skal træde i kraft på systemet, skal du køre kommandoen:

# systemctl dæmon-genindlæs

Monter derefter alle filsystemerne

# mount -a

Tilføjelse af en blokenhed til en Stratis-pool

For at tilføje en blokenhed til en eksisterende Stratis-pool skal du køre kommandoen:

# stratis pool add-data

For eksempel at tilføje blokvolumen  / dev / xvde til  pool_1 kør kommandoen:

# stratis pool add-data pool_1 / dev / xvde

Tjek nu størrelsen på  pool_1

# stratis pool liste

Som observeret er størrelsen på pool_1 er fordoblet som et resultat af den tilføjede blokanordning.

Oprettelse af et Stratis-øjebliksbillede

Et stratis-filsystem er en nøjagtig kopi eller replika af et andet Stratis-filsystem. Den indeholder det samme indhold som det originale filsystem. Et øjebliksbillede kan dog senere ændres, og der vil derefter være forskelle mellem øjebliksbillede og det originale filsystem.

Her er et par ting, du også bør vide:

  1. Et øjebliksbillede af et filsystem er simpelthen et andet replika-filsystem.
  2. Du behøver ikke montere et filsystem for at kunne oprette et øjebliksbillede ud fra det.
  3. Et snapshottet filsystem kan overleve det originale filsystem, det blev oprettet fra

For at oprette et øjebliksbillede skal du bruge syntaksen:

# stratis fs øjebliksbillede

For eksempel at oprette et snapshot kaldet snapshot_1 i pool_1 kør kommandoen

# stratis fs snapshot pool_1 fs_1 snapshot_1

Dette tager cirka 30 sekunder.

For at bekræfte oprettelsen af ​​snapshotet skal du udføre:

# stratis filsystemliste

I dette tilfælde vil kommandoen være:

# stratis filsystemliste pool_1

Derudover kan du tilføje datoattributten (-$ (dato +% Y-% m-% d) for let at identificere, hvornår snapshotet blev oprettet. Lad os oprette et andet øjebliksbillede ved hjælp af den anden pool.

# stratis fs snapshot pool_2 fs_2 snapshot_2 - $ (dato +% Y-% m-% d)

For at liste det nyoprettede Stratis-øjebliksbillede udsted kommandoen:

# stratis filsystemliste pool_2

Fra ovenstående output kan vi se et øjebliksbillede oprettet i pool_2 med et datomærke.

Sådan vender du tilbage til et tidligere øjebliksbillede ved hjælp af et filsystem

For at vende tilbage til et tidligere øjebliksbillede ved hjælp af et filsystem, skal du først afmontere og ødelægge det originale filsystem.

# umount / stratis //filsystem

For eksempel i  pool_2  at vende tilbage til snapshot_2 afmonter filsystemet fs_2

# umount / stratis / pool_2 / fs_2

Opret derefter en kopi af snapshotet fra det originale filsystem

# stratis filsystem snapshot
øjebliksbillede fs-mountpoint

Kommandoen er:

# stratis filsystem snapshot pool_2 snapshot_2-2019-11-15 database

Endelig monteres snapshotet ved hjælp af filsystemets monteringspunkt

# mount / stratis / pool_2 / fs_2 / database

Fjernelse af et Stratis-øjebliksbillede

For at fjerne et Stratis-øjebliksbillede skal du først afmontere snapshotet.

# umount / snapshot_mountpoint

For at fjerne det snapshot, der blev oprettet i pool_2, afmonter monteringspunktet som vist

# umount / database

Fortsæt derefter og ødelæg snapshotet:

# stratis filsystem ødelægger

Kommandoen er:

# stratis filsystem ødelægger pool_2 snapshot_2-2019-11-15

Prøv nu at liste filsystemerne i pool_2. Du bemærker, at øjebliksbilledet nu er væk.

# stratis filsystemliste pool_2

Fjernelse af et Stratis-filsystem

For at slippe af med et filsystem skal du først afmontere filsystemet ved hjælp af syntaksen nedenfor:

# umount / stratis / pool / filesystem

For eksempel at fjerne filsystemet fs_1 i pool_1, afmonter det først som vist:

# umount / stratis / pool_1 / fs_1

Dernæst ødelæg filsystemet ved hjælp af syntaksen nedenfor:

# stratis filsystem ødelægger pool fs

I vores scenario vil kommandoen være:

# stratis filsystem ødelægger pool_1 fs_1

For at bekræfte, at filsystemet blev fjernet, skal du køre kommandoen:

# stratis filsystemliste pool_1

Som du kan se, eksisterer filsystemet ikke længere.

Fjernelse af en Stratis-pool

Lad os endelig se, hvordan du kan fjerne en Stratis-pool.

For at fjerne en stratis pool skal du afmontere og ødelægge ethvert filsystem og snapshot i puljen, som vi så i de foregående underemner.

Da der er et øjebliksbillede tilbage på pool_1, skal vi først fjerne det ved først at fjerne monteringspunktet, der er knyttet til øjebliksbillede

# umount / storage

Dernæst ødelægge filsystemet.

# stratis filsystem ødelægger pool_1 snapshot_1

Når snapshotet nu er fjernet, skal du fjerne pool_1 ved hjælp af kommandoen

# stratis pool ødelægge pool_1

Liste nu over de tilgængelige puljer:

# stratis pool liste

At fjerne pool_2 , lad os først liste filsystemerne

# stratis filsystemliste pool_2

Afmonter og ødelæg filsystemerne som vist

# umount / stratis / pool_2 / fs_3
# stratis filsystem ødelægger pool_2 fs_3
# stratis filsystem ødelægger pool_2-database

Dernæst ødelæg poolen og opreg puljerne

# stratis pool ødelægge pool_2
# stratis pool liste

Perfekt ! alle puljer er væk nu. Vi er gået tilbage til hvor vi startede ! Du kan bekræfte igen ved at angive låseanordningerne ved hjælp af kommandoen:

og hvordan du kan bruge det til at administrere blokkenheder, oprette snapshots, filsystemer og puljer og også fjerne dem. Dine tanker og feedback er meget velkomne.

Referencer:

  • https: // adgang.rød hat.com / dokumentation / da-os / red_hat_enterprise_linux / 8 / html / manage_file_systems / management-lagdelte-lokal-lager-med-stratis_managing-fil-systemer
  • https: // www.tecmint.com / install-stratis-to-manage-layered-local-storage-on-rhel /
Kamp om Wesnoth 1.13.6 Udvikling frigivet
Kamp om Wesnoth 1.13.6 udgivet i sidste måned, er den sjette udviklingsudgivelse i 1.13.x-serien, og den leverer en række forbedringer, især til bruge...
Sådan installeres League Of Legends på Ubuntu 14.04
Hvis du er fan af League of Legends, er dette en mulighed for dig at prøvekøre League of Legends. Bemærk, at LOL understøttes på PlayOnLinux, hvis du ...
Installer det nyeste OpenRA-strategispil på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spilmotor, der genskaber de tidlige Westwood-spil som det klassiske Command & Conquer: Red Alert. Distrib...