У меня есть около 140 VMS, которые работали на Ubuntu 10.04 с использованием KVM. Различные операционные системы в виртуальных машинах, но в основном 10.04 виртуальных машин.
Они побежали хорошо под 10.04. Я сделал полную очистку дисков ОС и ввел все существующие виртуальные машины с помощью dirsh define их конфигурационных файлов. Я сделал это на серверах с 3-5 виртуальными машинами, и он работал нормально, но эти серверы работают по 20-25 виртуальных машин каждый.
После обновления я заметил следующие вещи:
- Некоторое время виртуальных машин сошло с ума. Как будто они были загружены и думали, что это было 2 месяца назад.
- Выполнение du/df больше не показывает, насколько велики изначально созданные img-файлы. Только то, что используется в них. Поэтому, когда у вас установлена 40G Ubuntu, она показывает как 2G в du, ls -lh показывает правильно
- Некоторые (не все) виртуальные машины ведут себя так, как будто они не могут записывать на диск почти так, как если бы у них не хватало места, но на 55% больше свободного места. После удаления файла виртуальная машина снова начинает работать.
- Виртуальные машины обычно все еще проверяются, но консоль и SSH не работают. Некоторые SSH-соединения зависают после ввода пароля.
Образы дисков живут на XFS.
Информация о версии:
- ОС: Ubuntu 12.04
- Ядро: 3.2.0-30-универсальный
- kvm 1: 84+dfsg-0ubuntu16+1.0+noroms+0ubuntu14.1 фиктивный переходный пакет от kvm к qemu-kvm
- qemu 1.0+noroms-0ubuntu14.1 фиктивный переходный пакет от qemu к qemu-kvm
- qemu-common 1.0+noroms-0ubuntu14.1 общая функциональность qemu (BIOS, документация и т. д.)
- qemu-kvm 1.0+noroms-0ubuntu14.1 Полная виртуализация на оборудовании i386 и amd64
- qemu-utils 1.0+noroms-0ubuntu14.1 утилиты qemu
- Устаревшая реализация BIOS Seabios 0.6.2-0ubuntu2.1, которую можно использовать в качестве полезной нагрузки coreboot
- vgabios 0.6c-2ubuntu3 VGA BIOS для VGA-карт Bochs и Qemu
- программы libvirt-bin 0.9.8-2ubuntu17.5 для библиотеки libvirt
- Библиотека libvirt0 0.9.8-2ubuntu17.5 для взаимодействия с различными системами виртуализации
Я также пытался собрать 14,7 QEMU / KVM с теми же результатами.
Нет записей в журналах (libvirt, qemu, syslog) на гипервизорах или в VMS.
<domain type="kvm">
<name>template</name>
<uuid>9b5004aa-e4e1-11de-9137-003048dad824</uuid>
<memory>1048576</memory>
<currentMemory>1048576</currentMemory>
<vcpu>2</vcpu>
<os>
<type arch="x86_64" machine="pc">hvm</type>
<boot dev="hd"/>
<kernel>/kvm/kernels/vmlinuz-2.6.32-24-server</kernel>
<initrd>/kvm/kernels/initrd.img-2.6.32-24-server</initrd>
<cmdline>ro root=/dev/vda</cmdline>
</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</emulator>
<disk type="file" device="cdrom">
<target dev="hdc" bus="ide"/>
<readonly/>
</disk>
<disk type="file" device="disk">
<source file="/kvm/images/template.img"/>
<target dev="vda" bus="virtio"/>
</disk>
<interface type="bridge">
<mac address="de:ad:3e:5b:47:99"/>
<source bridge="br2"/>
<model type="virtio"/>
</interface>
<serial type="pty">
<target port="0"/>
</serial>
<console type="pty">
<target port="0"/>
</console>
<graphics type="vnc" port="-1" listen="0.0.0.0" autoport="yes" keymap="en-us"/>
</devices>
</domain>
Делая стрейс на работающей виртуальной машине, я вижу это:
read(19, "\2\0\0\0\0\0\0\0\0\0\336\255\276\357\10\353\0\f\333\350\275\0\10\0E\0\0B\214\212@\0"..., 69632) = 90
ioctl(6, KVM_IRQ_LINE_STATUS, 0x7fff290e65f0) = 0
read(19, 0x7f7967430a54, 69632) = -1 EAGAIN (Resource temporarily unavailable)
select(20, [7 8 11 15 16 17 18 19], [], [], {1, 0}) = 1 (in [8], left {0, 999819})
read(16, 0x7fff290f6710, 16) = -1 EAGAIN (Resource temporarily unavailable)
Любая помощь будет оценена.
РЕДАКТИРОВАТЬ
Я обновился до последней сборки ядра из Ubuntu. Заметил некоторые Запреты от AppArmor, когда выполняется только iozone, поэтому я полностью удалил apparmor из моей системы тестирования. Обновлены библиотеки qemu/kvm и библиотеки поддержки, найденные в 12.10. Я также пытался использовать версии pc-0.12 и pc-0.14.
Все по-прежнему взаперти в течение часа или двух после загрузки.