KVM - Изменение памяти живых гостей

У меня есть гость KVM, из которого я хотел бы динамично изменить выделение памяти.

В данный момент, для изменения памяти гостя я должен работать:

sudo virsh edit $GUEST_DOMAIN

Затем измените первую строку, показанную в следующем разделе от конфигурации

...
<memory unit='KiB'>512000</memory>
  <currentMemory unit='KiB'>512000</currentMemory>
  <memtune>
    <hard_limit unit='KiB'>256000</hard_limit>
  </memtune>
...

и затем перезапустите гостя с virsh shutdown и virsh start.

Я пытался использовать virsh memtune --hard-limit 512000 --domain $GUEST_ID (ссылка), но это, кажется, не имеет никакого эффекта.

Я также пытался "подняться на воздушном шаре" из гостя, использующего документы здесь, но я продолжаю получать ошибку balloon: command not found

Вопрос

Есть ли способ динамично изменить размер гостя KVM с командой от хоста. В противном случае есть ли, по крайней мере, способ изменить размер памяти с командой и не иметь для редактирования файла конфигурации (или pershaps, virsh файл может быть отредактирован с sed)?

Дополнительная информация

Гость использует qcow2 редкий файл.

Ниже полная конфигурация от sudo virsh edit $GUEST

<domain type='kvm'>
  <name>svn.mydomain.com</name>
  <uuid>8463ab11-628a-c07c-4366-4f768247934a</uuid>
  <memory unit='KiB'>512000</memory>
  <currentMemory unit='KiB'>512000</currentMemory>
  <memtune>
    <hard_limit unit='KiB'>256000</hard_limit>
  </memtune>
  <vcpu placement='static'>4</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-trusty'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/kvm-spice</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/media/storage/kvm/vms/svn.mydomain.com.img'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </disk>
    <disk type='block' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:a2:4a:f6'/>
      <source bridge='kvmbr0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </memballoon>
  </devices>
</domain>
0
задан 25 August 2014 в 16:47
1 ответ

Не надо шутить с . На самом деле это довольно опасная настройка при применении к гостям KVM. Я бы удалил этот раздел немедленно.

Однако, пользователям QEMU и KVM настоятельно рекомендуется не устанавливать этот лимит, так как домен может быть убит ядром, если догадка слишком низкая. Определение памяти, необходимой для запуска процесса, является неразрешимой проблемой.

Чтобы уменьшить количество памяти, к которой гость KVM имеет доступ прямо сейчас, измените . Максимум, к которому может иметь доступ гость, задается параметром <память>, и для его изменения необходимо отключить гость.

.
1
ответ дан 4 December 2019 в 17:12

Теги

Похожие вопросы