LFCS #6: Come Assemblare Partizioni come Dispositivi RAID e Creare Backup di Sistema

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 capaci di fornire supporto operativo completo sui sistemi Linux: supporto di sistema, diagnosi e monitoraggio di primo livello, oltre alla segnalazione dei problemi, quando necessario, ad altri team di supporto.

La serie sarà intitolata Preparazione per l’LFCS (Linux Foundation Certified Sysadmin) Parti 1 fino a 33 e coprirà i seguenti argomenti:

No. Title
Part 1 How to Use ‘Sed’ Command to Manipulate Files in Linux
Part 2 How to Install and Use Vi/Vim in Linux
Part 3 How to Compress Files & Directoires and Finding Files in Linux
Part 4 How to Partition Storage Devices in Linux
Part 5 How to Mount (Samba and NFS) Filesystems in Linux
Part 6 How to Assemble Partitions as RAID Devices and Create System Backups
Part 7 Managing System Startup Processes and Services (SysVinit, Systemd, and Upstart
Part 8 How to Manage User & Groups, File Permissions, and Sudo Access
Part 9 Linux Package Management with Yum, RPM, Apt, Dpkg, Aptitude, and Zypper
Part 10 Learning Basic Shell Scripting and Filesystem Troubleshooting
Part 11 How to Manage and Create LVM Using vgcreate, lvcreate, and lvextend Commands
Part 12 How to Explore Linux with Installed Help Documentations and Tools
Part 13 How to Configure and Troubleshoot Grand Unified Bootloader (GRUB)
Part 14 Monitor Linux Processes Resource Usage and Set Process Limits on a Per-User Basis
Part 15 How to Set or Modify Kernel Runtime Parameters in Linux Systems
Part 16 Implementing Mandatory Access Control with SELinux or AppArmor in Linux
Part 17 How to Set Access Control Lists (ACLs) and Disk Quotas for Users and Groups
Part 18 Installing Network Services and Configuring Automatic Startup at Boot
Part 19 An Ultimate Guide to Setting Up FTP Server to Allow Anonymous Logins
Part 20 Setup a Basic Recursive Caching DNS Server and Configure Zones for Domain
Part 21 How to Install, Secure, and Performance Tuning of MariaDB Database Server
Part 22 How to Install and Configure NFS Server for File System Sharing
Part 23 How to Setup Apache with Name-Based Virtual Hosting with SSL Certificate
Part 24 How To Setup an Iptables Firewall to Enable Remote Access to Services in Linux
Part 25 How to Turn a Linux into a Router to Handle Traffic Statically and Dynamically
Part 26 How to Setup Encrypted Filesystems and Swap Using Cryptsetup Tool
Part 27 How to Monitor System Usage, Outages, and Troubleshoot Linux Servers
Part 28 How to Setup a Network Repository to Install or Update Packages
Part 29 How to Audit Network Performance, Security, and Troubleshooting
Part 30 How to Install and Manage Virtual Machines and Containers
Part 31 Learn the Basics of Git to Manage Projects Efficiently
Part 32 A Beginner’s Guide to Configuring IPv4 and IPv6 Addresses in Linux
Part 33 A Beginner’s Guide to Creating Network Bonding and Bridging in Ubuntu

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

Comprensione del 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 dei dati e/o migliorare le prestazioni nelle operazioni di lettura/scrittura su disco.

Tuttavia, la tolleranza ai guasti effettiva e le prestazioni di I/O del disco disk I/O performance dipendono da come i dischi rigidi sono configurati per formare l’array disco. A seconda dei dispositivi disponibili e delle esigenze di tolleranza ai guasti/prestazioni, sono definiti diversi livelli RAID.

Puoi fare riferimento all’articolo della serie RAID per avere una spiegazione dettagliata di ciascun livello RAID.

Installare mdadm in Linux

Il nostro strumento preferito per creare, assemblare, gestire e monitorare i nostri RAID software si chiama mdadm (abbreviazione di multiple disks admin).

$ 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]    

Assemblare Partizioni come Dispositivi RAID

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

1. Creare una Nuova Matrice utilizzando mdadm

Se una delle partizioni è stata formattata in precedenza o è stata parte di un’altra RAID matrice in precedenza, ti verrà richiesto di confermare la creazione della nuova matrice.

Supponendo che tu abbia preso le precauzioni necessarie per evitare la perdita di dati importanti che potrebbero essere stati memorizzati in esse, puoi tranquillamente digitare y e premere Invio.

# mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1
Creating RAID Array

2. Verificare lo Stato di Creazione della Matrice

Per verificare lo stato di creazione della matrice, utilizzerai i seguenti comandi – indipendentemente dal livello RAID. Questi sono validi tanto quanto quando stiamo creando un RAID0 (come mostrato sopra), o quando sei nel processo di impostazione di un RAID5, come mostrato nell’immagine seguente.3. Formattare il Dispositivo RAID

# cat /proc/mdstat
or 
# mdadm --detail /dev/md0	[More detailed summary]
Check RAID Array Status

3. Formattare il dispositivo RAID

Formatta il dispositivo con un file system in base alle tue esigenze/requisiti, come spiegato in Parte 4 di questa serie.

4. Monitorare il servizio dell’array RAID

Instruisci il servizio di monitoraggio affinché “tenga d’occhio” l’array. Aggiungi l’output di mdadm --detail --scan a /etc/mdadm/mdadm.conf (Debian e derivate) o /etc/mdadm.conf (CentOS / openSUSE), in questo modo.

# mdadm --detail --scan
Monitor RAID Array
# mdadm --assemble --scan 	[Assemble the array]

Per assicurarti che il servizio inizi all’avvio del sistema, esegui 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, sostituisci i dischi guasti se necessario. Quando un dispositivo nell’array disco diventa difettoso, un ripristino automatico inizia solo se è stato aggiunto un dispositivo di riserva quando abbiamo creato per la prima volta l’array.

Check RAID Faulty Disk

Altrimenti, dobbiamo collegare manualmente un disco fisico aggiuntivo al nostro sistema ed eseguirlo.

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

Dove /dev/md0 è l’array che ha riscontrato il problema e /dev/sdX1 è il nuovo dispositivo.

6. Smontare un array funzionante

Potresti doverlo fare se hai bisogno di creare un nuovo array utilizzando i dispositivi – (Passo Opzionale).

# 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. Creare avvisi tramite posta elettronica

Puoi configurare un indirizzo email valido o un account di sistema per inviare avvisi a (assicurati di avere questa riga in mdadm.conf). – (Passo Opzionale)

MAILADDR root

In questo caso, tutti gli avvisi che il demone di monitoraggio RAID raccoglie saranno inviati alla casella di posta dell’account locale root. Uno di tali avvisi è simile al seguente.

Nota: Questo evento è correlato all’esempio in PASSAGGIO 5, dove un dispositivo è stato contrassegnato come danneggiato e il dispositivo di riserva è stato costruito automaticamente nell’array da mdadm. Pertanto, abbiamo “esaurito” i dispositivi di riserva sani e abbiamo ricevuto l’avviso.

RAID Monitoring Alerts

Comprendere i Livelli RAID in Linux

Ecco una breve panoramica dei comuni Livelli RAID:

RAID 0

La dimensione totale dell’array è n volte la dimensione del più piccolo partizione, dove n è il numero di dischi indipendenti nell’array (avrai bisogno almeno di due drive). Esegui il seguente comando per assemblare un RAID 0 array utilizzando le partizioni /dev/sdb1 e /dev/sdc1.

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

Utilizzo Comune: Configurazioni che supportano applicazioni in tempo reale in cui le prestazioni sono più importanti della tolleranza ai guasti.

RAID 1 (alias Mirroring)

La dimensione totale dell’array è uguale alla dimensione della più piccola partizione (avrai bisogno almeno di due drive). Esegui il seguente comando per assemblare un RAID 1 array utilizzando le partizioni /dev/sdb1 e /dev/sdc1.

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

Utilizzo Comune: Installazione del sistema operativo o importanti sottodirectory, come /home.

RAID 5 (alias dischi con Parità)

La dimensione totale dell’array sarà (n – 1) volte la dimensione del più piccolo partizione. Lo spazio “perso” in (n-1) viene utilizzato per il calcolo di parità (ridondanza) (saranno necessarie almeno tre unità disco).

Si noti che è possibile specificare un dispositivo di riserva (/dev/sde1 in questo caso) per sostituire una parte difettosa quando si verifica un problema. Eseguire il seguente comando per assemblare un RAID 5 array utilizzando 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

Utilizzo comune: Server web e file.

RAID 6 (aka Drives 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. Si noti che è possibile specificare un dispositivo di riserva (/dev/sdf1 in questo caso) per sostituire una parte difettosa quando si verifica un problema.

Eseguire il seguente comando per assemblare un RAID 6 array utilizzando 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

Utilizzo comune: Server file e di backup con requisiti di grande capacità e alta disponibilità.

RAID 1+0 (aka Stripe di Specchi)

La dimensione totale dell’array è calcolata in base alle formule per RAID 0 e RAID 1 poiché RAID 1+0 è una combinazione di entrambi. Prima, calcolare la dimensione di ogni specchio e poi la dimensione dello stripe.

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

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

Usi comuni: Server di database e applicazioni che richiedono operazioni I/O veloci.

Creazione e gestione di backup del sistema in Linux

Non fa mai male ricordare che RAID con tutti i suoi benefici NON È UN SOSTITUTO PER I BACKUP! Scrivilo 1000 volte sulla lavagna se è necessario, ma assicurati di tenere questa idea sempre a mente.

Prima di iniziare, dobbiamo notare che non esiste una soluzione tuttofare per i backup del sistema, ma ecco alcune cose che devi considerare mentre pianifichi una strategia di backup.

  • Per cosa usi il tuo sistema? (Desktop o server? Nel secondo caso, quali sono i servizi più critici – la cui configurazione sarebbe davvero difficile da perdere?)
  • Con quale frequenza devi effettuare backup del tuo sistema?
  • Quali dati (ad esempio file/directory/dump di database) vuoi eseguire il backup? Potresti anche voler considerare se hai davvero bisogno di eseguire il backup di file enormi (come file audio o video).
  • Dove (significato luogo fisico e supporto) verranno memorizzati tali backup?

1. Dischi di backup utilizzando il comando dd

Esegui il backup di interi dischi con il comando dd. Puoi eseguire il backup di un intero disco rigido o di una partizione creando un’immagine esatta in qualsiasi momento. Si noti che questo funziona al meglio quando il dispositivo è offline, il che significa che non è montato e non ci sono processi che lo accedono per le operazioni di I/O.

Il lato negativo di questo approccio di backup è che l’immagine avrà la stessa dimensione del disco o della partizione, anche quando i dati effettivi occupano solo una piccola percentuale di essa.

Ad esempio, se desideri creare un’immagine di una partizione di 20 GB che è solo il 10% pieno, il file immagine sarà comunque di 20 GB in dimensioni. In altre parole, non è solo i dati effettivi che vengono eseguiti il backup, ma l’intera partizione. Potresti considerare 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 di file utilizzando il comando tar

Esegui il backup di determinati file / directory con il comando tar – già trattato in Parte 3 di questa serie. Potresti considerare questo metodo se hai bisogno di mantenere copie di file e directory specifiche (file di configurazione, directory home degli utenti e così via).

2. Backup e sincronizzazione di file utilizzando il comando rsync

Sincronizzare i file con il comando rsync, che è uno strumento versatile per la copia di file remoti (e locali). Se hai bisogno di eseguire il backup e sincronizzare i tuoi file su/da unità di rete, rsync è la soluzione.

Che tu stia sincronizzando due directory locali o directory locali < --- > remote montate sul file system locale, la sintassi di base è la stessa.

Sincronizzazione di due directory locali

# rsync -av source_directory destination directory

Dove, -a si reca in sottodirectory (se esistono), preserva collegamenti simbolici, timestamp, permessi e proprietario / gruppo originale e -v dettagliato.

rsync Synchronizing Files

Inoltre, se vuoi aumentare la sicurezza della trasmissione dei dati sul cavo, puoi usare ssh su rsync.

Sincronizzazione di directory locali → remote su SSH

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

Questo esempio sincronizzerà la directory di backup sul host locale con il contenuto di /root/remote_directory sul host remoto.

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

rsync Synchronize Remote Files

Sincronizzazione di directory remote → locali su SSH

In questo caso, scambia le directory di origine e destinazione rispetto all’esempio precedente.

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

Si noti che questi sono solo 3 esempi (i casi più frequenti che probabilmente incontrerai) dell’uso di rsync. Per altri esempi e usi dei comandi rsync, consultare l’articolo seguente.

Riepilogo

Come sysadmin, è necessario garantire che i tuoi sistemi funzionino nel modo migliore possibile. Se sei ben preparato e se l’integrità dei tuoi dati è ben supportata dalla tecnologia di archiviazione come RAID e backup regolari dei sistemi, sarai al sicuro.

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

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

Infine, ma non meno importante, considera l’acquisto del tuo voucher di esame utilizzando i seguenti link per guadagnarci una piccola commissione, che ci aiuterà a mantenere aggiornato questo libro.

Se hai domande, commenti o altre idee su come questo articolo possa essere migliorato, non esitare a esprimerti di seguito. Inoltre, considera di condividere questa serie attraverso i tuoi profili sui social network.

Source:
https://www.tecmint.com/creating-and-managing-raid-backups-in-linux/