Como aumentar o tamanho do disco do convidado KVM usando o LVM VG como pool de armazenamento?

1

O servidor host KVM está executando o CentOS 6.5 e um grupo de volumes LVM "storage_pool" é usado como o principal conjunto de armazenamento para o KVM.

Um convidado do Ubuntu é instalado usando um sistema de arquivos ext4 e monta o arquivo / dev / vda1 como /. Esta é a configuração do disco convidado:

<disk type='block' device='disk'>
  <driver name='qemu' type='raw' cache='none' io='native'/>
  <source dev='/dev/storage_pool/kvmguest.img'/>
  <target dev='vda' bus='virtio'/>
  <alias name='virtio-disk0'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>

Qual seria a melhor abordagem para aumentar o tamanho do disco do convidado? O VG tem muito espaço livre.

Eu encontrei alguns exemplos, mas a maioria usa LVM dentro dos convidados também, ou não eram completamente aplicáveis. Tanto quanto eu entendo, o método comum é criar um LV maior no mesmo VG, desligar o convidado, transferir os dados, editar a configuração para usar o novo LV?

Agradecemos antecipadamente por quaisquer sugestões ou sugestões

    
por f10bit 12.05.2014 / 18:39

3 respostas

0

Este é o procedimento com o qual fui:

  1. Estenda o volume lógico do convidado kvm

    # lvextend -L+50G /dev/storage_pool/guest.img
    
  2. Desligue o convidado kvm e desative o volume lógico

    # virsh shutdown guest
    # lvchange -a n /dev/storage_pool/guest.img
    
  3. Liste e anote as informações da partição do convidado kvm, mais importante do primeiro setor. Se ele não exibir setores, talvez seja necessário adicionar a opção '-u' ou '-u setores'

    # fdisk -l /dev/storage_pool/guest.img
    
  4. Exclua e recrie a partição para preencher todo o espaço estendido, verifique se você está usando setores como unidades e para selecionar o mesmo primeiro setor (geralmente 2048 se a partição estiver alinhada), você pode usar o comando 'u' fdisk para alternar entre unidades

    # fdisk /dev/storage_pool/guest.img
    Command (m for help): d
    Partition number (1-4): 1
    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    p
    Partition number (1-4): 1
    First sector (...): 2048
    Last sector...: hit enter and use the default last sector
    Command (m for help): a
    Partition number (1-4): 1
    Command (m for help): w
    
  5. Exponha o sistema de arquivos ext3 / 4 e redimensione-o

    # kpartx -a -v /dev/storage_pool/guest.img
    # e2fsck -p -f /dev/mapper/storage_pool-guest.img1
    # resize2fs /dev/mapper/storage_pool-guest.img1
    # e2fsck -p -f /dev/mapper/storage_pool-guest.img1
    # kpartx -d -v /dev/storage_pool/guest.img
    
  6. Ative o volume lógico e inicie o kvm guest

    # lvchange -a y /dev/storage_pool/guest.img
    # virsh start guest
    
por 08.08.2015 / 16:57
1

Pesquisando a mesma coisa, encontrei sua pergunta sem respostas ainda. Para mim, a seguinte coisa funcionou:

  1. encerre o convidado (no meu caso, um debian 7.0) da maneira usual.

  2. estender o LV "original" (no VG do hospedeiro, claro), por exemplo, por 5G. Para isso, você precisa ser root / sudo no host:

    lvextend -L + 5G / dev / YourStoragePoolVG / YourVirtualMachinesVGToExtend

  3. Abra o novo lv estendido (isto é, o "disco" da sua VM) no gparted:

    gparted / dev / mapper / YourStoragePoolVG-YourVirtualMachinesVGToExtend

  • Note: You must use the "/dev/mapper/..." path, not "/dev/dm-77" or "/dev/YourStoragePoolVG/..." or other (this seems to be a bug/feature of LVM)!
  1. Mexer nas partições do volume modificado (use a GUI normalmente)
  • Note: Consider the warnings about data loss, fs types etc.!
  • Note: Be careful.
  • In gparted, you can resize partitions and move them around in the partition table stored on the virtio disk within the LV.
  • Extending one or more partitions is IMHO not a problem. For partition/fs shrinking, use Google...
  • gparted also adapts the filesystems on the partitions (not only the partitions themselves.
  1. Reinicie sua VM. Agora, vê as partições modificadas.

Como eu disse, isso funcionou para mim (eu poderia tentar isso em alguma instalação de brinquedo sem correr riscos). Alguém poderia rever a instrução acima e comentar se isso funciona em geral? Obrigado.

    
por 01.10.2014 / 23:19
0

Qualquer pessoa que esteja procurando uma resposta para essa pergunta precisa verificar isso:

convidado do KVM não é possível reconhecer o novo tamanho do disco bruto depois de lvresize

Acho que virsh blockreisze é muito melhor que fdisk ou parted .

    
por 06.04.2017 / 10:25