kvm
Как настроить KVM на Debian Squeeze
KVM Debian howto
В качестве host системы будем использовать debian squeeze x64, в качестве гостевой системы – ubuntu server 12.04 LTS x64, однако мануал подходит для любой гостевой системы.
Прежде всего необходимо убедиться, что процессор поддерживает аппаратную виртуализацию, без нее KVM не заработает.
В качестве host системы будем использовать debian squeeze x64, в качестве гостевой системы – ubuntu server 12.04 LTS x64, однако мануал подходит для любой гостевой системы.
Прежде всего необходимо убедиться, что процессор поддерживает аппаратную виртуализацию, без нее KVM не заработает.
1
2
3
4
5
|
egrep '(vmx|svm)' /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm tpr_shadow vnmi flexpriority
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm tpr_shadow vnmi flexpriority
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm tpr_shadow vnmi flexpriority
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm tpr_shadow vnmi flexpriority
|
Нам понадобится созданный в предыдущей статье lvm том,размещенный на raid 1 массиве.
Отформатируем том с названием “iso”. В нем мы будем хранить загрузочные образы наших будущих гостевых систем. И смонтируем. Не забудьте прописать соотвеетствующую строку в/etc/fstab, если хотите, чтобы том монтировался и при загрузке системы.
1
2
|
mkfs.ext4 /dev/vds/iso
mount /dev/vds/iso /home/kvm/iso
|
Скачаем соответствующий образ ubuntu в /home/kvm/iso (туда смонтирован том lvm /dev/vds/iso)
1
|
cd /home/kvm/iso && wget http://releases.ubuntu.com//precise/ubuntu-12.04-server-amd64.iso
|
Ставим необходимые пакеты
1
|
aptitude install uml-utilities bridge-utils qemu-kvm virtinst libvirt-bin
|
Для работы с libvirtd у меня создан пользователь kvm, рекомендую вам тоже создать.
1
|
adduser kvm
|
Теперь добавим пользоватля в необходимые группы
1
2
|
adduser kvm libvirt
adduser kvm kvm
|
Для того, гостевые системы запускались с правами пользователяkvm необходимо отредактировать конфигурационный файл
1
|
vim /etc/libvirt/qemu.conf
|
Меняем пользователя с root на kvm, группу с root на libvirt
Находим в этом же файле строчку clear_emulator_capabilities = 1 и меняем значение на 0
Если вы работали с правами root, самое время зарегистрироваться пользователю kvm
1
|
su kvm
|
Приступим к установке гостевой системы. Проверим, что kvmустановился корректно
1
|
virsh -c qemu:///system list --all
|
Для того, чтобы наша гостевая система могла находиться в одной сети с хост системой настроим сетевой мост.
1
|
vim /etc/network/interfaces
|
Нужно чтобы получилось наподобии такого
Разрешим форвардинг пакетов в ядре и перезапустем сеть. В файле /etc/sysctl.conf найдем строчку net.ipv4.ip_forward=1 и раскомментируем ее.
1
2
|
sed -i.back /ip_forward/s/^#// /etc/sysctl.conf
sysctl -w net.ipv4.ip_forward=1
|
1
|
/etc/init.d/networking restart
|
И запустим установку гостевой системы
1
|
virt-install --connect qemu:///system -n ltsp-1 -r 512 --vcpus=1 --os-type=linux --disk ubuntu-12.04-server-amd64.iso,device=cdrom --disk path=/dev/vds/ltsp-1,bus=virtio -w bridge:br0 --hvm --accelerate --vnc --vncport=5901
|
Для того, чтобы подключиться к VNC гостевой системы, необходимо создать ssh туннель и пробросить порт на свой компьютер, по умолчанию VNC для libvirt включен на127.0.0.0:5900. Вы можете изменить эту настройку, в соответсвующе директиве /etc/libvirt/qemu.conf
1
|
ssh user@host -L5901:localhost:5901
|
Подключаемся к 127.0.0.1:5901
Команды libvirt
- Для смены cdrom1virsh -c qemu:///system attach-disk <guest_name> /путь/до/iso sdc --type cdrom --mode readonly
- Подключиться к гипервизору1virsh -c qemu:///system
- Список гостевых систем1virsh# list --all
- Помощь1virsh# help
- Принудительная остановка домена (нажатие на клавишу reset)1virsh# destroy <dom_name>
- Удалить домен1virsh# undefine <dom_name>
- Информация о домене1virsh# dominfo <domain_name>
- Автозапуск домена1virsh# autostart <dom_name>
- Автостарт сети
Комментарии
Отправить комментарий