Ricerca nel sito web

LFCS #6: Come assemblare partizioni come dispositivi RAID in Linux


La Linux Foundation ha lanciato la certificazione LFCS (Linux Foundation Certified Sysadmin), una brillante opportunità per gli amministratori di sistema di tutto il mondo di dimostrare, attraverso un esame basato sulle prestazioni, di essere in grado di esecuzione del supporto operativo complessivo sui sistemi Linux: supporto del sistema, diagnosi e monitoraggio di primo livello, oltre all'escalation dei problemi, quando richiesto, ad altri team di supporto.

La serie sarà intitolata Preparazione per le LFCS (Linux Foundation Certified Sysadmin) dalla Parti 1 alla 33 e coprirà gli argomenti seguenti argomenti:

Part 1

Come utilizzare il comando "Sed" per manipolare i file in Linux

Part 2

Come installare e utilizzare Vi/Vim in Linux

Part 3

Come comprimere file e directory e trovare file in Linux

Part 4

Come partizionare i dispositivi di archiviazione in Linux

Part 5

Come montare filesystem (Samba e NFS) in Linux

Part 6

Come assemblare partizioni come dispositivi RAID e creare backup di sistema

Part 7

Gestione dei processi e dei servizi di avvio del sistema (SysVinit, Systemd e Upstart

Part 8

Come gestire utenti e gruppi, autorizzazioni file e accesso Sudo

Part 9

Gestione dei pacchetti Linux con Yum, RPM, Apt, Dpkg, Aptitude e Zypper

Part 10

Apprendimento degli script di shell di base e della risoluzione dei problemi del file system

Part 11

Come gestire e creare LVM utilizzando i comandi vgcreate, lvcreate e lvextend

Part 12

Come esplorare Linux con la documentazione e gli strumenti della Guida installati

Part 13

Come configurare e risolvere i problemi di Grand Unified Bootloader (GRUB)

Part 14

Monitora l'utilizzo delle risorse dei processi Linux e imposta i limiti dei processi in base al singolo utente

Part 15

Come impostare o modificare i parametri di runtime del kernel nei sistemi Linux

Part 16

Implementazione del controllo degli accessi obbligatorio con SELinux o AppArmor in Linux

Part 17

Come impostare elenchi di controllo di accesso (ACL) e quote disco per utenti e gruppi

Part 18

Installazione dei servizi di rete e configurazione dell'avvio automatico all'avvio

Part 19

Una guida definitiva per configurare il server FTP per consentire accessi anonimi

Part 20

Configura un server DNS di memorizzazione nella cache ricorsiva di base e configura le zone per il dominio

Part 21

Come installare, proteggere e ottimizzare le prestazioni del server database MariaDB

Part 22

Come installare e configurare il server NFS per la condivisione del file system

Part 23

Come configurare Apache con hosting virtuale basato sul nome con certificato SSL

Part 24

Come configurare un firewall Iptables per abilitare l'accesso remoto ai servizi in Linux

Part 25

Come trasformare un Linux in un router per gestire il traffico in modo statico e dinamico

Part 26

Come impostare filesystem crittografati e scambiare utilizzando lo strumento Cryptsetup

Part 27

Come monitorare l'utilizzo del sistema, le interruzioni e la risoluzione dei problemi dei server Linux

Part 28

Come configurare un repository di rete per installare o aggiornare i pacchetti

Part 29

Come controllare le prestazioni, la sicurezza e la risoluzione dei problemi della rete

Part 30

Come installare e gestire macchine virtuali e contenitori

Part 31

Impara le basi di Git per gestire i progetti in modo efficiente

Part 32

Una guida per principianti alla configurazione degli indirizzi IPv4 e IPv6 in Linux

Part 33

Una guida per principianti alla creazione di collegamenti e bridging di rete in Ubuntu

Questo post è la Parte 6 di una serie di 33 tutorial, in questa parte spiegheremo come assemblare le partizioni come dispositivi RAID e creare e gestire i backup di sistema, che sono richiesto per l'esame di certificazione LFCS.

Comprendere il RAID in Linux

La tecnologia nota come Redundant Array of Independent Disks (RAID) è una soluzione di archiviazione che combina più dischi rigidi in un'unica unità logica per fornire ridondanza di dati e/o migliorare le prestazioni nelle operazioni di lettura/scrittura su disco.

Tuttavia, la tolleranza agli errori effettiva e le prestazioni I/O del disco dipendono dalla modalità di configurazione dei dischi rigidi per formare l'array di dischi. A seconda dei dispositivi disponibili e delle esigenze di tolleranza agli errori/prestazioni, vengono definiti diversi livelli RAID.

È possibile fare riferimento al seguente articolo sulla serie RAID per una spiegazione più dettagliata di ciascun livello RAID.

Installa mdadm su Linux

Il nostro strumento preferito per creare, assemblare, gestire e monitorare i nostri RAID software si chiama mdadm (abbreviazione di amministratore di più dischi).

sudo apt install mdadm         [On Debian, Ubuntu and Mint]
sudo yum install mdadm         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo zypper install mdadm      [On OpenSUSE]    

Assemblaggio di partizioni come dispositivi RAID

Il processo di assemblaggio delle partizioni esistenti come dispositivi RAID consiste nei seguenti passaggi.

1. Crea un nuovo array utilizzando mdadm

Se una delle partizioni è stata formattata in precedenza o faceva parte in precedenza di un altro array RAID, ti verrà richiesto di confermare la creazione del nuovo array.

Supponendo che tu abbia preso le precauzioni necessarie per evitare di perdere dati importanti che potrebbero risiedere al loro interno, puoi tranquillamente digitare y e premere Invio.

mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1

2. Controllare lo stato di creazione dell'array

Per verificare lo stato di creazione dell'array, utilizzerai i seguenti comandi, indipendentemente dal tipo di RAID. Questi sono validi quanto quando stiamo creando un RAID0 (come mostrato sopra) o quando stai configurando un RAID5, come mostrato nell'immagine sotto.

cat /proc/mdstat
or 
mdadm --detail /dev/md0	[More detailed summary]

3. Formattare il dispositivo RAID

Formatta il dispositivo con un filesystem secondo le tue esigenze/richieste, come spiegato nella Parte 4 di questa serie.

4. Monitorare il servizio dell'array RAID

Chiedere al servizio di monitoraggio di "tenere d'occhio" l'array. Aggiungi l'output di mdadm --detail --scan a /etc/mdadm/mdadm.conf (Debian e derivati) o /etc/mdadm.conf (CentOS/openSUSE), in questo modo.

mdadm --detail --scan

mdadm --assemble --scan 	[Assemble the array]

Per garantire che il servizio venga avviato all'avvio del sistema, eseguire i seguenti comandi come root.

systemctl start mdmonitor
systemctl enable mdmonitor

5. Controllare il guasto del disco RAID

Nei livelli RAID che supportano la ridondanza, sostituire le unità guaste quando necessario. Quando un dispositivo nell'array di dischi diventa difettoso, viene avviata automaticamente una ricostruzione solo se è stato aggiunto un dispositivo di riserva al momento della creazione dell'array.

Altrimenti, dobbiamo collegare manualmente un'unità fisica aggiuntiva al nostro sistema ed eseguirla.

mdadm /dev/md0 --add /dev/sdX1

Dove /dev/md0 è l'array su cui si è verificato il problema e /dev/sdX1 è il nuovo dispositivo.

6. Smontare un array funzionante

Potrebbe essere necessario farlo se è necessario creare un nuovo array utilizzando i dispositivi – (Passaggio facoltativo).

mdadm --stop /dev/md0 		#  Stop the array
mdadm --remove /dev/md0 		# Remove the RAID device
mdadm --zero-superblock /dev/sdX1 	# Overwrite the existing md superblock with zeroes

7. Crea avvisi di posta

Puoi configurare un indirizzo email o un account di sistema valido a cui inviare gli avvisi (assicurati di avere questa riga in mdadm.conf). – (Passaggio facoltativo)

MAILADDR root

In questo caso, tutti gli avvisi raccolti dal demone di monitoraggio RAID verranno inviati alla casella di posta dell'account root locale. Uno di questi avvisi è simile al seguente.

Nota: questo evento è correlato all'esempio nel PASSO 5, in cui un dispositivo è stato contrassegnato come difettoso e il dispositivo di riserva è stato automaticamente integrato l'array di mdadm. Pertanto, abbiamo "esaurito" i dispositivi di riserva integri e abbiamo ricevuto l'avviso.

Comprensione dei livelli RAID in Linux

Ecco una breve panoramica dei livelli RAID comuni:

RAID0

La dimensione totale dell'array è n volte la dimensione della partizione più piccola, dove n è il numero di dischi indipendenti nell'array (saranno necessarie almeno due unità). Eseguire il comando seguente per assemblare un array RAID 0 utilizzando le partizioni /dev/sdb1 e /dev/sdc1.

mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1

Utilizzi comuni: configurazioni che supportano applicazioni in tempo reale in cui le prestazioni sono più importanti della tolleranza agli errori.

RAID 1 (aka Mirroring)

La dimensione totale dell'array corrisponde alla dimensione della partizione più piccola (saranno necessarie almeno due unità). Eseguire il comando seguente per assemblare un array RAID 1 utilizzando le partizioni /dev/sdb1 e /dev/sdc1.

mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

Utilizzi comuni: installazione del sistema operativo o di sottodirectory importanti, come /home.

RAID 5 (ovvero unità con parità)

La dimensione totale dell'array sarà (n – 1) volte la dimensione della partizione più piccola. Lo spazio "perso" in (n-1) viene utilizzato per il calcolo della parità (ridondanza) (saranno necessarie almeno tre unità).

Tieni presente che puoi specificare un dispositivo di riserva (/dev/sde1 in questo caso) per sostituire una parte difettosa quando si verifica un problema. Eseguire il comando seguente per assemblare un array RAID 5 utilizzando le partizioni /dev/sdb1, /dev/sdc1, /dev/sdd1 e /dev/sde1 come riserva.

mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 --spare-devices=1 /dev/sde1

Utilizzi comuni: server Web e file.

RAID 6 (ovvero unità con doppia parità

La dimensione totale dell'array sarà (n*s)-2*s, dove n è il numero di dischi indipendenti nell'array e s è la dimensione del disco più piccolo. Tieni presente che puoi specificare un dispositivo di riserva (/dev/sdf1 in questo caso) per sostituire una parte difettosa quando si verifica un problema.

Eseguire il comando seguente per assemblare un array RAID 6 utilizzando le partizioni /dev/sdb1, /dev/sdc1, /dev/sdd1 , /dev/sde1 e /dev/sdf1 come riserva.

mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde --spare-devices=1 /dev/sdf1

Utilizzi comuni: server di file e di backup con requisiti di grande capacità e disponibilità elevata.

RAID 1+0 (noto anche come Striscia di specchi)

La dimensione totale dell'array viene calcolata in base alle formule per RAID 0 e RAID 1 poiché RAID 1+0 è una combinazione di entrambi. Per prima cosa calcola la dimensione di ciascuno specchio e poi la dimensione della striscia.

Tieni presente che puoi specificare un dispositivo di riserva (/dev/sdf1 in questo caso) per sostituire una parte difettosa quando si verifica un problema. Eseguire il comando seguente per assemblare un array RAID 1+0 utilizzando le partizioni /dev/sdb1, /dev/sdc1, /dev /sdd1, /dev/sde1 e /dev/sdf1 come riserva.

mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sd[b-e]1 --spare-devices=1 /dev/sdf1

Utilizzi comuni: database e server applicazioni che richiedono operazioni I/O veloci.

Creazione e gestione dei backup di sistema in Linux

Non fa mai male ricordare che RAID con tutti i suoi vantaggi NON È UN SOSTITUZIONE DEI BACKUP! Scrivilo 1000 volte alla lavagna se necessario, ma assicurati di conservarlo idea in mente in ogni momento.

Prima di iniziare, dobbiamo notare che non esiste una soluzione unica per tutti per i backup di sistema, ma ecco alcune cose che devi tenere in considerazione durante la pianificazione di una strategia di backup.

  • Per cosa usi il tuo sistema? (Desktop o server? Se si applica quest’ultimo caso, quali sono i servizi più critici – la cui configurazione sarebbe una vera seccatura da perdere?)
  • Con quale frequenza è necessario eseguire i backup del sistema?
  • Quali sono i dati (ad esempio file/directory/dump del database) di cui desideri eseguire il backup? Potresti anche considerare se hai davvero bisogno di eseguire il backup di file di grandi dimensioni (come file audio o video).
  • Dove (intendendo luogo fisico e supporto) verranno archiviati tali backup?

1. Unità di backup utilizzando il comando dd

Effettua il backup di intere unità con il comando dd. Puoi eseguire il backup di un intero disco rigido o di una partizione creando un'immagine esatta in qualsiasi momento. Tieni presente che funziona meglio quando il dispositivo è offline, ovvero non è montato e non ci sono processi che vi accedono per operazioni di I/O.

Lo svantaggio di questo approccio di backup è che l'immagine avrà le stesse dimensioni del disco o della partizione, anche quando i dati effettivi ne occupano una piccola percentuale.

Ad esempio, se desideri creare l'immagine di una partizione di 20 GB piena solo al 10%, il file immagine sarà comunque di 20 GB in misurare. In altre parole, non viene eseguito il backup solo dei dati effettivi, ma dell'intera partizione stessa. Potresti prendere in considerazione l'utilizzo di questo metodo se hai bisogno di backup esatti dei tuoi dispositivi.

Creazione di un'immagine della partizione

dd if=/dev/sda of=/system_images/sda.img
OR
--------------------- Alternatively, you can compress the image file --------------------- 
dd if=/dev/sda | gzip -c > /system_images/sda.img.gz 

Ripristino di un'immagine della partizione

dd if=/system_images/sda.img of=/dev/sda
OR 
gzip -dc /system_images/sda.img.gz | dd of=/dev/sda 

2. Backup dei file utilizzando il comando tar

Esegui il backup di determinati file nelle directory / con il comando tar – già trattato nella Parte 3 di questa serie. Potresti prendere in considerazione l'utilizzo di questo metodo se devi conservare copie di file e directory specifici (file di configurazione, directory home degli utenti e così via).

2. Backup e sincronizzazione dei file utilizzando il comando rsync

Sincronizza i file con il comando rsync, che è uno strumento versatile per la copia di file remota (e locale). Se hai bisogno di eseguire il backup e sincronizzare i tuoi file da/verso unità di rete, rsync è la soluzione giusta.

Sia che tu stia sincronizzando due directory locali o directory remote < --- > locali montate sul filesystem locale, la sintassi di base è la stessa.

Sincronizzazione di due directory locali

rsync -av source_directory destination directory

Dove, -a ricorsiva nelle sottodirectory (se esistono), preserva i collegamenti simbolici, i timestamp, i permessi e il proprietario/gruppo originale e -v verboso.

Inoltre, se desideri aumentare la sicurezza del trasferimento dei dati via cavo, puoi utilizzare ssh su rsync.

Sincronizzazione delle directory locali → remote su SSH

rsync -avzhe ssh backups root@remote_host:/remote_directory/

Questo esempio sincronizzerà la directory di backup sull'host locale con il contenuto di /root/directory_remota sull'host remoto.

Dove l'opzione -h mostra le dimensioni dei file in formato leggibile dall'uomo e il flag -e viene utilizzato per indicare una connessione SSH.

Sincronizzazione delle directory remote → locali su SSH

In questo caso, scambiare le directory di origine e di destinazione dell'esempio precedente.

rsync -avzhe ssh root@remote_host:/remote_directory/ backups 

Tieni presente che questi sono solo 3 esempi (i casi più frequenti in cui potresti imbatterti) dell'uso di rsync. Per ulteriori esempi e utilizzi dei comandi rsync è possibile trovare il seguente articolo.

Riepilogo

In qualità di amministratore di sistema, devi assicurarti che i tuoi sistemi funzionino nel miglior modo possibile. Se sei ben preparato e se l’integrità dei tuoi dati è ben supportata dalla tecnologia di archiviazione come RAID e backup regolari del sistema, sarai al sicuro.

L'eBook LFCS è ora disponibile per l'acquisto. Ordina la tua copia oggi e inizia il tuo viaggio per diventare un amministratore di sistema Linux certificato!

Product Name Price Buy
The Linux Foundation’s LFCS Certification Preparation Guide $19.99 [Buy Now]

Ultimo ma non meno importante, considera l'acquisto del voucher per l'esame utilizzando i seguenti collegamenti per guadagnarci una piccola commissione, che ci aiuterà a mantenere aggiornato questo libro.

Se hai domande, commenti o ulteriori idee su come migliorare questo articolo, sentiti libero di parlare di seguito. Inoltre, considera la possibilità di condividere questa serie attraverso i tuoi profili di social network.