Виртуальные машины на UbuntuServerKVM
Спасибо тем людям кто придумал виртуализацию. Как она нам помогает в работе не надо искать и собирать компьютер чтоб протестировать то или ионное ПО.
Рассмотрим процесс установки развертывания виртуальной машины на ОС Ubuntu server. НА виртуалке будет windows XP.
Процесс установки Ubuntuserverмы ни будем рассматривать так как он прост, остановимся на выборе пакетов которые установим сразу это:
OpenSSH
VirtualMachinehost
После установки подключаемся к серверу по ssh:
Проверяем поддерживает наше железо виртуализацию (но так как мы изначально хотели развернуть сервер с виртуалками и значит выбирали железо под этого)
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 nx lm constant_tsc arch_perfmon pebs bts 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 nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm tpr_shadow vnmi flexpriority
Значит сервер подходит для нашей задачи.
Устанавливаем необходимые пакеты:
sudo apt-get install kvm libvirt-bin python-virtinst bridge-utils
Проверяем, как установилась KVM, командой:
sudovirsh -c qemu:///system list –all
В консоли должно появится
ID Имя Статус
----------------------------------------------------
Чтобы виртуальная машинавиделась в нашей сети редактируем /etc/nerwork/interfacesи приводим его вод в такой вид:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.20.20
netmask 255.255.255.0
network 192.168.20.0
broadcast 192.168.20.255
gateway 192.168.20.1
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stpoff
Все мы подготовили приступаем к установки гостевой ОС
Запускаем:
sudovirt-install -nwinxp -r 512 -f /mnt/virt/xp.img -s 20 -c /home/temp/Image.iso --noautoconsole --accelerate --os-type=windows --os-variant=win2k3 -v --vnc -wbridge:br0 –noacpi
где :
-nwinxp– Название нашей виртуалки
-r512 – ОЗУ под виртуалку
-f/mnt/virt/xp.img– файл, жесткий диск виртуалки
-s 20 – Размер жесткого диска виртуалки
c /home/temp/Image.iso– образ дистрибутива гостевой ОС
--vnc — запускаем для ВМ vnc-сервер
-wbridge:br0 – указываем использовать сетевой мост
После запуска выдало вот такую ошибку.
Программа 'virt-install' на данный момент не установлена. Вы можете установить её, выполнив:
sudo apt-get install virtinst
Устанавливаем.
root@myser:/mnt# apt-get install virtinst
Проверяем как запустилась наша виртуалка
sudo virsh -c qemu:///system list --all
ID Имя Статус
----------------------------------------------------
2 winxp работает
Видим что наша виртуалка запущена. Преступаем к установки гостевой ОС.
Для начала необходимо подключится к vnc-серверу, который отображает экран ВМ.
Для этого мы используем две программы это puttyи VNC
Запускаем Putty
1. Во вкладке Session– HostName(or IP address) адрес нашего хост-сервера
2. Во вкладке Windows-Translation — выбираем UTF-8
3. Во кладке Connection-SSH-Tunnels — заполняем поля Source port 59000, Destination localhost:5900, нажимаем Add. Должна появится следующая запись:
4. Жмем Open и мы должны подключится по SSH к хост-серверу. Одновременно у нас произойдет перенаправление порта 5900 хост-сервера (порт vnc-сервера) на наш локальный 59000 порт.
Запускаем UltraVNC Viewer и подключаемся к localhost:59000. Если все сделано правильно, то мы увидим экран нашей ВМ с запущенным инсталлятором гостевой ОС.
Команды для управления ВМ:
virsh -c qemu:///system help
Встроенная помощь по командам
virsh -c qemu:///system list --all
Посмотреть статус установленных ВМ
virsh -c qemu:///system start vsrv1
ЗапуситьВМ vsrv1
virsh -c qemu:///system shutdown vsrv1
Послать команду завершения работы ВМ
virsh -c qemu:///system destroy vsrv1
Принудительно завершить работу ВМ
virsh -c qemu:///system undefine vsrv1
УдалитьВМ