Rød hatt

Hvordan håndtere lagdelt lagring med Stratis på RHEL 8

Hvordan håndtere lagdelt lagring med Stratis på RHEL 8
Stratis er en lagringsløsning for lokaladministrasjon av RedHat-teamet introdusert med RHEL 8 som gjør det mulig for systemadministratorer å konfigurere avanserte lagringsfunksjoner som:

  1. Bassengbasert ledelse
  2. Tynn proviant
  3. Øyeblikksbilder av filsystemet
  4. Overvåkning

Stratisd er daemon bak Stratis og hjelper til med å konfigurere lagringskomponenter under XFS filsystem og enhetskartlegging delsystem. For øyeblikket støtter Stratis LVM logiske volumer, harddisk, SSD-er, NVMe, og ISCI lagringsenheter.

La oss nå ta et dykk og se på noen grunnleggende nøkkelord

  1. blockdev: Dette er en terminologi som refererer til blokkeringsenheter.
  2. Basseng: Et basseng kan bestå av enten en enkelt eller flere blokkeringsenheter. En stratis pool størrelse vil være ekvivalent med summen av blokkenheter som utgjør bassenget.
  3. Filsystem: Et filsystem er et tynt tilrettelagt lag hvis størrelse vokser når mer informasjon eller data blir lagt til. Størrelsen på et filsystem skaleres opp automatisk av Stratis ettersom data vokser nesten til størrelsen på det virtuelle filsystemet.

Stratis Består av:

  1. Stratisd-demon: En demon som gjør det mulig for en bruker å administrere blokkeringsenheter.
  2. Stratis-cli: Et kommandolinjeverktøy som følger med Stratis.

Installere Stratis på RHEL 8

Etter å ha kort introdusert Stratis, hva det gjør og dets komponenter, la oss nå installere Stratis på RHEL 8

For å installere Stratis på RHEL 8, logg inn som rotbruker og kjør kommandoen:

# dnf installer stratisd stratis-cli

Når du blir bedt om det, skriver du inn y for å fortsette med installasjonen. Hvis alt gikk bra, bør du kunne få utdataene nedenfor som bekrefter at alt gikk bra.

For å bekrefte installasjonen av stratis-pakkene, kjør kommandoen:

# rpm -q stratisd stratis-cli

Starter Stratis-tjenesten på RHEL 8

For å starte Stratis-tjenesten, utfør kommandoen:

# systemctl aktivere - nå stratisd

Deretter bekrefter du statusen til Stratis ved å kjøre kommandoen:

# systemctl status stratisd

Fra produksjonen ovenfor kan vi observere at Stratis er i gang.

Opprette et Stratis-basseng

Før du begynner med opprettelsen av et Stratis-basseng, må du forsikre deg om at blokkene på systemet ditt har minst 1 GB. I tillegg må disse enhetene være avmontert og inaktiv. I tillegg må stratisd-demon kjøre. i vårt oppsett er det 5 blokkeringsenheter bortsett fra den primære partisjonen:

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

Du kan få et glimt av eksisterende blokkeringsenheter ved å kjøre kommandoen:

# lsblk

Det er også viktig å sikre at blokkeringsenhetene ikke har en eksisterende partisjonstabell.

Bekreft dette ved hjelp av syntaksen:

# blkid -p /

For eksempel

# blkid -p / dev / xvdb

Ingen utgang innebærer at det ikke finnes noen partisjonstabell på blokkeringsenhetene. Imidlertid, hvis det finnes en partisjonstabell på en av enhetene, kan du tørke ut partisjonen ved hjelp av kommandoen:

# wipefs -a /

Opprette et Stratis-basseng fra en enhet

Du kan opprette et Stratis-basseng fra en enkelt blokk-enhet ved hjelp av syntaksen:

# stratis pool create  

For eksempel for å lage et basseng basseng_1 fra blokkeringsenheten  / dev / xvdb løpe:

# stratis pool lage pool_1 / dev / xvdb

For å liste opp bassenget som er opprettet, kjør:

# stratis bassengliste

Fra produksjonen ovenfor kan vi tydelig se at et nytt basseng, basseng_1 har blitt skapt.

Lag et Stratis-basseng fra flere blokkeringsenheter

For å lage et basseng fra flere enheter, bruk syntaksen nedenfor og oppfør alle enhetene på en linje

# stratis pool create

Å lage et basseng fra / dev / xvdc og  / dev / xvdd kjør kommandoen:

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

Nok en gang, liste opp de tilgjengelige bassengene ved hjelp av kommandoen:

# stratis bassengliste

På dette tidspunktet bør du ha to bassenger:  pool_1 og pool_2

Fra utdataene ovenfor kan vi tydelig merke oss at pool_2 er dobbelt så stor som pool_1 fordi den består av to blokkenheter, som hver har et fysisk volum på 10 GB.

Opprette et filsystem fra et basseng

Fra en av de tidligere opprettede Stratis-bassengene kan du opprette et filsystem ved hjelp av syntaksen nedenfor:

# stratis fs oppretter  

For eksempel for å lage et filsystem fs_1 fra basseng_1 utfør kommandoen:

# stratis fs oppretter pool_1 fs_1

Du kan også opprette mer enn 1 filsystem fra ett basseng. I det andre bassenget lager vi to filsystemer: 

fs_2 
& fs_3
# stratis fs oppretter pool_2 fs_2
# stratis fs oppretter pool_2 fs_3

For å vise de nye filsystemene, kjør nå:

# stratis fs liste

For å liste opp filsystemer i et gitt basseng, bruk syntaksen

# stratis fs liste

For eksempel, for å se filsystemene som finnes i pool_1, kjører du kommandoen:

# stratis fs list pool_1

For kjøring av pool_2:

# stratis fs list pool_2

Som forventet har vi to filsystemer i den andre poolen.

På dette punktet kjører du  lsblk kommandoen gir utdata som ligner på den nedenfor:

Hvordan montere et Stratis-filsystem

For å få tilgang til filsystemene, må vi først montere dem. Det første trinnet vil være å opprette monteringspunkter for hvert av filsystemene. Dette er oppsummert i tabellen nedenfor

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

Så lag det første monteringspunktet for filsystemet i basseng_1

# mkdir / lagring

Deretter monterer du filsystemet

# mount / Stratis / pool_1 / fs_1 / storage

Følg samme prosedyre for å montere det andre filsystemet:

# mkdir / database

Monter filsystemet:

# mount / stratis / pool_2 / fs_2 / database

Og til slutt for det siste filsystemet:

# mkdir / backup

Monter filsystemet:

# mount / stratis / pool_2 / fs_3 / backup

Du kan bekrefte eksistensen av monteringspunktene ved hjelp av kommandoen:

# df -Th | grep stratis

Gjør stratis filsystemer vedvarende

Filsystemene vi nettopp har opprettet, overlever ikke en omstart. For å gjøre dem vedvarende, må vi legge dem til i / etc / fstab fil.

La oss først hente UUID for filsystemene 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 / lagring
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 bekrefte tillegget til filsystemene til / etc / fstab som vist:

For at endringene skal tre i kraft på systemet, kjører du kommandoen:

# systemctl daemon-reload

Monter deretter alle filsystemene

# mount -a

Legge til en blokkanordning i et Stratis-basseng

For å legge til en blokkeringsenhet i et eksisterende Stratis-basseng, kjør kommandoen:

# stratis pool tilleggsdata

For eksempel for å legge til blokkvolumet  / dev / xvde til  basseng_1 kjør kommandoen:

# stratis pool add-data pool_1 / dev / xvde

Sjekk nå størrelsen på  basseng_1

# stratis bassengliste

Som observert, størrelsen på basseng_1 har doblet seg som et resultat av den ekstra blokkenheten.

Opprette et Stratis-øyeblikksbilde

Et stratis filsystem er en eksakt kopi eller kopi av et annet Stratis filsystem. Den inneholder samme innhold som det originale filsystemet. Et øyeblikksbilde kan imidlertid senere endres, og det vil da være forskjeller mellom øyeblikksbildet og det originale filsystemet.

Her er noen ting du også bør vite:

  1. Et øyeblikksbilde av et filsystem er ganske enkelt et annet replikafilsystem.
  2. Du trenger ikke montere et filsystem for å kunne lage et øyeblikksbilde av det.
  3. Et øyeblikksbilde-filsystem kan overleve det originale filsystemet det ble opprettet fra

For å lage et øyeblikksbilde, bruk syntaksen:

# stratis fs øyeblikksbilde

For eksempel for å lage et øyeblikksbilde som heter øyeblikksbilde_1 i basseng_1 kjør kommandoen

# stratis fs snapshot pool_1 fs_1 snapshot_1

Dette tar omtrent 30 sekunder.

For å bekrefte opprettelsen av øyeblikksbildet, utfør:

# stratis filsystemliste

I dette tilfellet vil kommandoen være:

# stratis filsystemliste pool_1

I tillegg kan du legge til datoattributtet (-$ (dato +% Y-% m-% d) for å enkelt identifisere når øyeblikksbildet ble opprettet. La oss lage et nytt øyeblikksbilde ved hjelp av det andre bassenget.

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

For å liste det nyopprettede øyeblikksbildet av Stratis, kommandoen:

# stratis filsystemliste pool_2

Fra utgangen ovenfor kan vi se et øyeblikksbilde opprettet i basseng_2 med en datomerking.

Hvordan gå tilbake til et forrige øyeblikksbilde ved hjelp av et filsystem

For å gå tilbake til et forrige øyeblikksbilde ved hjelp av et filsystem, må du først demontere og ødelegge det originale filsystemet.

# umount / stratis //filsystem

For eksempel i  basseng_2  å gå tilbake til øyeblikksbilde_2 demonter filsystemet fs_2

# umount / stratis / pool_2 / fs_2

Deretter oppretter du en kopi av øyeblikksbildet fra det originale filsystemet

# stratis filsystem øyeblikksbilde
øyeblikksbilde fs-mountpoint

Kommandoen vil være:

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

Til slutt monter øyeblikksbildet ved hjelp av filsystemets monteringspunkt

# mount / stratis / pool_2 / fs_2 / database

Fjerne et Stratis-øyeblikksbilde

For å fjerne et Stratis-øyeblikksbilde, må du først montere øyeblikksbildet.

# umount / snapshot_mountpoint

For å fjerne øyeblikksbildet opprettet i basseng_2, demonter festepunktet som vist

# umount / database

Neste, fortsett og ødelegg øyeblikksbildet:

# stratis filsystem ødelegger

Kommandoen vil være:

# stratis filsystem ødelegger pool_2 snapshot_2-2019-11-15

Prøv å føre opp filsystemene i pool_2. Du vil legge merke til at øyeblikksbildet nå er borte.

# stratis filsystemliste pool_2

Fjerne et Stratis-filsystem

For å kvitte deg med et filsystem, må du først montere filsystemet ved hjelp av syntaksen nedenfor:

# umount / stratis / pool / filesystem

For eksempel for å fjerne filsystemet fs_1 i basseng_1, demonter først den som vist:

# umount / stratis / pool_1 / fs_1

Deretter ødelegger du filsystemet ved hjelp av syntaksen nedenfor:

# stratis filsystem ødelegge pool fs

I vårt scenario vil kommandoen være:

# stratis filsystem ødelegger pool_1 fs_1

For å bekrefte at filsystemet ble fjernet, kjør kommandoen:

# stratis filsystemliste pool_1

Som du kan se, eksisterer ikke filsystemet lenger.

Fjerne et Stratis-basseng

Til slutt, la oss se hvordan du kan fjerne et Stratis-basseng.

For å fjerne et stratis-basseng, må du demontere og ødelegge eventuelle filsystemer og øyeblikksbilde i bassenget som vi så i forrige underemner.

Siden det er et øyeblikksbilde igjen på pool_1, skal vi først fjerne det ved først å fjerne monteringspunktet som er knyttet til øyeblikksbildet

# umount / storage

Deretter ødelegger filsystemet.

# stratis filsystem ødelegger pool_1 snapshot_1

Når øyeblikksbildet nå er fjernet, fjerner du pool_1 ved å bruke kommandoen

# stratis pool ødelegge pool_1

Nå viser bassengene som er tilgjengelige:

# stratis bassengliste

Å fjerne basseng_2 , la oss først liste opp filsystemene

# stratis filsystemliste pool_2

Demonter og ødelegg filsystemene som vist

# umount / stratis / pool_2 / fs_3
# stratis filsystem ødelegger pool_2 fs_3
# stratis filsystem ødelegger pool_2-databasen

Deretter ødelegger bassenget og liste opp bassengene

# stratis pool ødelegge pool_2
# stratis bassengliste

Perfekt ! alle bassengene er borte nå. Vi har gått tilbake til der vi startet ! Du kan bekrefte igjen ved å liste opp låsenhetene ved hjelp av kommandoen:

og hvordan du kan bruke den til å administrere blokkeringsenheter, lage øyeblikksbilder, filsystemer og bassenger og fjerne dem også. Dine tanker og tilbakemeldinger er hjertelig velkomne.

Referanser:

  • https: // tilgang.Rød hatt.no / dokumentasjon / no-us / red_hat_enterprise_linux / 8 / html / manage_file_systems / administrasjon-lagdelte-lokal-lagring-med-stratis_managing-fil-systemer
  • https: // www.tecmint.com / install-stratis-to-manage-layered-local-storage-on-rhel /
Mus Hvordan bruke Xdotool til å stimulere museklikk og tastetrykk i Linux
Hvordan bruke Xdotool til å stimulere museklikk og tastetrykk i Linux
Xdotool er et gratis og åpen kildekode kommandolinjeverktøy for å simulere museklikk og tastetrykk. Denne artikkelen vil dekke en kort guide om bruk a...
Mus Topp 5 ergonomiske datamuseprodukter for Linux
Topp 5 ergonomiske datamuseprodukter for Linux
Gir langvarig bruk av datamaskiner smerter i håndleddet eller fingrene? Lider du av stive ledd og må hele tiden riste på deg hendene? Føler du en bren...
Mus Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
De fleste Linux-distribusjoner leveres med "libinput" -biblioteket som standard for å håndtere inngangshendelser på et system. Den kan behandle inngan...