Рассмотрим как создать виртуальную машину в qemu используя образ alpine Linux. Вместо него может быть любой серверный или Desktop дистрибутив.
Как создать виртуальную машину в qemu
Скачиваем образ для виртуальной машины
curl -O https://nl.alpinelinux.org/alpine/v3.8/releases/x86_64/alpine-standard-3.8.0-x86_64.iso
На машину устанавливаем quemu
apt-get install qemu-kvm qemu virt-manager virt-viewer libvirt-bin
Также понадобятся утилиты пакета qemu-utils
apt install qemu-utils
И пакет qemu-system-x86
apt install qemu-system-x86
Сначала создается диск для будущей машины в формате qcow2, объем 2 Гб
qemu-img create -f qcow2 alpine.qcow2 2G
Formatting 'alpine.qcow2', fmt=qcow2 size=2147483648 cluster_size=65536 lazy_refcounts=off refcount_bits=16
Имя диска alpine.qcow2. qcow2 — стандартный формат для qemu.
Пример создания VM
Вызываем бинарный файл qemu-system-x86_64 и ключами передаём ему параметры виртуальной машины.
qemu-system-x86_64 \
-enable-kvm \
-m 2048 \
-nic user,model=virtio \
-drive file=alpine.qcow2,media=disk,if=virtio \
-cdrom alpine-standard-3.8.0-x86_64.iso \
-sdl
Использованные ключи:
-enable-kvm: включает KVM (kernel virtual machine) для виртуализации, это обеспечивает большую скорость работы .
-m 2048: выделяемое количество оперативной памяти в Мб.
-nic user,model=virtio: задает параметры сети, позволяющие VM общаться с внешним миром.
-drive file=alpine.qcow2,media=disk,if=virtio: Указывает диск для машины
-cdrom alpine-standard-3.8.0-x86_64.iso: Задает образ скачанный ранее
-sdl: отвечает за графику.
На серверах графика обычно не нужна, ключ в этом случае заменяется -nographic.
Еще пример с минимумом параметров
qemu-system-x86_64 -nographic -hda alpine.qcow2 -boot d -cdrom alpine-standard-3.8.0-x86_64.iso -m 640
Запустить в виртуальную машину указав диск и количество памяти можно выполнив
qemu -hda ubuntu.img -m 640
Читайте также про LXC контейнеризацию