13 июня 2010 г.

Установка kvm на Debian Squeeze

Займемся виртуализацией, с аппаратной поддержкой процессора.

KVM (или Kernel-based Virtual Machine) — это программное решение, обеспечивающее виртуализацию в среде Linux на платформе x86, которая поддерживает аппаратную виртуализацию на базе Intel VT (англ.) (Virtualization Technology) либо AMD SVM (Secure Virtual Machine).

Добавлю, без аппаратной поддержки процессором она, как я понял, работать не будет.

Ставим основную систему. Для создания загрузочной флешки используем уже установленный линукс.
У меня будущий серверный процессор AMD, а также потому что squeeze еще unstable, качаем образ отсюда. Я скачал debian-testing-amd64-netinst.iso.

Основную систему будем ставить с флешки. Качаем файл boot.img.gz отсюда. Далее распаковываем образ на флешку:

#zcat boot.img.gz > /dev/sdX

где /dev/sdX - ваша флешка.

Далее вытащим и вставим флешку обратно. Скопируем в корень на автоматически примонтированную флешку файл debian-testing-amd64-netinst.iso. Все, отмонтируем флешку, вставляем в наш сервер, загружаемся и устанавливаем систему.

Создадим две директории - iso для установочных образов, vms для образов виртуальных машин. Копируем с флешки образ в iso.

Устанавливаем kvm:

#apt-get install qemu-kvm libvirt-bin virtinst bridge-utils

bridge-utils - сетевой мост. Настраиваем:

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
address 192.168.0.20
netmask 255.255.255.0
gateway 192.168.0.1
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

Перезагружаемся.

Проверяем

#ifconfig
#virsh list

virsh - это команда управления виртуальными машинами.

полезно virsh help.

Теперь настала очередь создать виртуальную машину.

#virt-install -n mediasrv -r 256 -f /vms/mediasrv.qcow2 -s 300 -c /iso/debian-testing-amd64-netinst.iso --vnc --vncport=5900 --noautoconsole --os-type linux --os-variant=generic26

-r - оперативная память
-f - файл-образ сервера
-s - размер файл-образа в гигабайтах
-c - cdrom
- остальное понятно.

как ни странно, но подключиться напрямую к vnc серверу (с другой системы в сети) мне не удалось, по-видимому Vinagre не справляется с авторизацией. Поэтому у меня получилось подключиться через ssh тунель:

$ ssh -L 5900:localhost:5900 root@server

После подключения, в Vinagre подключаемся к localhost:5900 и попадаем на новую виртуальную систему, с экраном установки debian.

Устанавливаем ssh на обе системы и дальше дело техники.

ps. В планах опробовать паравиртуализацию.

1 комментарий:

  1. "как ни странно, но подключиться напрямую к vnc серверу (с другой системы в сети) мне не удалось, по-видимому Vinagre не справляется с авторизацией"

    По-умолчанию все виртуальные машины прослушивают VNC порт только на локальном интерфейсе (127.0.0.1) Настраивается этот параметр либо глобально, либо индивидуально для каждой виртуальной машины.

    ОтветитьУдалить