Виртуализация · 3 min read · Feb 01, 2026
Виртуализация с KVM на сервере Debian Lenny
Виртуализация с KVM на сервере Debian Lenny
Версия 1.0
Автор: Фалько Тимме
Этот гид объясняет, как вы можете установить и использовать KVM для создания и запуска виртуальных машин на сервере Debian Lenny. Я покажу, как создать виртуальные машины на основе образов, а также виртуальные машины, которые используют логический том (LVM). KVM — это сокращение от Kernel-based Virtual Machine и использует аппаратную виртуализацию, т.е. вам нужен процессор, который поддерживает аппаратную виртуализацию, например, Intel VT или AMD-V.
Я не даю никаких гарантий, что это сработает для вас!
1 Предварительная заметка
Я использую машину с именем хоста server1.example.com и IP-адресом 192.168.0.100 здесь в качестве моего хоста KVM.
Нам также нужна настольная система, на которой мы установим virt-manager, чтобы мы могли подключиться к графической консоли виртуальных машин, которые мы устанавливаем. Я использую настольный компьютер Ubuntu 8.10 здесь.
2 Установка KVM
Хост KVM Debian Lenny:
Сначала проверьте, поддерживает ли ваш процессор аппаратную виртуализацию — если это так, команда
egrep '(vmx|svm)' --color=always /proc/cpuinfoдолжна отобразить что-то, например, вот так:
server1:~# egrep '(vmx|svm)' --color=always /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall
nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall
nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
server1:~#Если ничего не отображается, значит, ваш процессор не поддерживает аппаратную виртуализацию, и вам следует остановиться здесь.
Чтобы установить KVM и virtinst (инструмент для создания виртуальных машин), мы выполняем
aptitude install kvm libvirt-bin virtinstПосле этого мы должны добавить пользователя, под которым мы в данный момент вошли (root), в группу libvirt:
adduser `id -un` libvirtВам нужно выйти и войти снова, чтобы новое членство в группе вступило в силу.
Чтобы проверить, успешно ли установлен KVM, выполните
virsh -c qemu:///system listОн должен отобразить что-то вроде этого:
server1:~# virsh -c qemu:///system list
Id Name State
----------------------------------
server1:~#Если вместо этого отображается ошибка, значит, что-то пошло не так.
Далее нам нужно настроить сетевой мост на нашем сервере, чтобы наши виртуальные машины могли быть доступны с других хостов так, как если бы они были физическими системами в сети.
Для этого мы устанавливаем пакет bridge-utils…
aptitude install bridge-utils… и настраиваем мост. Откройте /etc/network/interfaces:
vi /etc/network/interfacesПеред изменением мой файл выглядит следующим образом:
| # Этот файл описывает сетевые интерфейсы, доступные на вашей системе # и как их активировать. Для получения дополнительной информации смотрите interfaces(5). # Интерфейс сетевого цикла auto lo iface lo inet loopback # Основной сетевой интерфейс #allow-hotplug eth0 #iface eth0 inet dhcp auto eth0 iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 |
Я изменяю его так, чтобы он выглядел следующим образом:
| # Этот файл описывает сетевые интерфейсы, доступные на вашей системе # и как их активировать. Для получения дополнительной информации смотрите interfaces(5). # Интерфейс сетевого цикла auto lo iface lo inet loopback # Основной сетевой интерфейс #allow-hotplug eth0 #iface eth0 inet dhcp auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 192.168.0.100 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1 bridge_ports eth0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off |
(Убедитесь, что вы используете правильные настройки для вашей сети!)
Перезапустите сеть…
/etc/init.d/networking restart… и выполните
ifconfigТеперь он должен показать сетевой мост (br0):
server1:~# ifconfig
br0 Link encap:Ethernet HWaddr 00:1e:90:f3:f0:02
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:350 (350.0 B) TX bytes:1456 (1.4 KiB)
eth0 Link encap:Ethernet HWaddr 00:1e:90:f3:f0:02
inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:43262 errors:0 dropped:0 overruns:0 frame:0
TX packets:23574 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:63379451 (60.4 MiB) TX bytes:1868584 (1.7 MiБ)
Interrupt:251 Base address:0xc000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:560 (560.0 B) TX bytes:560 (560.0 B)
server1:~#3 Установка virt-viewer или virt-manager на ваш настольный компьютер Ubuntu 8.10
Настольный компьютер Ubuntu 8.10:
Нам нужно средство для подключения к графической консоли наших гостей — мы можем использовать virt-manager (см. Управление гостями KVM с помощью Virt-Manager на Ubuntu 8.10) для этого. Я предполагаю, что вы используете настольный компьютер Ubuntu 8.10.
Выполните
sudo aptitude install virt-managerдля установки virt-manager.
4 Создание гостя Debian Lenny (на основе образа)
Хост KVM Debian Lenny:
Теперь давайте вернемся к нашему хосту KVM Debian Lenny.
Посмотрите на
man virt-installчтобы узнать, как его использовать.
Чтобы создать гостя Debian Lenny (в режиме моста) с именем vm10, 512 МБ ОЗУ, двумя виртуальными ЦП и образом диска ~/vm10.qcow2 (размером 12 ГБ), вставьте CD-диск установки Debian Lenny в CD-привод и выполните
virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c /dev/cdrom --vnc --noautoconsole --os-type linux --os-variant debianLenny --accelerate --network=bridge:br0 --hvmКонечно, вы также можете создать ISO-образ CD-диска установки Debian Lenny…
dd if=/dev/cdrom of=~/debian-500-amd64-netinst.iso… и использовать ISO-образ в команде virt-install:
virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c ~/debian-500-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debianLenny --accelerate --network=bridge:br0 --hvmВывод будет следующим:
server1:~# virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c ~/debian-500-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debianLenny --accelerate --network=bridge:br0 --hvm
Запуск установки...
Создание файла хранения... 100% |=========================| 12 ГБ 00:00
Создание домена... 0 B 00:00
Установка домена все еще в процессе. Вы можете повторно подключиться к
консоли, чтобы завершить процесс установки.
server1:~#Get new posts in your inbox
No spam. Unsubscribe anytime.