Miglior modo per sviluppare il software RAID 1 di Linux a RAID 10

mdadm non sembra sostenere la crescita di una matrix dal livello 1 al livello 10.

Ho due dischi in RAID 1. Voglio aggiungere due nuovi dischi e convertire l'arrays in un arrays RAID 10 a quattro dischi.

  • Come rimuovere un certo simbolo per uno script bash
  • Utilizzando il bilanciatore di carico incorporato di uWSGI vs nginx
  • Strumenti Linux TC / Policy Routing
  • Looping di un command su un elenco di argomenti in Linux
  • Backup di Mac OS X in aziende
  • Confusione dell'utilizzo della memory in Parallels VM
  • La mia attuale strategia:

    1. Fare un buon backup.
    2. Creare un arrays RAID 10 a dischi degradati con due dischi mancanti.
    3. rsync the RAID 1 arrays with the RAID 10 arrays.
    4. fallire e rimuovere un disco dall'arrays RAID 1.
    5. Aggiungere il disco disponibile all'arrays RAID 10 e attendere che la risinanza venga completata.
    6. Distruggere l'arrays RAID 1 e aggiungere l'ultimo disco all'arrays RAID 10.

    Il problema è la mancanza di ridondanza al punto 5.

    C'è un modo migliore?

  • Come mantenere i registri protetti?
  • Il supporto del file CIFS Credentials ha un carattere speciale
  • Come provare la connessione OpenVPN dalla stessa networking?
  • I server AWS necessitano di fail2ban?
  • Enorme File System?
  • Come posso rimuovere il codice malware in più file con sed?
  • 5 Solutions collect form web for “Miglior modo per sviluppare il software RAID 1 di Linux a RAID 10”

    Con linux softraid puoi creare una matrix RAID 10 con solo due dischi.

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

    1) Crea la nuova matrix:

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

    2) Montare raid10 & rsync il RAID 1 con il nuovo RAID 10. (questo è solo un command di esempio, leggere le pagine man)

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

    3) Fail il RAID, aggiungere il disco al nuovo RAID10

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

    4) Aggiungere il disco rimosso al RAID10

     mdadm /dev/md1 --add /dev/sda2 

    5) Installare GRUB sul nuovo Array (supponendo che tu sia l'avvio da esso). Alcuni CD di salvataggio / avvio di Linux funzionano meglio.

    6) Avvia un nuovo arrays. SE HA LAVORATO CORRETTAMENTE Distruggere la vecchia matrix e aggiungere il disco rimanente alla nuova matrix.

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

    Seguire la stessa procedura di Mark Turner ma quando si crea l'arrays di raid, elencare 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, creare RAID10 con 4 dischi totali (di cui 2 mancanti), risincronizzare, aggiungere altri due dischi dopo di che.

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

    Come @aditsu ha notato che l'ordine di azionamento è importnte quando si crea l'arrays.

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

    Il codice sopra fornisce una matrix usabile con due dischi mancanti (aggiungere numbers di partizione se non si utilizzano i dischi interi). Appena il terzo disco viene aggiunto, inizia a sincronizzare. Ho aggiunto il quarto disco prima della terza sincronizzazione finita. Ha mostrato come un ricambio fino al terzo disco finito poi ha iniziato la sincronizzazione.

    Passi per la mia situazione:

    1. Fare un buon backup.

    2. Creare un arrays RAID 10 a dischi degradati con due dischi mancanti (chiameremo i dischi mancanti 2 e 4).

    3. Dite a tua moglie di non cambiare / aggiungere alcun file che si preoccupa

    4. Fail e rimuovere un disco dall'arrays RAID 1 (disco 4).

    5. Spostare le estensioni fisiche dall'allineamento RAID 1 nell'allineamento RAID 10 lasciando il disco 2 vuoto.

    6. Uccidi l'arrays RAID 1 attivo, aggiungi il disco vuoto (disco 2) all'arrays RAID 10 e attendi che la risincensione venga completata.

    7. Aggiungere il primo disco rimosso da RAID 1 (disco 4) all'arrays RAID 10.

    8. Dammi la moglie andare avanti.

    Al passo 7 credo che l'unità 1, 2, OR 4 può fallire (durante la risonanza del disco 4) senza uccidere l'arrays. Se l'unità 3 non riesce, i dati sull'arrays sono toast.

    Ho spostato il mio raid1 a raid10 ora e mentre questa pagina mi ha aiutato ma ci sono alcune cose che mancano nelle risposte di cui sopra. Soprattutto il mio objective era quello di mantenere ext4 birthtimes.

    l'installazione è stata:

    • 2 dischi raid1 di each tipo msdos e md0 con partizione ext4 e mbr con msdos
    • 2 nuovi dischi freschi diventando i nuovi primari (tutte le stesse size)
    • risultando in un 4 dischi raid md127 ext4 ma a causa della dimensione ho dovuto passare da mbr a gpt
    • è il mio disco di casa, quindi nessun setup bootmanager è richiesto o inteso
    • utilizzando il mio ubuntu quotidiano (quindi: non utilizzare il disco di ripristino esterno)
    • utilizzando gparted, dd e mdadm

    come chiunque prima ha dichiarato: il passo zero dovrebbe essere il backup e ci può sempre andare qualcosa di sbagliato nel process che si traduce in dataloss estremo

    1. BACKUP

    2. installazione del nuovo raid

      1. creare un nuovo raid

         mdadm -v --create /dev/md127 --level=raid10 --raid-devices=4 /dev/sdb1 missing /dev/sde1 missing 

        (ho trovato che il layout è importnte .. il secondo e il quarto sembrano essere i duplicati in un attacco "vicino" predefinito)

      2. impostare la partizione del raid che stavo utilizzando la configuration gparted gpt sul md127 e quindi aggiungendo una nuova partizione (ext4) della dimensione di quella vecchia o superiore
    3. migrare

      1. ora stai ricevendo i dati … ho iniziato a utilizzare il rsync che ha funzionato ma non è riuscito a mantenere il birthtime … usa dd per clonare dal vecchio raid al nuovo

         dd if=/dev/md0 of=/dev/md127p1 bs=1M conv=notrunc,noerror,sync 

        ASPETTALO
        è ansible controllare con l'invio di USR1 a tale process

         kill -s USR1 <pid> 
      2. risolvere il raid
        gparted è un ottimo strumento: ti dici di controllare e correggere la partizione e ridimensionarla alla dimensione completa di quel disco con poche mouseclicks;)

      3. impostare un nuovo uuid a quella partizione e aggiornare il tuo fstab con esso (change uuid)

      4. memorizzare il tuo raid in conf

         mdadm --examine --scan >> /etc/mdadm/mdadm.conf 

        e rimuove quello vecchio

         vim /etc/mdadm/mdadm.conf 
      5. riavviare se non sei su un sistema di ripristino
    4. distruggendo il vecchio

      1. fallire il primo e aggiungerlo al nuovo raid

         mdadm /dev/md0 --fail /dev/sdc1 --remove /dev/sdc1 

        quindi fare gpt su quel dispositivo e impostare una nuova partizione vuota

         mdadm /dev/md127 --add /dev/sdc1 

        ASPETTALO
        puoi controllare con

         cat /proc/mdstat 
      2. fermare il secondo

         mdadm --stop /dev/md0 

        quindi fare gpt su quel dispositivo precedente e impostare nuovamente una nuova partizione vuota

         mdadm /dev/md127 --add /dev/sdd1 

        ATTENDO nuovamente

    Lo ho fatto con LVM. Configurazione iniziale: – sda2, sdb2 – e creata raid1 md1 in cima. sda1 e sdb1 sono stati utilizzati per la seconda raid1 per la partizione di boot / boot. – md1 è stato pv nello spazio del gruppo di volume, con alcuni lvm su di esso.

    Ho aggiunto i dischi sdc e sdd e ho creato partizioni come su sda / sdb.

    Così:

    1. creato md10 come:

      mdadm –create / dev / md10 –level raid10 –raid-devices = 4 / dev / sdc2 mancanti / dev / sdd2

    2. estendere vg su di esso:

      pvcreate / dev / md10 spazio vgextend / dev / md10

    3. volumi spostati da md1 a md10:

      pvmove -v / dev / md1 / dev / md10

    (attendere) 4. ridurre il gruppo di volumi:

     vgreduce space /dev/md1 pvremove /dev/md1 
    1. arrays di arresto md1:

      mdadm -S / dev / md1

    2. aggiungere dischi da vecchi md1 a md10:

      mdadm -a / dev / md10 / dev / sda2 / dev / sdb2

    3. aggiornare la configuration in /etc/mdadm/mdadm.conf:

      mdadm -E -scan >> / dev / mdadm / mdadm.conf

    (e rimuovi là vecchio md1)

    Tutto fatto su sistema live, con volumi attivi utilizzati per kvm's;)

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.