Não é possível determinar o erro de status de sincronização ao tentar dividir o espelho LVM2 RAID 1

1

Para o contexto, veja minha resposta: Mover um volume lógico de um grupo de volumes para outro .

Eu tentei usar essa receita para valer. Veja a transcrição em link

Parece que eu não testei isso o suficiente. Ao tentar aplicar isso no meu sistema, recebi o seguinte erro

root@orwell:/tmp# lvconvert --type raid1 --mirrors 1 /dev/newdebian/debian_boot /dev/md2
  Logical volume newdebian/debian_boot successfully converted.

root@orwell:/tmp# lvconvert --splitmirrors 1 --name debian_boot_copy /dev/newdebian/debian_boot

  Unable to determine sync status of newdebian/debian_boot.
  Unable to split newdebian/debian_boot while it is not in-sync.

Eu não estou encontrando nenhuma informação sobre isso na net, mas também acho improvável que eu seja a primeira pessoa no mundo a se deparar com isso. Observe que os dois grupos de volumes, neste caso, estão em dispositivos RAID md separados. Aqui está o layout atual.

Eu fundei o debian VG no newdebian VG.

Esta é uma posição complicada para se estar - talvez eu não consiga usar minha instalação regular, que está no debian VG, até que isso seja corrigido.

root@orwell:/tmp# lvs -a -o name,copy_percent,devices newdebian
  LV                     Cpy%Sync Devices                                        
  acl                             /dev/md1(80472)                                
  boot                            /dev/md2(35761)                                
  data                            /dev/md1(95835)                                
  debian_boot                     debian_boot_rimage_0(0),debian_boot_rimage_1(0)
  [debian_boot_rimage_0]          /dev/md1(0)                                    
  [debian_boot_rimage_1]          /dev/md2(36000)                                
  [debian_boot_rmeta_0]           /dev/md1(117666)                               
  [debian_boot_rmeta_1]           /dev/md2(35999)                                
  debian_home                     /dev/md1(12158)                                
  debian_root                     /dev/md1(238)                                  
  home                            /dev/md2(11920)                                
  postgres                        /dev/md1(105563)                               
  root                            /dev/md2(0)                                    
  swap                            /dev/md1(35999)                                
  swap                            /dev/md1(113243)                               
  vboxshare                       /dev/md1(117410)                               
  video                           /dev/md1(42072)                                
  video                           /dev/md1(83035)                                
  windows                         /dev/md1(36952)                                
  windows                         /dev/md1(80475)                                
  windows                         /dev/md1(114338)                               
  windows10                       /dev/md1(100955)                               
  windows10                       /dev/md1(115618)  

Por enquanto, converti de volta para linear

 root@orwell:/tmp# lvconvert --type linear /dev/newdebian/debian_boot
  Unable to determine sync status of newdebian/debian_boot.
  Logical volume newdebian/debian_boot successfully converted.

mas, claro, gostaria de saber qual é o problema.

    
por Faheem Mitha 03.07.2017 / 21:40

1 resposta

1

Os seguintes itens parecem com o LV inativo:

root@orwell:/tmp# lvconvert --splitmirrors 1 --name debian_boot_copy /dev/newdebian/debian_boot

  Unable to determine sync status of newdebian/debian_boot.
  Unable to split newdebian/debian_boot while it is not in-sync.

Eu chequei com 2.02.172 e é exatamente o que eu recebi quando LV estava inativo.

A divisão de uma perna é permitida somente quando o RAID está sincronizado. E o LVM não consegue determinar se o dispositivo está em sincronia enquanto não está ativo.

Primeiro, você deve ativar o dispositivo antes de qualquer tentativa de dividir uma perna:

lvchange -ay newdebian/debian_boot

E, em seguida, aguarde a sincronização - não há nenhum comando de pesquisa no LVM para fazer isso, você terá que esperar um pouco e verificar a si mesmo, ou escrever um script.

NOTA: Pode ser mais seguro utilizar dmsetup status output, como para a versão 2.02.171 do LVM e os 100% mais antigos podem ser reportados devido ao arredondamento enquanto o dispositivo não estava totalmente sincronizado.

Só então você poderá executar com êxito a operação lvconvert --splitmirrors acima.

    
por 19.07.2017 / 17:30

Tags