GNU/Linux >> Linux Esercitazione >  >> Linux

Il modo migliore per far crescere il software Linux da RAID 1 a RAID 10

Soluzione 1:

Con linux softraid puoi creare un array RAID 10 con solo due dischi.

Nomi dei dispositivi utilizzati di seguito:

  • md0 è il vecchio array di tipo/livello RAID1.
  • md1 è il nuovo array di tipo/livello RAID10.
  • sda1 e sdb2 sono nuovi , partizioni vuote (senza dati).
  • sda2 e sdc1 sono vecchie partizioni (con dati cruciali).

Sostituisci i nomi per adattarli al tuo caso d'uso. Usa ad es. lsblk per visualizzare il layout corrente.

0) Backup, Backup, Backup, Backup oh e BACKUP

1) Crea il nuovo array (4 dispositivi:2 esistenti, 2 mancanti):

mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda1 missing /dev/sdb2 missing

Nota che in questo esempio il layout sda1 ha una controparte mancante e sdb2 ha un'altra controparte mancante. I tuoi dati su md1 non è sicuro a questo punto (di fatto è RAID0 finché non aggiungi membri mancanti).

Per visualizzare il layout e altri dettagli dell'array creato utilizzare:

mdadm -D /dev/md1

Nota! Dovresti salvare il layout dell'array:

# View current mdadm config:
cat /etc/mdadm/mdadm.conf
# Add new layout (grep is to make sure you don't re-add md0):
mdadm --detail --scan | grep "/dev/md1" | tee -a /etc/mdadm/mdadm.conf
# Save config to initramfs (to be available after reboot)
update-initramfs -u

2) Formatta e monta. Il /dev/md1 dovrebbe essere immediatamente utilizzabile, ma deve essere formattato e poi montato.

3) Copia file. Usa ad es. rsync per copiare i dati dal vecchio RAID 1 al nuovo RAID 10. (questo è solo un comando di esempio, leggi le pagine man per rsync)

rsync -arHx / /where/ever/you/mounted/the/RAID10

4) Fallisci la prima parte del vecchio RAID1 (md0) e aggiungila al nuovo RAID10 (md1)

mdadm /dev/md0 --fail /dev/sda2 --remove /dev/sda2
mdadm /dev/md1 --add /dev/sda2

Nota! Questo cancellerà i dati da sda2 . Il md0 dovrebbe essere ancora utilizzabile ma solo se l'altro membro del raid era pienamente operativo.

Si noti inoltre che questo avvierà i processi di sincronizzazione/ripristino su md1 . Per controllare lo stato usa uno dei seguenti comandi:

# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1

Aspetta fino al termine del ripristino.

5) Installa GRUB sul nuovo array (supponendo che tu stia eseguendo l'avvio da esso). Alcuni CD di ripristino/avvio di Linux funzionano meglio.

6) Avvia su un nuovo array. SE FUNZIONA CORRETTAMENTE Distruggi il vecchio array e aggiungi il disco rimanente al nuovo array.

PUNTO DI NON RITORNO

A questo punto distruggerete i dati sull'ultimo membro del vecchio array md0. Assicurati assolutamente che tutto funzioni.

mdadm --stop /dev/md0
mdadm /dev/md0 --remove /dev/sdc1
mdadm /dev/md1 --add /dev/sdc1

E ancora:aspetta fino al recupero su md1 è finito.

# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1

7) Aggiorna la configurazione di mdadm

Ricordati di aggiornare /etc/mdadm/mdadm.conf (rimuovi md0).

E salva la configurazione in initramfs (per essere disponibile dopo il riavvio)

update-initramfs -u

Soluzione 2:

Segui la stessa procedura di Mark Turner ma quando crei l'array raid, menziona 2 dischi mancanti

mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda1 missing /dev/sdb2 missing

E poi procedi con altri passaggi.

In breve, crea RAID10 con un totale di 4 dischi (di cui 2 mancanti), risincronizza, aggiungi altri due dischi dopo.

Soluzione 3:

Ho appena finito di passare da LVM su due dischi mdadm RAID 1 da 2 TB a LVM su quattro dischi RAID 10 (due dischi originali + due nuovi).

Come notato da @aditsu, l'ordine delle unità è importante durante la creazione dell'array.

mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda missing /dev/sdb missing

Il codice sopra fornisce un array utilizzabile con due dischi mancanti (aggiungere i numeri di partizione se non si utilizzano dischi interi). Non appena viene aggiunto il terzo disco, inizierà la sincronizzazione. Ho aggiunto il quarto disco prima che il terzo finisse la sincronizzazione. È stato visualizzato come riserva fino al termine del terzo disco, quindi ha avviato la sincronizzazione.

Passaggi per la mia situazione:

  1. Fai un buon backup.

  2. Crea un array RAID 10 di 4 dischi degradato con due dischi mancanti (chiameremo i dischi mancanti #2 e 4).

  3. Dì alla moglie di non modificare/aggiungere file a cui tiene

  4. Errore e rimozione di un disco dall'array RAID 1 (disco 4).

  5. Sposta le estensioni fisiche dall'array RAID1 all'array RAID 10 lasciando il disco 2 vuoto.

  6. Elimina l'array RAID 1 attivo, aggiungi il disco ora vuoto (disco 2) all'array RAID 10 e attendi il completamento della risincronizzazione.

  7. Aggiungi il primo disco rimosso da RAID1 (disco 4) all'array RAID 10.

  8. Lascia andare la moglie.

Al passaggio 7 penso unità 1, 2, OR 4 può fallire (durante la risincronizzazione del disco 4) senza terminare l'array. Se l'unità 3 fallisce, i dati sull'array sono toast.


Linux
  1. Il modo migliore per implementare il supporto dei tasti di scelta rapida in Linux?

  2. 10 migliori software educativi Linux per i tuoi bambini

  3. 11 migliori software CAD per Linux

  4. 10 migliori software di contabilità open source per Linux

  5. I 10 migliori software di videoconferenza per Linux nel 2020

I 15 migliori software frattali per desktop Linux

I 15 migliori software Linux Reference Manager da utilizzare

I 10 migliori software di inventario di rete per Linux

I 10 migliori software di geometria per sistemi Linux

I 10 migliori software di presentazione per desktop Linux

15 migliori software di editing video per sistema Linux