GNU/Linux >> Linux Esercitazione >  >> Debian

Espandere un RAID software su Debian tramite la migrazione a nuovi dischi rigidi di grandi dimensioni

La configurazione: due unità fisiche di un RAID 1 (mirror) verranno sostituite con due unità più capienti, faremo una sostituzione "a caldo" direttamente dal sistema operativo in esecuzione, senza necessità di eseguire l'avvio da un supporto di avvio esterno. Questa guida è stata testata sulle distribuzioni Debian 6, 7, 8 sia a 32 che a 64 bit.

Assumiamo che le due unità siano partizionate con una partizione root e swap e che queste due partizioni creino i due dispositivi raid md0 e md1:

  • La partizione sda1 e sdb1 che compongono il volume md0 (root)
  • Le partizioni sda2 e sdb2 che compongono il volume md1 (swap)

Per prima cosa fai un backup di tutti i tuoi dati, anche se la guida è stata testata più volte, la sfortuna c'è ancora... Provvediamo (secondo me la soluzione migliore) in sostituzione, disconnettiamo uno dei due vecchi unità con la macchina spenta, quindi collegare una nuova unità temporanea, quindi risincronizzare, così avremo ancora il RAID funzionante e una singola unità (con RAID in modalità degradata) e potrai ancora ricreare un RAID funzionante se qualcosa non funziona. Per fare ciò basta digitare questi comandi dopo aver sostituito l'unità piena con quella vuota:

sfdisk -d /dev/hd source | sfdisk —force /dev/hd empty
mdadm —zero-superblock /dev/hd empty
mdadm —add /dev/md(raid) /dev/hd(empty)

Ripetere le ultime due righe per ogni RAID/partizione del sistema

(ad esempio: 

mdadm -add /dev/md0 /dev/sdb1 

poi 

mdadm -add /dev/md1 /dev/sdb2

ecc..

In questo modo, abbiamo forzato la tabella delle partizioni dall'unità di origine alla destinazione vuota, quindi l'abbiamo aggiunta al RAID.

Ovviamente bisogna attendere la fine del processo di ricostruzione, monitorato da:

watch cat / pro / mdstat

(E ovviamente CTRL + C per uscire dal processo)

Spegnendo la macchina a questo punto, aggiungiamo due nuovi dischi, che diventano rispettivamente sdc e sdd, quindi avviamo il server ed eseguiamo il comando:

fdisk -l

Il risultato dovrebbe essere simile a questo:

Disk /dev/sda: ……MB , ………….Bytes
… heads, …sectors/track , ….. cylinders
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk: identifier : ………..
 
Device boot Start End Blocks Id   System
/dev/sda2        970           1044 602437+ fd   Linux raid autodetect
/dev/sda2            1 969 7783461 fd   Linux raid autodetect 
……
/dev/sdb1     *       1 969 7783461 fd   Linux raid autodetect 
/dev/sdb2            970        1044 602437+ fd   Linux raid autodetect 
……
Disk /dev/sdc: …Mb, …….Bytes
……
Disk /dev/sdd: …Mb, …….Bytes
……
Disk /dev/md0: …Mb, …….Bytes
…...
Disk /dev/md1: …Mb, …….Bytes

Ora, digita:

fdisk /dev/sdc

creiamo una nuova partizione con n comando,

selezioniamo p partizione primaria,

selezioniamo il numero di partizione (1 ,2,3, ecc...),

selezioniamo il cilindro di partenza (1 ),

selezioniamo la dimensione della partizione primaria digitando il + simbolo seguito dalla dimensione in GB e GB da lettere (ad esempio:+480 GB )

lo rendiamo avviabile con il comando a , selezionando lo stesso numero di partizioni.

cambiamo l'ID della partizione in "fd " (Rilevamento automatico dei raid Linux) con t e scrivendo come codice esadecimale, solo "fd "

Quindi ripetiamo TUTTI i comandi per la seconda partizione (la partizione sarà lo swap).

Salveremo le modifiche con w.

Ovviamente, prestare attenzione alle dimensioni delle partizioni. La soluzione migliore è sottrarre la dimensione di scambio corrente dal totale dello spazio libero per creare la partizione di lavoro con lo spazio più ampio possibile.

Ora eseguiremo esattamente le stesse operazioni sull'unità SDD, assicurandoci di creare la stessa partizione con le stesse dimensioni che usavamo in precedenza.

A questo punto facciamo uno scambio tra la prima unità "piena" e la prima unità nuova, aggiungendo quest'ultima come riserva al RAID:

mdadm -add /dev/md0 /dev/sdc1

Quindi dovremmo verificare la situazione del disco raid, dovrebbe essere così:

md0: active raid 1 sdc1[S] sda1[2] sdb1[3]
 ………blocks super 1.2 [2/2] [UU]

Quindi inseriamo l'unità originale:

mdadm -f /dev/md0 /dev/sda1

e rimuoverlo dal RAID:

mdadm -r /dev/md0 /dev/sda1

Ora verifichiamo che la ricostruzione sia iniziata in automatico e attendiamo il suo completamento monitorando nuovamente con:

watch cat /proc/mdstat

(E ovviamente CTRL + C per uscire dal processo)

Alla fine installiamo il bootloader (grub) sul nuovo drive (/dev/sdc):

grub-install /dev/sdc

Lo stesso processo deve essere ripetuto per ciascuna delle partizioni di sistema:

mdadm -add /dev/md0 /dev/sdd1
mdadm -f /dev/md0 /dev/sdb1
mdadm -r /dev/md0 /dev/sdb1

E aspettiamo ancora che la ricostruzione sia terminata:

watch cat /proc/mdstat

(E ovviamente CTRL + C per uscire dal processo)

Quindi, esegui la stessa procedura per la prima partizione di swap di due nuove unità:

mdadm -add /dev/md1 /dev/sdc2
mdadm -f /dev/md0 /dev/sda2
mdadm -r /dev/md0 /dev/sda2

Attendi ancora finché non è terminata la ricostruzione:

watch cat /proc/mdstat

(E ovviamente CTRL + C per uscire dal processo)

E l'ultimo disco:

mdadm -add /dev/md1 /dev/sdd2
mdadm -f /dev/md0 /dev/sdb2
mdadm -r /dev/md0 /dev/sdb2

Attendi ancora finché non è terminata la ricostruzione:

watch cat /proc/mdstat

(E ovviamente CTRL + C per uscire dal processo)

A questo punto reinstalla il bootloader su entrambe le unità:

grub-install /dev/sdc
grub-install /dev/sdd

A questo punto ci troviamo con la vecchia unità espulsa dal RAID e le nuove unità sono montate e funzionanti. Ma con lo spazio utilizzabile al di sotto del massimo consentito dalla partizione

Si procede quindi con l'ingrandimento della partizione e la verifica della stessa, come di consueto per entrambi i volumi:

mdadm —grow —raid-devices=2 /dev/md0
mdadm -A —scan
mdadm —grow /dev/md0 —size=max
mdadm —examine —scan
e2fsck -f /dev(md0
resize2fs /dev/md0

mdadm —grow —raid-devices=2 /dev/md1
mdadm -A —scan
mdadm —grow /dev/md1 —size=max
mdadm —examine —scan
e2fsck -f /dev/md1
resize2fs /dev/md1

Al termine, spegni il PC, scollega le vecchie unità e riavvia la macchina.

Anche se il riavvio funzionava, ricostruiamo il grub per motivi di sicurezza poiché al lancio del nuovo drive avrà preso il nome del vecchio (sda e sdb):

mv /boot/grub/device.map/boot/grub/device.map.old
grub-mkdevicemap
update-grub2 && grub-install /dev/sda && grub-install /dev/sdb

Se vuoi essere assolutamente sicuro che la nuova configurazione del raid funzioni, spegni la macchina, disconnetti una delle nuove unità e ricomincia. Dovrebbe iniziare senza problemi. Successivamente, spegnere di nuovo, collegare l'unità e avviare. Puoi usare questo comando per controllare lo stato del raid.

watch cat /proc/mdstat

(E ovviamente CTRL + C per uscire dal processo)

Abbiamo finito il lavoro, festeggiamo .


Debian
  1. Rilascio di Debian 10 (Buster) – Nuove funzionalità

  2. Rilascio di Debian 8 Jessie – Cosa c'è di nuovo?

  3. Debian:modo corretto di utilizzare Onfailure in Systemd?

  4. Debian – Non è possibile avviare l'installazione di Devuan/debian?

  5. Come posso spostare un RAID software Linux su una nuova macchina?

Come installare il software di sincronizzazione file remota Syncthing su Debian 11

Installa e configura il software di monitoraggio Monitorix su Debian 10

Come installare il software di controllo parentale CTparental su Debian 10

Come installare il software tramite Flatpak su Debian 10

Come installare il software di registrazione dello schermo OBS su Debian 10

Novità di Debian 11 "Bullseye"