Sådan installeres Stratis til styring af lagret lokal lagring på RHEL 8


Stratis er en af de nye funktioner, der leveres med RHEL 8-distribution. Stratis er en lokal lagerstyringsløsning, der fokuserer på enkelhed og forbedret brugervenlighed og samtidig giver adgang til avancerede lagerfunktioner. Det bruger XFS-filsystemet og giver dig adgang til avancerede lagringsfunktioner såsom:

  • Tynd klargøring
  • Snapshots til filsystemer
  • Tiering
  • Poolbaseret styring
  • Overvågning

Dybest set er Stratis en lagringspool, der oprettes fra en eller flere lokale diske eller diskpartitioner. Stratis hjælper en systemadministrator med at opsætte og administrere komplekse lagerkonfigurationer.

Før vi går videre, så lad os se på nogle af de tekniske termer, du er nødt til at støde på, når vi går videre:

  • pool: En pool består af en eller flere blokkenheder. Den samlede størrelse af puljen er lig med summen af blokkenhederne.
  • blockdev: Som du måske har gættet henviser dette til blokeringsenheder såsom diskpartitioner.
  • Filsystem: Et filsystem er et tyndt tilvejebragt lag, der ikke kommer i en samlet fast størrelse. Filsystemets faktiske størrelse vokser, når data tilføjes. Stratis vokser automatisk størrelsen på filsystemet, da datastørrelsen nærmer sig den virtuelle størrelse på filsystemet.

Bloker enheder, som du kan bruge med Stratis, inkluderer:

  1. LVM logiske bind
  2. LUKS
  3. SSD'er (Solid State-drev)
  4. Multipart til enhedskort
  5. iSCSI
  6. HDD'er (harddiskdrev)
  7. bange
  8. NVMe-lagerenheder

Stratis leverer 2 softwareværktøjer:

  • Stratis-cli: Dette er kommandolinjeværktøjet, der leveres med Stratis.
  • Stratisd-dæmon: Dette er en dæmon, der opretter og administrerer blokkenheder og spiller en rolle i leveringen af en DBUS API.

Sådan installeres Stratis på RHEL 8

Efter at have set på hvad Stratis er og defineret et par terminologier. Lad os nu installere og konfigurere Stratis på RHEL 8-distribution (fungerer også på CentOS 8).

Lad os se, hvordan du kan installere Stratis på dit RHEL 8-system, logge ind som root-bruger og køre kommandoen.

# dnf install stratisd stratis-cli

For at finde flere oplysninger om de installerede pakker skal du køre kommandoen.

# rpm -qi stratisd stratis-cli

Efter den vellykkede installation af Stratis, start tjenesten ved at køre kommandoen.

# systemctl enable --now stratisd

For at kontrollere status for Stratis skal du køre kommandoen.

# systemctl status stratisd

For at oprette en Stratis-pool har du brug for blokkenheder, der ikke er i brug eller monteret. Det antages også, at Stratisd-tjenesten er i gang. Derudover skal de blokkenheder, du vil bruge, være mindst 1 GB i størrelse.

På vores RHEL 8-system har vi fire yderligere blokkenheder: /dev/xvdb , /dev/xvdc , /dev/xvdd , < kode>/dev/xvde . For at vise blokkenhederne skal du køre kommandoen lsblk.

# lsblk

Ingen af disse blokkenheder skal have en partitionstabel. Du kan bekræfte dette ved hjælp af kommandoen.

# blkid -p /dev/xvdb

Hvis du ikke får noget output, betyder det, at dine blokkenheder ikke har nogen partitionstabel. I tilfælde af, at der findes en partitionstabel, kan du slette den ved hjælp af kommandoen:

# wipefs -a /<device-path>

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

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

For eksempel for at oprette en pool fra /dev/xvdb kør kommandoen.

# stratis pool create my_pool_1 /dev/xvdb

For at bekræfte den oprettede poolkørsel.

# stratis pool list

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

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

For at oprette en pool fra /dev/xvdc skal du køre kommandoen /dev/xvdd og /dev/xvde .

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

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

# stratis pool list

På dette tidspunkt skal du have to pools: my_pool_1 og my_pool_2.

Som du kan se ovenfor, er harddiskpladsen, der er optaget af pool my_pool_2, tre gange større end den første pool, som vi oprettede fra kun en blokenhed med en hukommelse på 10 GB.

Når du har oprettet dit filsystem, kan du oprette et filsystem fra en af puljerne ved hjælp af syntaksen.

# stratis fs create <poolname> <filesystemname>

For eksempel at oprette filsystem-1 og filsystem-2 fra henholdsvis my_pool_1 og my_pool_2 kør kommandoer:

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

For at se de nyoprettede filsystemer skal du køre kommandoen.

# stratis fs list

For at indsnævre resultaterne af et filsystem til en pool skal du køre kommandoen:

# stratis fs list <poolname>

For eksempel, for at kontrollere filsystemet i my_pool_2 skal du køre kommandoen.

# stratis fs list my_pool_2

Nu, hvis du kører kommandoen lsblk, skal output være noget, der ligner eksemplet på output nedenfor.

# lsblk

Vi skal nu montere de eksisterende filsystemer for at få adgang til dem. Opret først monteringspunkterne.

For filsystemet i den første pool skal du køre kommandoen:

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

For det andet filsystem i den anden pool skal du køre kommandoen.

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

Kør df-kommandoen for at kontrollere eksistensen af de nuværende monteringspunkter:

# df -Th | grep  stratis

Perfekt! Vi kan tydeligt se, at vores monteringspunkter er til stede.

De monteringspunkter, vi lige har oprettet, kan ikke overleve en genstart. For at gøre dem vedholdende skal du først hente UUID for hvert af filsystemerne:

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

Fortsæt nu og kopier UUID'erne og monteringspunktindstillingerne til/etc/fstab som vist.

# 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

For at systemet skal registrere den nye konfiguration, skal du køre kommandoen:

# systemctl daemon-reload

For at kontrollere, at konfigurationen fungerer som forventet, skal du montere filsystemerne.

# mount /data
# mount /block

For at fjerne et filsystem skal du først afmontere filsystemet som vist.

# umount /mount-point

I dette tilfælde vil vi have.

# umount /data

For at ødelægge filsystemet skal du bruge syntaksen:

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

Så vi får:

# stratis filesystem destroy my_pool_1 filesystem-1

For at bekræfte fjernelsen af filsystemet skal du udstede kommandoen.

# stratis filesystem list my_pool_1

Fra output kan vi tydeligt se, at filsystemet tilknyttet my_pool_1 er blevet slettet.

Du kan tilføje en disk til en eksisterende pool ved hjælp af kommandoen:

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

Hvis du f.eks. Vil tilføje en ekstra disk /dev/xvdf til my_pool_1, skal du køre kommandoen:

# stratis pool add-data my_pool_1 /dev/xvdf

Bemærk, at størrelsen på my_pool_1 har dobbelt størrelse efter tilføjelse af den ekstra lydstyrke.

Et øjebliksbillede er en tyndt klarlagt læsning og skriver en kopi af et filsystem på et givet tidspunkt.

For at oprette et øjebliksbillede skal du køre kommandoen:

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

I dette tilfælde vil kommandoen være:

# stratis fs snapshot my_pool_2 filesystem-2 mysnapshot

Du kan føje dataattributten - & # 36 (date +% Y-% m-% d) til snapshotet, tilføj datotagget som vist på nedenstående skærmbillede.

For at kontrollere oprettelsen af øjebliksbillede skal du køre kommandoen:

# stratis filesystem list <poolname>

I dette tilfælde vil kommandoen være:

# stratis filesystem list my_pool_2

Hvis du vil gendanne et Stratis-filsystem til et tidligere oprettet øjebliksbillede, skal du først afmontere og ødelægge det originale filsystem.

# umount /stratis/<poolname>/filesystem

I vores scenario vil dette være.

# umount /stratis/my_pool_2/filesystem-2

Opret derefter en kopi af snapshotet ved hjælp af det originale filsystem:

# stratis filesystem snapshot <poolname> filesystem-snapshot filesystem

Kommandoen vil være:

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

Til sidst monteres snapshotet.

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

For at fjerne snapshotet skal du først afmontere snapshotet.

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

Fortsæt derefter og ødelæg snapshotet:

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

For at fjerne en Stratis-pool skal du følge de enkle trin nedenfor.

1. Angiv de filsystemer, der findes i puljen.

# stratis filesystem list <poolname>

2. Afmonter derefter alle filsystemerne i puljen.

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

3. Ødelæg filsystemerne.

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

4. Og så slippe af med poolen.

# stratis pool destroy poolname

I dette tilfælde vil syntaksen være.

# stratis pool destroy my_pool_2

Du kan bekræfte poollisten igen.

# stratis pool list

Fjern til sidst posterne i/etc/fstab for filsystemerne.

Vi er kommet til slutningen af guiden. I denne vejledning kaster vi lys over, hvordan du kan installere og bruge Stratis til at styre lagdelt lokal lagring på RHEL. Vi håber, du fandt det nyttigt. Giv det et skud, og lad os vide, hvordan det gik.