Por que não consigo criar um LVM RAID1 ou um volume espelhado?

2

Estou executando o Ubuntu 12.04 e acabei de adicionar 2 novos discos rígidos ao meu servidor. A idéia é que eu criaria um grupo de volumes que os incluísse e criasse um monte de volumes lógicos neles que seriam espelhados.

Eu particionei as duas unidades para ter uma partição primária em cada tipo 8E (LVM):

/dev/sdc1            2048  3907029167  1953513560   8e  Linux LVM
/dev/sdd1            2048  3907029167  1953513560   8e  Linux LVM

Em seguida, adicionou-os como dispositivos físicos, criou um grupo de volumes e adicionou o ao grupo de volumes:

--- Volume group ---
VG Name               vmdata
System ID             
Format                lvm2
Metadata Areas        2
Metadata Sequence No  8
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                0
Open LV               0
Max PV                0
Cur PV                2
Act PV                2
VG Size               3.64 TiB
PE Size               4.00 MiB
Total PE              953862
Alloc PE / Size       0 / 0   
Free  PE / Size       953862 / 3.64 TiB
VG UUID               2zdfc7-1fj2-kMdy-7OUq-eadi-AsF2-Sujbes

--- Physical volumes ---
PV Name               /dev/sdc1     
PV UUID               kAU93m-4S5V-MD1V-EkTA-m0u7-bmQn-3pyVmk
PV Status             allocatable
Total PE / Free PE    476931 / 476931

PV Name               /dev/sdd1     
PV UUID               erVnaJ-vp5S-0LHW-oRSx-joer-VXPX-KG0uDb
PV Status             allocatable
Total PE / Free PE    476931 / 476931

Quando tento criar um novo volume lógico do tipo RAID 1, ele falha:

$ lvcreate --type raid1 -m 1 -L 64G -n fred vmdata
WARNING: Unrecognised segment type raid1
Insufficient suitable allocatable extents for logical volume : 16384 more required
Unable to allocate extents for mirror(s).

Quando tento criá-lo como um espelho simples, ele também falha:

$ lvcreate -m 1 -L 64G -n fred vmdata
Insufficient suitable allocatable extents for logical volume : 16384 more required
Unable to allocate extents for mirror(s).

O que estou perdendo?

    
por Zac Tolley 17.05.2014 / 22:28

2 respostas

1

Certifique-se de que a matriz RAID esteja em um estado ativo.

Exemplo

$ lvscan
  inactive          '/dev/kodak_vg/lvm0' [149.00 GB] inherit

Então eu corri este comando para ativá-lo:

$ vgchange -ay
  1 logical volume(s) in volume group "kodak_vg" now active

Executar novamente o lvscan mostrou o LV como ativo agora:

$ lvscan
  ACTIVE            '/dev/kodak_vg/lvm0' [149.00 GB] inherit

Tipos de segmento válidos

Com base no erro, parece que talvez haja algo errado com seus tipos de segmento.

WARNING: Unrecognised segment type raid1

Você pode usar este comando para descobrir quais tipos de segmento são válidos.

$ sudo lvm segtypes
  striped
  zero
  error
  free
  snapshot
  mirror
  raid1
  raid10
  raid4
  raid5
  raid5_la
  raid5_ra
  raid5_ls
  raid5_rs
  raid6
  raid6_zr
  raid6_nr
  raid6_nc
  thin-pool
  thin

Versão do LVM do Ubuntu 12.04?

A capacidade de criar RAIDs dentro do LVM é um recurso relativamente novo, então eu suspeito que a versão 12.04 do LVM simplesmente não suporta esse tipo de segmento.

O que fazer?

Se este for o problema, nem tudo está perdido. Você pode simplesmente configurar o LVM VG (Volume Group) na parte superior de um MD ( mdadm ) RAID1.

sem LVM, apenas MD com o LVM + MD

Referências

por 18.05.2014 / 03:58
1

O 12.04 não suporta o raid1, mas o 14.04 o adicionou.

Quando eu tentei criar um espelho simples (m 1) ele não funcionou, pois precisava de um terceiro volume para o log de espelho.

Atualizando para o 14.04 corrigiu.

    
por 18.05.2014 / 12:27