GNU/Linux >> Linux Esercitazione >  >> Linux

Dovrei usare `mdadm –create` per recuperare il raid?

C'è questo tizio che continua a dirmi che non dovremmo usare mdadm --create recuperare i nostri array RAID, che è peggio del male, è un errore. Perché? Voglio dire, dovrei far funzionare di nuovo il mio RAID, no? Cosa dovrei usare invece se --create è un errore?

Risposta accettata:

Non c'è niente di sbagliato in --create – se sai cosa stai facendo.

L'unico problema è:Non lo sai.

Quando crei un RAID, il comando è solitamente qualcosa di breve, come:

mdadm --create /dev/md42 --level=5 --raid-devices=3 /dev/sdx1 /dev/sdy1 /dev/sdz1

Semplice, vero?

Tranne che non lo è, davvero. RAID ha molte più variabili. C'è un offset dei dati, una dimensione del blocco, una versione dei metadati e non dimentichiamo l'ordine delle unità che è facile sbagliare durante una ricreazione, poiché le lettere di unità possono cambiare nel tempo.

Ecco cosa è un vero --create il comando potrebbe invece assomigliare a:

mdadm --create /dev/md42 --assume-clean 
    --level=5 --chunk=512K --metadata=1.2 --data-offset=2048s 
    --raid-devices=3 /dev/sdz1 missing /dev/sdy1

E qualunque cosa ti dia, dovresti testarlo in sola lettura. E potrebbe non essere tutto. Sapevi che esistono anche diversi layout RAID? --create è l'ultima goccia e le insidie ​​non sono evidenti. Idealmente, dovresti eseguire il backup di tutti i dischi, o almeno delle aree dei metadati, o operare su una sovrapposizione di copia su scrittura.

Per tutto ciò che non fornisci, mdadm utilizza le impostazioni predefinite. Sfortunatamente quelli non sono scolpiti nella pietra, praticamente tutti sono cambiati in passato ed è probabile che cambino di nuovo in futuro.

Quindi, quando usi --create per il ripristino, devi capire davvero bene il RAID e devi sapere che aspetto aveva esattamente il tuo vecchio RAID. E poi devi aggiungere --assume-clean oppure lascia uno dei dischi come missing , nel caso in cui tu abbia comunque commesso un errore. Dovresti anche eseguire un backup, almeno all'inizio e alla fine del disco in modo da poter eseguire il ripristino dai metadati scritti nella posizione sbagliata.

Nella maggior parte dei casi hai altre opzioni. --assemble --force è uno, ma ha le sue insidie. Dovresti --examine prima e se una delle unità è più obsoleta delle altre, non dovresti includerla nell'assieme. C'è anche --build così come dmsetup per raid che non utilizza metadati e potrebbe consentirti di accedere ai tuoi dati. Ciò non significa che sia sicuro, tuttavia:ci scrivi sopra, perdi dati se le impostazioni che hai scelto sono sbagliate.

Correlati:sintassi corretta per l'utilizzo di awk in combinazione con altri comandi all'interno di xargs sh –c?

In generale, il recupero dei dati è un campo ampio. È necessaria esperienza per poter decidere la corretta linea di condotta. Evita il problema se possibile; esegui backup, documenta la tua configurazione e monitora i tuoi dischi in modo che il tuo RAID non muoia in primo luogo.


Linux
  1. Come usare il comando Linux grep

  2. Come usare il comando cronologia in Linux

  3. Come utilizzare il comando basename?

  4. Controlla la versione di Wordpress in uso

  5. Come usare dos2unix?

Come usare il comando nmap

7 modi per usare il comando Linux Head

Terraform vs Ansible:qual è la differenza e quale dovresti usare?

Cos'è la funzionalità della community di ONLYOFFICE e perché dovresti usarla?

Uso del comando grep in Linux

I 20 migliori client IRC per Linux che dovresti usare tutti i giorni