QEMU - бесплатный эмулятор и виртуализатор с открытым исходным кодом

Материал из Викиадмин
Версия от 19:26, 14 ноября 2018; Aleksdem (обсуждение | вклад) (Проблемы и решения)
Перейти к навигации Перейти к поиску

При использовании в качестве эмулятора компьютера, QEMU может запускать операционные системы и программы, созданные для одной машины (например, ARM) на другой машине (например, на вашем AMD64). С помощью динамической трансляции, он достигает очень хорошую производительность. Установка

Для Ubuntu, Debian и аналогичных:

   aptitude install kvm-pxe
   aptitude install qemu

Создание виртуальной машины

Для начала создайте файл, который будет “жёстким диском” вашего будущего виртуального компьютера:

  qemu-img create /media/flash/ubuntu 4G

В данном случае был создан файл Ubuntu размером в 4ГБ. Название было использовано так не случайно, старайтесь не давать непонятные имена, сами же запутаетесь.

Запускаем виртуальную машину:

   qemu -m 512 -hda /media/flash/ubuntu -net nic -net user -localtime -vnc 10.0.0.1:1 \ -cdrom /media/flash/ubuntu-12.04-server-i386.iso -boot d -usb

Итак, расшифровка:

  • -m 512 мы выделили виртуальной машине 512МБ
  • -hda /media/flash/ubuntu жесткий диск нашей виртуальной машины
  • -net nic -net user машинка выйдет в сеть и получит IP по DHCP с роутера или точки доступа, если он у вас установлен.
  • -vnc 10.0.0.1:1 к виртуальной машине можно будет подключится по VNC, у нас же на сервере нет графики. IP здесь указан РЕАЛЬНОЙ машины. :1 означает, что будет использоваться порт 5901. Если вы делаете вторую машину, используйте 10.0.0.1:2 и подключайтесь уже через VNC на 5902 порт.
  • -cdrom /media/flash/ubuntu-12.04-server-i386.iso файл-установочный образ.
  • -boot d загружаться с CDROM. Если нужно загрузиться с жесткого диска, используйте -boot с.
  • -usb подключить USB-устройства.

Чтобы виртуальная машина работала постоянно, запустите её через screen. Это позволит запустить машину и выйти с сервера, она же продолжит свою работу

Проблемы и решения

  • open /dev/kvm: No such file or directory

Ваша машина может не поддерживать виртуализацию. Сожалею, но будет работать всё медленно.

open /dev/kvm: No such file or directory
Could not initialize KVM, will disable KVM support

Попробуйте запустить тест kvm-ok. Если вы увидите такое:

INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used

Значит, проблему решить будет сложно. Вариант решения:

apt-get install module-assistant
m-a a-i kqemu


  • Изменить размер qcow2 диска
qemu-img resize example.qcow2 +5GB

Как подмонтировать raw образ

Помните, мы создавали /media/flash/ubuntu ? Получилось так, что кое-что я указал неправильно и система перестала загружаться. Неприятно, но поправимо, нужно лишь кое-что исправить. А для этого можно подмонтировать этот образ. Итак:

   sfdisk -l -uS /media/flash/ubuntu

и получаем

    2048  12580863   12578816  83  Linux

2048 - вот то, что нам нужно было. Умножаем это на 512 и получаем 1048576. Монтируем:

   mount -o loop,offset=1048576 /media/flash/ubuntu /mnt/

Все, доступ получен!

Virsh и CentOS

Список машин

virsh list --all

Остановка машинки

virsh suspend example_vm1

Выключение виртуалки

virsh shutdown example_vm1

Запуск машинки

virsh start example_vm1

Копия машинки

virt-clone -o example_vm1 -n example_vm2 -f /var/lib/libvirt/images/example_vm2.qcow2 --connect=qemu:///system