Alterar a quantidade de núcleos de RAM e CPU no KVM

13

Como posso alterar a quantidade de núcleos de RAM e CPU para uma máquina virtual no KVM que já foi criada? obrigado

Zim3r
fonte
4
EM tempo de execução ou com reinicialização? Seria muito bom conhecer a propósito.
Andrew Smith
+1 - Também vale a pena esclarecer se isso seria no virt-manager (conforme mencionado na pergunta anterior) ou na linha de comando.
Rnxrx
Obrigado, acho que é mais fácil mudar isso na reinicialização e sim, criei VMs no virt-manager, mas a linha de comando está ok.
Zim3r
você não pode alterar o número de núcleos ou a quantidade de RAM em um kernel em execução.
Michael Martinez

Respostas:

13

Você pode editar sua XMLlinha de comando com:

virsh edit name_vhost

Então, você só precisa pesquisar a <memory>tag e modificá-la

Lembre-se de que a alocação de memória está em kilobytes; portanto, para alocar 512 MB de memória, use 512 * 1024 ou 524288.

alma negra
fonte
Muito obrigado, posso aumentar os núcleos da CPU com este método?
Zim3r
1
Você deve verificar isso semanticlab.net/index.php/... ;)
blacksoul
Existe alguma outra maneira? além do que está explicando em semanticlab.net
Zim3r
-1 porque simplesmente recebo: "error: unknown command: name_vhost". Observe que estou usando o nome do meu host em vez dessa string literal. De qualquer forma, gosto da resposta de Ahmed, mais abrangente.
Mike S
@ MikeS: Deveria ter sido virsh edit name_vhost. Eu corrigi a resposta.
Pausado até novo aviso.
16

Para configuração offline:

Para aumentar o número de CPUs:

virsh setvcpus <vm_name> <vcpu_count> --config

Se você receber um erro que excedeu o número máximo, primeiro faça:

virsh setvcpus <vm_name> <vcpu_count> --config --maximum

Repita o procedimento acima:

virsh setvcpus <vm_name> <vcpu_count> --config

Para aumentar o tamanho da memória:

virsh setmaxmem <vm_name> <memsize> --config
virsh setmem <vm_name> <memsize> --config

Para configuração online:

Você pode definir a vCPU e a memória enquanto a VM está sendo executada em --currentvez de --config, mas os novos números devem estar dentro dos valores máximos já definidos. Você não pode definir esses números máximos enquanto a VM está em execução. Você precisará desligar a VM com virsh shutdown <vm_name>, use o comando acima e reinicie a VM com virsh start <vm_name>.

Ahmed
fonte
7

Você pode editar as configurações da VM em virt-managerou no CLI alterando o XML emvirsh edit VMNAME

dyasny
fonte
1

Para aumentar a quantidade máxima de memória que pode ser alocada para a VM, você precisa aumentar o limite máximo de memória, desligar a VM, aumentar a memória alocada e iniciar a VM. Há um guia passo a passo aqui:

http://earlruby.org/2014/05/increase-a-vms-available-memory-with-virsh/

Para obter mais VCPUs, é necessário editar o arquivo XML virsh e reiniciar a VM. Há um guia passo a passo para fazer isso aqui:

http://earlruby.org/2014/05/increase-a-vms-vcpu-count-with-virsh/

Earl Ruby
fonte