Migrar um grupo inteiro de volumes LVM2 para RAID5

2

Eu tenho um servidor virtual construído com Ubuntu e Xen

SO

  • Ubuntu 12.04.1 LTS 64 bits
  • xen-hypervisor-4.1

Disco

  • Hitachi SAS 15K 147 GB (x2) em um grupo de volume
  • sda1 1GB / boot
  • sda2 146GB lvm
  • sdb1 147GB lvm

Toda máquina virtual tem no mínimo dois LV (root, swap)

Tenho disponíveis três novos discos Hitachi SAS 15K 600GB Eu quero criar um RAID5 com este disco e migrar todas as partições do VG. Isso é possível e como?

Eu sei como criar um RAID simples com configuração RAID simples com o mdadm , mas eu quero ter a flexibilidade do VG em meu RAID. Isso é possível e como?

Minha necessidade é ter a flexibilidade do VG, mas redundância de RAID.

    
por rkmax 11.04.2013 / 18:55

2 respostas

5

Primeiro, você cria o array raid. Supondo que as novas unidades são sdc, sdd e sde, e você ainda não possui nenhuma matriz de raid e criou uma única partição raid em cada, faça:

sudo -s
mdadm --create /dev/md0 -n 3 -l raid5 /dev/sd[cde]1
mdadm --detail --scan >> /etc/mdadm/mdadm.conf

Em seguida, adicione-o ao vg, mova os volumes lógicos e remova os pvs existentes:

pvcreate /dev/md0
vgextend vg0 /dev/md0
pvmove -i 10 /dev/sda2 /dev/md0
pvmove -i 10 /dev/sdb1 /dev/md0
vgreduce vg0 /dev/sda2 /dev/sdb1

Agora você precisará transferir sua partição / boot, reconstruir seu initramfs e reinstalar o grub para obter o sistema capaz de inicializar a partir dos novos discos:

mount --move /boot /mnt
rmdir /boot
cp -a /mnt /boot
umount /mnt
update-initramfs -u
dpkg-reconfigure grub-pc

Um menu perguntará em qual disco o grub deve ser instalado. Selecione sdc, sdd e sde. Agora você pode desligar e remover os discos antigos.

    
por 11.04.2013 / 20:12
2

Sim, você pode usar o LVM no RAID, isso não é problema.

Você acabou de criar o RAID usando mdadm e, em seguida, pvcreate / vgcreate um novo VG nele. Então você lvcreate os LVs e usa dd if=/dev/oldvg/lv1 of=/dev/newvg/lv1 bs=1M ou similar para copiar seus antigos LVs para o novo VG.

Esse seria o método mais rápido - adequado se você não quiser continuar usando seus discos antigos e se você não fizer a mudança enquanto o sistema estiver on-line. Ou seja você faria isso de um sistema de salvamento ou ao vivo.

Se você precisar que isso esteja on-line enquanto a máquina está em execução e trabalhando ativamente, em vez de vgcreate você adicionaria o novo ataque como um PV ao seu VG existente, usando pvcreate / vgextend .

Em seguida, você pode usar pvmove para fazer os LVs passarem do disco antigo para o novo RAID e, finalmente, remover o disco antigo do VG usando vgreduce . No seu caso, você repetiria isso para os dois discos.

Você deve estar ciente de que pvmove é muito lento e também uma das operações mais perigosas no LVM. Você pode sofrer perda de dados se algo der errado. Fazer uma cópia é mais seguro - se algo der errado, os dados originais continuarão ilesos.

    
por 11.04.2013 / 19:07