cappello rosso

Come gestire l'archiviazione locale a più livelli con Stratis su RHEL 8

Come gestire l'archiviazione locale a più livelli con Stratis su RHEL 8
Stratis È una soluzione di archiviazione a gestione locale del team RedHat introdotta con RHEL 8 che consente agli amministratori di sistema di configurare funzionalità di archiviazione avanzate come:

  1. Gestione basata su pool
  2. Provisioning sottile
  3. Istantanee del file system
  4. Monitoraggio

Stratisd è il demone dietro Stratis e aiuta nella configurazione dei componenti di archiviazione nel filesystem XFS e nel sottosistema di mappatura dei dispositivi. Al momento Stratis supporta Volumi logici LVM, dischi fissi, SSD, NVMe, e ISCI dispositivi di memoria.

Ora, facciamo un tuffo e diamo un'occhiata ad alcuni termini chiave di base

  1. blockdev: Questa è una terminologia che si riferisce ai dispositivi a blocchi.
  2. Piscina: Un pool può comprendere uno o più dispositivi a blocchi. La dimensione di una piscina in stratis sarà equivalente alla somma dei dispositivi a blocchi che compongono la piscina.
  3. File system: un filesystem è un livello di provisioning ridotto le cui dimensioni crescono man mano che vengono aggiunte più informazioni o dati. La dimensione di un file system viene scalata automaticamente da Stratis man mano che i dati crescono quasi fino alla dimensione del file system virtuale.

Stratis è costituito da:

  1. demone Stratisd: un demone che consente a un utente di gestire i dispositivi a blocchi.
  2. Strati-cli: Un'utilità da riga di comando fornita con Stratis.

Installazione di Stratis su RHEL 8

Dopo aver presentato brevemente Stratis, cosa fa e i suoi componenti, installiamo ora Stratis su RHEL 8

Per installare Stratis su RHEL 8, accedi come utente root ed esegui il comando:

# dnf install stratisd stratis-cli

Quando richiesto, digita y per procedere con l'installazione. Se tutto è andato bene, dovresti essere in grado di ottenere l'output di seguito che conferma che tutto è andato bene.

Per confermare l'installazione dei pacchetti stratis, eseguire il comando:

# rpm -q stratisd stratis-cli

Avvio del servizio Stratis su RHEL 8

Per avviare il servizio Stratis, eseguire il comando:

# systemctl enable --now stratisd

Successivamente, verifica lo stato di Stratis, eseguendo il comando:

# systemctl status stratisd

Dall'output sopra, possiamo osservare che Stratis è attivo e funzionante.

Creare una piscina Stratis

Prima di iniziare con la creazione di un pool Stratis, assicurati che i dispositivi a blocchi sul tuo sistema abbiano un minimo di 1 GB. Inoltre, questi dispositivi devono essere smontati e inattivi. Inoltre, il demone stratisd deve essere in esecuzione. nella nostra configurazione, ci sono 5 dispositivi a blocchi oltre alla partizione primaria:

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

Puoi dare un'occhiata ai dispositivi a blocchi esistenti eseguendo il comando:

# lsblk

Inoltre, è fondamentale assicurarsi che i dispositivi a blocchi non dispongano di una tabella delle partizioni esistente.

Confermalo utilizzando la sintassi:

# blkid -p /

Per esempio

# blkid -p /dev/xvdb

Nessun output implica che non esiste una tabella delle partizioni sui dispositivi a blocchi. Tuttavia, nel caso in cui esista una tabella delle partizioni su uno dei dispositivi, è possibile cancellare la partizione utilizzando il comando:

# wipef -a /

Creazione di un pool Stratis da un dispositivo a blocchi

È possibile creare un pool Stratis da un dispositivo a blocco singolo utilizzando la sintassi:

# piscina stratis create  

Ad esempio per creare una piscina piscina_1 dal dispositivo di blocco  /dev/xvdb correre:

# stratis pool create pool_1 /dev/xvdb

Per elencare il pool creato, eseguire:

# lista piscine stratis

Dall'output sopra, possiamo vedere chiaramente che un nuovo pool, piscina_1 è stato creato.

Crea un pool Stratis da più dispositivi a blocchi

Per creare un pool da più dispositivi, usa la sintassi di seguito che elenca tutti i dispositivi su una riga

# piscina stratis create

Per creare una piscina da /dev/xvdc e  /dev/xvdd eseguire il comando:

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

Ancora una volta, elenca i pool disponibili utilizzando il comando:

# lista piscine stratis

A questo punto dovresti avere 2 pool:  piscina_1 e piscina_2

Dall'output sopra, possiamo chiaramente notare che pool_2 è il doppio di pool_1 perché comprende due dispositivi a blocchi, ognuno dei quali ha un volume fisico di 10 GB.

Creazione di un filesystem da un pool

Da uno dei pool Stratis creati in precedenza, è possibile creare un filesystem utilizzando la sintassi seguente:

# stratis fs create  

Ad esempio, per creare un file system fs_1 a partire dal piscina_1 eseguire il comando:

# stratis fs create pool_1 fs_1

Inoltre, puoi creare più di 1 file system da un pool. Nel secondo pool, creeremo 2 file system: 

fs_2 
&fs_3
# stratis fs create pool_2 fs_2
# stratis fs create pool_2 fs_3

Ora, per visualizzare i nuovi filesystem, esegui:

# lista fs strati

Per elencare i filesystem in un dato pool, usa la sintassi

# lista stratis fs

Ad esempio, per visualizzare i file system esistenti in pool_1, eseguire il comando:

# stratis fs list pool_1

Per l'esecuzione pool_2:

# stratis fs list pool_2

Come previsto, abbiamo 2 filesystem nel secondo pool.

A questo punto, eseguendo il  lsblk comando produrrà un output simile a quello seguente:

Come montare un filesystem Stratis

Per accedere ai filesystem, dobbiamo prima di tutto montarli. Il primo passo sarà creare punti di montaggio per ciascuno dei filesystem. Questo è riassunto nella tabella seguente

File system Punto di montaggio
fs_1 /Conservazione
fs_2 /Banca dati
fs_3 /backup

Quindi, crea il primo punto di montaggio per il filesystem in piscina_1

# mkdir /storage

Quindi, monta il file system

# mount /Stratis/pool_1/fs_1  /storage

Per montare il secondo filesystem, segui la stessa procedura:

# mkdir /database

Montare il file system:

# mount /stratis/pool_2/fs_2  /database

E infine per l'ultimo filesystem:

# mkdir /backup

Montare il file system:

# mount /stratis/pool_2/fs_3  /backup

Puoi confermare l'esistenza dei punti di montaggio usando il comando:

# df -Th | grep strati

Rendi persistenti i filesystem stratis

I filesystem che abbiamo appena creato non sopravviveranno al riavvio. Per renderli persistenti, dobbiamo aggiungerli al /etc/fstab file.

Per prima cosa, recuperiamo l'UUID dei filesystem come mostrato

# 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 defaults 0 0" | sudo tee -a /etc/fstab
# echo "UUID=ddfa4252-a9d6-4c10-8981-e7dbd56450ee  /database
xfs defaults 0 0" | sudo tee -a /etc/fstab
# echo "UUID=512bc0b7-182e-46ed-9fbd-d5be4d055fcf /backup
xfs defaults 0 0" | sudo tee -a /etc/fstab

È possibile confermare l'aggiunta dei filesystem al /etc/fstab come mostrato:

Affinché le modifiche abbiano effetto sul sistema, eseguire il comando:

# systemctl daemon-reload

Quindi monta tutti i file system

# mount -a

Aggiunta di un dispositivo a blocchi a un pool Stratis

Per aggiungere un dispositivo a blocchi a un pool Stratis esistente, eseguire il comando:

# dati aggiuntivi piscina stratis

Ad esempio per aggiungere il volume del blocco  /dev/xvde per  piscina_1 eseguire il comando:

# pool di dati aggiuntivi pool stratis_1 /dev/xvde

Ora controlla la dimensione di  piscina_1

# lista piscine stratis

Come osservato, la dimensione di piscina_1 è raddoppiato a causa del dispositivo di blocco aggiunto.

Creazione di un'istantanea Stratis

Un filesystem Stratis è una copia esatta o replica di un altro filesystem Stratis. Contiene lo stesso contenuto del file system originale. Tuttavia, un'istantanea può essere modificata in seguito e da allora in poi esisteranno differenze tra l'istantanea e il filesystem originale.

Ecco alcune cose che dovresti sapere anche:

  1. Un'istantanea di un file system è semplicemente un altro file system di replica.
  2. Non è necessario montare un filesystem per poter creare un'istantanea da esso from.
  3. Un filesystem snapshot può sopravvivere al filesystem originale da cui è stato creato

Per creare uno snapshot, usa la sintassi:

# istantanea stratis fs

Ad esempio, per creare uno snapshot chiamato istantanea_1 nel piscina_1 eseguire il comando

# stratis fs snapshot pool_1 fs_1 snapshot_1

Ci vorranno circa 30 secondi.

Per confermare la creazione dello snapshot, esegui:

# lista del filesystem stratis

In questo caso il comando sarà:

# elenco filesystem stratis pool_1

Inoltre, puoi aggiungere l'attributo data (-$(data  +%Y-%m-%d) per identificare facilmente quando è stata creata l'istantanea. Creiamo un'altra istantanea usando il secondo pool.

# pool snapshot stratis fs_2 fs_2 snapshot_2-$(data  +%Y-%m-%d)

Per elencare l'istantanea Stratis appena creata emettere il comando:

# lista del filesystem stratis pool_2

Dall'output sopra, possiamo vedere un'istantanea creata in piscina_2 con un cartellino della data.

Come ripristinare un'istantanea precedente utilizzando un filesystem

Per ripristinare uno snapshot precedente utilizzando un filesystem, devi prima smontare e distruggere il filesystem originale.

# smonta /strati//filesystem

Ad esempio, in  piscina_2  tornare a istantanea_2 smontare il file system fs_2

# umount /stratis/pool_2/fs_2

Quindi, crea una copia dello snapshot dal filesystem originale

# snapshot del filesystem stratis
snapshot fs-mountpoint

Il comando sarà:

# snapshot del filesystem stratis pool_2 snapshot_2-2019-11-15 database

Infine, monta l'istantanea utilizzando il punto di montaggio del file system

# mount /stratis/pool_2/fs_2 /database

Rimozione di un'istantanea di Stratis

Per rimuovere uno snapshot Stratis, prima di tutto smonta lo snapshot.

# smonta /snapshot_mountpoint

Per rimuovere l'istantanea creata in piscina_2, smontare il punto di montaggio come mostrato

# smonta /database

Quindi, procedi e distruggi l'istantanea:

# distruzione del filesystem stratis

Il comando sarà:

# Il filesystem stratis distrugge pool_2 snapshot_2-2019-11-15

Ora prova a elencare i filesystem in pool_2. Noterai che l'istantanea è ora sparita.

# lista del filesystem stratis pool_2

Rimozione di un filesystem Stratis

Per sbarazzarsi di un filesystem, smontare prima il filesystem usando la sintassi seguente:

# umount /stratis/pool/filesystem

Ad esempio per rimuovere il filesystem fs_1 nel piscina_1, prima smontalo come mostrato:

# umount /stratis/pool_1/fs_1

Quindi, distruggi il file system utilizzando la sintassi seguente:

# Il filesystem stratis distrugge il pool fs

Nel nostro scenario, il comando sarà:

# Il filesystem stratis distrugge pool_1 fs_1

Per confermare che il file system è stato rimosso correttamente, esegui il comando:

# elenco filesystem stratis pool_1

Come puoi osservare, il filesystem non esiste più.

Rimozione di un pool Stratis

Infine, vediamo come rimuovere un pool Stratis.

Per rimuovere un pool stratis, è necessario smontare e distruggere qualsiasi filesystem e snapshot nel pool come abbiamo visto nei precedenti sottoargomenti.

Poiché è rimasto uno snapshot su pool_1, lo rimuoveremo prima rimuovendo il punto di montaggio associato allo snapshot

# smonta /archiviazione

Quindi, distruggi il file system.

# filesystem stratis distrugge pool_1 snapshot_1

Con lo snapshot ora rimosso, rimuovi pool_1 utilizzando il comando

# piscina stratis distruggi piscina_1

Ora elenca le piscine disponibili:

# lista piscine stratis

Rimuovere piscina_2 , elenchiamo prima i filesystem

# lista del filesystem stratis pool_2

Smonta e distruggi i filesystem come mostrato

# umount /stratis/pool_2/fs_3
# Il filesystem stratis distrugge pool_2 fs_3
# Il filesystem stratis distrugge il database pool_2

Quindi, distruggi il pool ed elenca i pool

# piscina stratis distruggi piscina_2
# lista piscine stratis

Perfetto ! tutte le piscine sono sparite ora. Siamo tornati al punto di partenza ! Puoi confermare ancora una volta elencando i dispositivi di blocco usando il comando:

e come puoi usarlo per gestire i dispositivi a blocchi, creare istantanee, filesystem e pool e anche rimuoverli. I tuoi pensieri e feedback sono i benvenuti.

Riferimenti:

  • https://accesso.cappello rosso.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_file_systems/managing-layered-local-storage-with-stratis_managing-file-systems
  • https://www.tecnica.com/install-stratis-to-manage-layered-local-storage-on-rhel/
Rimappa i pulsanti del mouse in modo diverso per software diversi con X-Mouse Button Control
Forse hai bisogno di uno strumento che possa cambiare il controllo del tuo mouse con ogni applicazione che utilizzi. In questo caso, puoi provare un'a...
Recensione del mouse wireless Microsoft Sculpt Touch
Ho letto di recente del Microsoft Scolpisci il tocco mouse wireless e ho deciso di acquistarlo. Dopo averlo usato per un po', ho deciso di condividere...
Trackpad e puntatore del mouse su schermo AppyMouse per tablet Windows
Gli utenti di tablet spesso mancano il puntatore del mouse, soprattutto quando sono abituati a usare i laptop laptop. Gli smartphone e i tablet touchs...