lvm espelhamento de espaço indisponível

3

Estou tentando migrar meus dados em lvm para dois novos discos e configurar o espelhamento entre os dois. Eu migrei com êxito todos os dados para o primeiro dos dois discos, deixando o segundo completamente disponível como um espelho. Eu verifiquei isso usando pvdisplay -m /dev/sd{g,h}1

  --- Physical volume ---
  PV Name               /dev/sdg1
  VG Name               vg
  PV Size               931.51 GiB / not usable 3.19 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              238466
  Free PE               82866
  Allocated PE          155600
  PV UUID               v2nc3j-EFBR-QpuG-xgro-Rm59-fmu6-IB3QcR

  --- Physical Segments ---
  Physical extent 0 to 49999:
    Logical volume  /dev/vg/videos
    Logical extents 0 to 49999
  Physical extent 50000 to 99999:
    Logical volume  /dev/vg/home
    Logical extents 0 to 49999
  Physical extent 100000 to 129999:
    Logical volume  /dev/vg/music
    Logical extents 0 to 29999
  Physical extent 130000 to 155599:
    Logical volume  /dev/vg/videos
    Logical extents 50000 to 75599
  Physical extent 155600 to 238465:
    FREE

  --- Physical volume ---
  PV Name               /dev/sdh1
  VG Name               vg
  PV Size               931.51 GiB / not usable 3.19 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              238466
  Free PE               238466
  Allocated PE          0
  PV UUID               LuTrem-WcsZ-qw7l-2CDS-lLKI-wdq0-QEXhLf

  --- Physical Segments ---
  Physical extent 0 to 238465:
    FREE

Então, quando tento espelhar o volume home logical, por exemplo, ele diz que não tenho espaço suficiente. Eu usei lvconvert -m1 vg/home e a saída foi:

  Insufficient suitable allocatable extents for logical volume : 50000 more required
  Unable to allocate extents for mirror(s).

Isso é intrigante para mim porque parece que há muito espaço no segundo disco para espelhar. Há algo que eu fiz de errado aqui? Ou existe uma maneira de dizer explicitamente ao LVM onde colocar cada perna do espelho? Estou usando o lvm2.

    
por Bryan Ward 04.02.2011 / 23:55

2 respostas

1

Você não tem espaço suficiente para o mirrorlog. O padrão é ter o mirrorlog em um disco (em um PV separado). Consulte o link para obter mais informações.

    
por 05.02.2011 / 01:24
1

Eu sei que este é um tópico antigo, mas não sei por que a outra resposta está vinculada a um relatório de bug. Infelizmente, o LVM faz um péssimo trabalho explicando porque está dizendo que está sem espaço, mas você pode evitar isso adicionando "--mirrorlog core" ao final da sua linha lvconvert. Isso manterá o log na memória em vez de gravá-lo no disco.

Aviso de isenção de responsabilidade: deve ser usado apenas para um evento transitório (por exemplo, migração de disco), porque com o mirrorlog na memória, ele perderá o espelho após a reinicialização. Eu uso isso porque temos que migrar nossos dispositivos SAN de um quadro para outro quando eles saem da garantia, e eu interrompo o espelho antigo depois que a sincronização é concluída. Se você quer uma solução permanente para o espelhamento, eu recomendo usar o mdadm ou configurar outro volume (acredito que tenha que estar em seu próprio VG, mas posso estar errado) para o mirrorlog. Ou você pode usar o RAID de hardware se a sua infraestrutura oferecer suporte a ele.

    
por 06.03.2015 / 21:33

Tags