Adicione um novo disco rígido para espelhar a unidade LVM existente com o raid1

2

Eu tenho um disco rígido de 320GB com um grupo de volumes LVM2 que foi criado como parte da instalação padrão. Se eu colocar um segundo disco rígido de 320GB no computador, posso fazer com que a segunda unidade espelhe a primeira usando o software Linux RAID1 ou algo semelhante? Eu tentei adicionar uma nova matriz RAID no Gnome Disk Utility, mas só me deu a opção de criar um array com duas partições vazias.

    
por murgatroid99 05.08.2011 / 22:06

3 respostas

-1

Consegui isso fazendo o backup de todos os meus dados em uma unidade externa, reinstalando o Ubuntu em um array de raid e restaurando meu backup no novo sistema de arquivos. Em particular, segui estes passos:

  1. Faça backup dos dados usando as instruções em este tópico do fórum usando o comando

    sudo tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=backup.tgz --exclude=/mnt --exclude=/sys --exclude=/dev --exclude=/etc/fstab --exclude=/etc/mtab --exclude=/boot --exclude=/media /
    

    substituindo backup.tgz em ambos os casos pela localização do backup

  2. Desligue o computador e instale dois discos rígidos sendo que o menor tem pelo menos o tamanho do array de ataque (possivelmente incluindo o disco rígido original)

  3. Inicialize no disco de instalação e execute o instalador.

  4. Usando o particionamento manual, crie uma partição em cada disco rígido para cada partição no sistema de arquivos final. Por exemplo, se você quiser que a partição /home seja de 100 GB, crie uma partição de 100 GB em cada disco rígido. Defina todas as partições que farão parte de uma matriz RAID para autodetectar RAID (0xfd).

  5. Escolha criar arrays de raid e coloque cada partição em um array raid com a partição correspondente no outro disco.

  6. Conclua a instalação como normal e reinicialize a nova instalação do Ubuntu.

  7. Monte a unidade externa, se ainda não estiver montada, e restaure o backup, conforme descrito no tópico do fórum acima, usando o comando

    sudo tar xvpfz backup.tgz -C /
    
  8. Execute sudo update-grub e, em seguida, reinicialize. O novo sistema operacional deve agora ser exatamente como o original.

Eu prefiro esse método por alguns motivos:

  • Fazer cópias do nível do sistema de arquivos em vez de cópias no nível do disco parece preferível em geral

  • Não depende de manter a mesma estrutura de partição

  • Uma vez que descobri como fazer isso, todo o processo levou menos tempo do que a cópia no nível do disco

  • Ele permite que o instalador crie as entradas corretas para dispositivos de inicialização e dispositivos montados, que precisam ser alterados porque as partições de invasão são referidas de forma diferente das partições comuns.

por murgatroid99 12.08.2011 / 20:26
4

Se alguém ainda estiver lendo esta pergunta mais antiga, note que o raid1 agora está embutido no lvm2. Para espelhar um lv existente em um novo drive usando lvm2:

  • instale a nova unidade e crie a (s) partição (ões) lvm2 (pelo menos do mesmo tamanho que as partições lvm da sua unidade existente ou aquelas que você deseja espelhar em qualquer caso) (use parted /dev/newdrive ou use sfdisk -d /dev/sda | sfdisk /dev/sdb supondo que sdb é sua nova unidade)
  • inicializar nova (s) partição (ões) como lvm2 pv (s) ( pvcreate /dev/newpartition )
  • estenda seu (s) lvm2 vg (s) existente (s) para a (s) nova (s) partição (s) ( vgextend /dev/myvg /dev/newpartition ) e verifique primeiro se o número de extensões na nova unidade é igual ou superior ( pvdisplay ) na nova unidade deve ser mais do que Total PE da unidade antiga.
  • para cada lv que você deseja espelhar na nova partição:

    lvconvert -m1 /dev/myvg/existinglv /dev/newpartition
    

    (isto é, converto meu lv existente (linear) em um raid1 espelhado lv com 1 perna adicional no espelho, e aloco os novos PEs necessários para a perna do espelho na nova partição / pv dada)

  • observe que você precisará de algum espaço adicional no lv existente e no novo lv, porque os segmentos de espelhamento lvm2 raid1 (o padrão) armazenam seus logs no mesmo segmento pv / como a perna do espelho (você precisará de 1 PE adicional por espelho perna no pv existente e no novo).

    Se você receber um erro como 1 extents needed, but only 0 available , isso pode indicar um problema ao criar o log e talvez seja necessário criar algum espaço livre no pv existente, possivelmente diminuindo o lv relevante para permitir espaço ( lvreduce ) . Se você fizer isso, talvez seja necessário redimensionar o sistema de arquivos subjacente de antemão ( resize2fs )).

por Patrick 05.01.2015 / 01:44
2

Primeiramente, você deve fazer backup de seus dados apenas no caso.
Além disso, leia atentamente os passos e saiba exatamente o que está fazendo. Eu nunca fiz isso antes, acabei de extrair as etapas de algumas postagens no fórum.

  1. Com o fdisk, crie uma nova partição do tipo fd em sua nova unidade, sdb.
  2. Crie uma matriz RAID1 degradada:
    mdadm -C /dev/md0 --force --level=1 --raid-devices=2 /dev/sdb1 missing
  3. Crie um sistema de arquivos em / dev / md0: mkfs -t ext4 /dev/md0
  4. Agora, / dev / md0 é atualmente um raid1 degradado com dois drives, mas um está faltando.
  5. faça uma cópia completa de sda1 para md0, dd if=/dev/sda1 of=/dev/md0
  6. Monte / dev / md0 e inspecione.

Ok, neste momento você deve ter um ataque1 com todas as informações corretas. Agora você deve configurar seu grub2, fstab, etc. Certifique-se de ter todos os módulos corretos do kernel, etc. Feito isso, desligue o computador e desconecte fisicamente a drive0 (sda). Agora, coloque o sistema em funcionamento apenas com o md0.

Quando o computador estiver totalmente operacional sem o drive0 conectado, desligue-o novamente e reconecte o sda.

  1. Com fdisk, repartition / dev / sda com uma partição do tipo fd.
  2. Adicione / dev / sda1 ao seu array RAID1 existente: mdadm /dev/md0 --add /dev/sda1
  3. Feito !. A matriz começará a "reconstruir" e você poderá verificar o status com mdadm -D /dev/md0

fonte: link
link

    
por user606723 05.08.2011 / 22:38