Mover o volume lógico para um novo disco físico

10

Eu tenho três volumes lógicos em um único grupo de volume usando um único volume físico (o disco / dev / sda inteiro).

Agora quero mover um desses volumes lógicos para um disco novo e mais rápido, por exemplo:

/dev/sda
    |-vg0-root → mounted to /
    |-vg0-foo  → mounted to /foo
    |-vg0-bar  → mounted to /bar

para:

/dev/sda
    |-vg0-root → mounted to /
    |-vg0-foo →  mounted to /foo

/dev/sdb
    |-vg1-bar  → mounted to /bar

Pelo que entendi, não posso usar pvmove ou vgsplit porque há apenas um volume físico no grupo de volumes existente.

Qual é uma boa abordagem para conseguir isso (de preferência online, criar um novo grupo de volume para o novo disco não é um requisito)?

    
por htorque 08.03.2015 / 10:11

1 resposta

16

Solução de grupo de um volume:

 pvcreate /dev/sdb
 vgextend vg0 /dev/sdb
 pvmove -n /dev/vg0/bar /dev/sda /dev/sdb

Solução do grupo de dois volumes:

 pvcreate /dev/sdb
 vgcreate vg1 /dev/sdb
 lvcreate -l100%FREE vg1
 mkfs -t ext4 /dev/vg1/lvol1
 mount /dev/vg1/lvol1 /mnt

Agora parte difícil, todas as atividades devem parar em /bar :

 cd /mnt ; ( cd /bat ; tar cf - * ) | tar xf -
 cd /
 umount /mnt
 mount /dev/vg1/lvol1 /bar

onde

  • pvcreate apaga todos os dados no disco (e se prepara para o LVM)
  • lvcreate poderia criar um volume lógico lvol1, você especifica o nome lv com -n bar
  • Eu uso a sintaxe HP-UX para lv, você pode ter que usar a sintaxe /dev/mapper/myvg-mylv

Depois de verificar se os dados estão OK, em um novo local:

  • você pode excluir com segurança o antigo /bar
  • edite /etc/fstab para usar o novo /bar
por 08.03.2015 / 10:42

Tags