Налаштування віртуальної машини kvm в linux. Робота з віртуальними машинами KVM. Вступ. Зміна попередніх установок

Головна / Корисне ПЗ

Мені особисто найпростіше думати про KVM (Kernel-based Virtual Machine), як про такий рівень абстракції над технологіями хардверної віртуалізації Intel VT-x та AMD-V. Беремо машину з процесором, що підтримує одну з цих технологій, ставимо на цю машину Linux, в Linux встановлюємо KVM, в результаті отримуємо можливість створювати віртуалки. Так і працюють хмарні хостинги, наприклад, Amazon Web Services . Поряд з KVM іноді також використовується і Xen, але обговорення цієї технології вже виходить за межі даного посту. На відміну від технологій контейнерної віртуалізації, наприклад, того ж Docker, KVM дозволяє запускати як гостьову систему будь-яку ОС, але при цьому має і б провеликі накладні витрати на віртуалізацію.

Примітка:Наведені нижче дії були перевірені мною на Ubuntu Linux 14.04, але за ідеєю будуть багато в чому справедливі як для інших версій Ubuntu, так і для інших дистрибутивів Linux. Все має працювати як на робочому столі, так і на сервері, доступ до якого здійснюється за SSH.

Установка KVM

Перевіряємо, чи підтримується Intel VT-x або AMD-V нашим процесором:

grep -E "(vmx | svm)" / proc/ cpuinfo

Якщо щось нагріпо, значить підтримується, і можна діяти далі.

Встановлюємо KVM:

sudo apt-get update
sudo apt-get install qemu-kvm libvirt-bin virtinst bridge-utils

Що де прийнято зберігати:

  • /var/lib/libvirt/boot/ - ISO-образи для встановлення гостьових систем;
  • /var/lib/libvirt/images/ - образи жорстких дисків гостьових систем;
  • /var/log/libvirt/ - тут слід шукати всі логі;
  • /etc/libvirt/ - каталог із файлами конфігурації;

Тепер, коли KVM встановлено, створимо першу віртуалку.

Створення першої віртуалки

Як гостьова система я вибрав FreeBSD. Качаємо ISO-образ системи:

cd / var / lib / libvirt / boot /
sudo wget http:// ftp.freebsd.org/ path/ to/ some-freebsd-disk.iso

Управління віртуальними машинами зазвичай проводиться за допомогою утиліти virsh:

sudo virsh --help

Перед запуском віртуалки нам доведеться зібрати деякі додаткові відомості.

Дивимося список доступних мереж:

sudo virsh net-list

Перегляд інформації про конкретну мережу (з ім'ям default):

sudo virsh net-info default

Дивимося список доступних оптимізації для гостьових ОС:

sudo virt-install --os-variant list

Отже, тепер створюємо віртуальну машину з 1 CPU, 1 Гб RAM та 32 Гб місця на диску, підключену до мережі default:

sudo virt-install \
--virt-type = kvm \
--name freebsd10 \
--ram 1024 \
--vcpus =1 \
--os-variant = freesd8 \
--hvm \
--cdrom =/ var/ lib/ libvirt/ boot/ FreeBSD-10.2 -RELEASE-amd64-disc1.iso \
--network network =default,model =virtio \
--graphics vnc \
--disk path =/ var/ lib/ libvirt/ images/ freebsd10.img,size =32 ,bus =virtio

Ви можете побачити:

WARNING Неналежне до підключення до графічного console: virt-viewer not
installed. Please install the "virt-viewer" package.

Domain installation still in progress. Ви можете reconnect to the console
to complete the installation process.

Це нормально, так і має бути.

Потім дивимося властивості віртуалки у форматі XML:

sudo virsh dumpxml freebsd10

Тут наводиться найповніша інформація. У тому числі є, наприклад, і MAC-адреса, яка знадобиться нам далі. Поки що знаходимо інформацію про VNC. У моєму випадку:

За допомогою улюбленого клієнта (я особисто користуюся Rammina) заходимо по VNC, за необхідності використовуючи SSH port forwarding. Потрапляємо прямо в інстялятор FreeBSD. Далі все як завжди - Next, Next, Next, отримуємо встановлену систему.

Основні команди

Давайте розглянемо основні команди для роботи з KVM.

Отримання списку всіх віртуалок:

sudo virsh list --all

Отримання інформації про конкретну віртуалку:

sudo virsh dominfo freebsd10

Запустити віртуалку:

sudo virsh start freebsd10

Зупинити віртуалку:

sudo virsh shutdown freebsd10

Жорстко прибити віртуалку (попри назву, це невидалення):

sudo virsh destroy freebsd10

Ребутнути віртуалку:

sudo virsh reboot freebsd10

Схиляти віртуалку:

sudo virt-clone -o freebsd10 -n freebsd10-clone \
--file/var/lib/libvirt/images/freebsd10-clone.img

Включити/вимкнути автозапуск:

sudo virsh autostart freebsd10
sudo virsh autostart --disable freebsd10

Запуск virsh у діалоговому режимі (усі команди у діалоговому режимі – як описано вище):

sudo virsh

Редагування властивостей віртуалки в XML, у тому числі тут можна змінити обмеження кількості пам'яті і т.д.

sudo virsh edit freebsd10

Важливо!Коментарі з відредагованого XML, на жаль, видаляються.

Коли віртуалка зупинена, диск можна ресайзити:

sudo qemu-img resize / var / lib / libvirt / images / freebsd10.img -2G
sudo qemu-img info/var/lib/libvirt/images/freebsd10.img

Важливо!Вашій гостьовій ОС, швидше за все, не сподобається, що диск раптово став більшим або меншим. У кращому випадку вона завантажиться в аварійному режимі з пропозицією перерозбити диск. Швидше за все, ви не повинні так хотіти робити. Куди простіше може виявитися нову віртуалку і змігрувати на неї всі дані.

Резервне копіювання та відновлення виробляються досить просто. Достатньо зберегти кудись висновок dumpxml, а також образ диска, а потім відновити їх. На YouTube вдалося знайти відеоз демонстрацією цього процесу, все й справді нескладно.

Налаштування мережі

Цікаве питання — як визначити, яку IP-адресу отримала віртуалка після завантаження? У KVM це робиться хитро. Я врешті-решт написав такий скрипт на Python :

#!/usr/bin/env python3

# virt-ip.py script
# (c) 2016 Aleksander Alekseev
# http://сайт/

import sys
import re
import os
import subprocess
from xml .etree import ElementTree

def eprint(str):
print (str, file = sys.stderr)

if len (sys. argv)< 2 :
eprint("USAGE: " + sys .argv [ 0 ] + " " )
eprint("Example: " + sys .argv [ 0 ] + " freebsd10" )
sys .exit (1 )

if os .geteuid() != 0 :
eprint("ERROR: you shold be root" )
eprint("Hint: run `sudo" + sys .argv [0] + "...`");
sys .exit (1 )

if subprocess .call ( "which arping 2>&1 >/dev/null", shell = True ) ! = 0 :
eprint("ERROR: arping not found" )
eprint( "Hint: run `sudo apt-get install arping`")
sys .exit (1 )

Domain = sys .argv [ 1 ]

if not re .match ("^*$" , domain) :
eprint( "ERROR: invalid characters in domain name")
sys .exit (1 )

Domout = subprocess .check_output ("virsh dumpxml "+domain+" || true" ,
shell = True)
domout = domout.decode ("utf-8") .strip()

if domout == "" :
# error message already printed by dumpxml
sys .exit (1 )

Doc = ElementTree.fromstring (domout)

# 1. list all network interfaces
# 2. run `arping` on every interface in parallel
# 3. grep replies
cmd = "(ifconfig | cut -d " "-f 1 | grep -E "." | " + \
"xargs -P0 -I IFACE arping -i IFACE -c 1 () 2>&1 |" + \
"grep "bytes from") | | true"

for child in doc.iter () :
if child.tag == "mac" :
macaddr = child.attrib ["address"]
macout = subprocess .check_output (cmd .format (macaddr) ,
shell = True)
print (macout.decode ("utf-8" ) )

Скрипт працює як із default мережею, так і з bridged мережею, налаштування якої ми розглянемо далі. Проте практично куди зручніше налаштувати KVM те щоб він завжди призначав гостьовим системам одні й самі IP-адреси. Для цього правимо налаштування мережі:

sudo virsh net-edit default

… приблизно таким чином:

>



>

Після внесення цих правок


>

… і замінюємо щось на кшталт:




>

Перезавантажуємо гостьову систему та перевіряємо, що вона отримала IP по DHCP від ​​роутера. Якщо ж ви хочете, щоб гостьова система мала статичну IP-адресу, це налаштовується як звичайно всередині гостьової системи.

Програма virt-manager

Вас також може зацікавити програма virt-manager:

sudo apt-get install virt-manager
sudo usermod -a -G libvirtd USERNAME

Так виглядає її головне вікно:

Як бачите, virt-manager є не тільки GUI для віртуалок, запущених локально. З його допомогою можна керувати віртуальними машинами, що працюють і на інших хостах, а також дивитися на красиві графіки в реальному часі. Я особисто знаходжу особливо зручним у virt-manager те, що не потрібно шукати по конфігах, на якому порту VNC крутиться конкретної гостьової системи. Просто знаходиш віртуалку в списку, робиш подвійний клік і отримуєш доступ до монітора.

Ще за допомогою virt-manager дуже зручно робити речі, які зажадали б трудомісткого редагування XML-файлів і в деяких випадках виконання додаткових команд. Наприклад, перейменування віртуальних машин, налаштування CPU affinity та подібні речі. До речі, використання CPU affinity суттєво знижує ефект галасливих сусідів та вплив віртуальних машин на хост-систему. По можливості використовуйте його завжди.

Якщо ви вирішите використовувати KVM як заміну VirtualBox, зважте, що хардверну віртуалізацію вони між собою поділити не зможуть. Щоб KVM заробив у вас на робочому столі, вам не тільки доведеться зупинити всі віртуалки в VirtualBox і Vagrant, але й перезавантажити систему. Я особисто знаходжу KVM набагато зручніше VirtualBox, як мінімум, тому що він не вимагає виконувати команду sudo / sbin / rcvboxdrv setupпісля кожного оновлення ядра, адекватно працює з Unity і взагалі дозволяє сховати всі вікна.

Перш, ніж почати наш огляд, варто розібратися, що є гіпервізором, і які функції він виконує. При виконанні великої кількості різноманітних завдань дуже зручно користуватися. Це з тим, що вони дають можливість одному фізичному сервері розміщувати кілька операційних систем, кожна з яких оснащена власним програмним забезпеченням на вирішення різноманітних завдань. Для забезпечення простої взаємодії з такими віртуальними машинами використовуються гіпервізори. Вони являють собою програмне забезпечення, яке і дозволяє здійснювати управління віртуальними машинами: встановлювати, включати та вимикати їх. Одним із найпопулярніших гіпервізорів на сьогоднішній день можна назвати KVM.

Гіпервізор KVM

Він дозволяє здійснювати віртуалізацію на серверах з операційною системою Linux. Однозначним плюсом є те, що цей гіпервізор входить до складу ядра Linux, тому він постійно вдосконалюється та оновлюється. Використовувати його можна лише у разі апаратної віртуалізації – за допомогою процесорів Intel чи Amd. Процесорний модуль KVM дає можливість здійснювати доступ безпосередньо до ядра. Завдяки цьому можна безпосередньо керувати файлами віртуальних машин та образами дисків. Для кожної ВМ призначений індивідуальний простір.

Гіпервізор Xen

Вперше розроблений ще Кембриджськими студентами цей проект швидко став комерційним завдяки своїй перспективності. Кросплатформенність та широкий функціонал Xen робить його можливості досить широкими для застосування в офісах великих компаній та корпорацій. Його ядро ​​має режим паравіртуалізації, тобто його можна налаштувати на одночасну взаємодію з гіпервізором.

Код цього гіпервізора не завантажений зайвими функціями. Він оснащений можливостями управління ОЗП, частотою роботи процесора, роботи з прямим доступом до пам'яті, а також таймером. Всі інші функції виконують підключені до роботи на даний момент ВМ. Перелічені переваги роблять роботу з Xen простою та зручною навіть для людини, пізнання якої не дуже глибокі в даній сфері.

Дослідження

Для того, щоб порівняти два гіпервізори, потрібно провести їхнє тестування. Для цього були взяті два сервери з абсолютно ідентичним залізом і ПЗ, за винятком, звичайно ж, гіпервізорів, що розглядаються. Усі налаштування для створених віртуальних машин були виставлені за умовчанням відповідно до базових налаштувань обох гіпервізорів. Кожному варіанту було виділено однакову кількість пам'яті.

Уточнимо, що думки про те, що вибраний нами дистрибутив для ОС – Fedora 20 від Red Hat – краще підходить для KVM не зовсім вірні. Ми не розглядаємо боротьбу ВМ за ресурси процесора під час одночасної роботи, оскільки за різного ступеня конкуренції гіпервізори можуть показувати різну продуктивність. Тому ми вважаємо умови змагання чесними для обох сторін.

Результати

Тестування ґрунтувалося на вимірі результатів тестів для ВМ, розташованих на одному тільки залізі, за винятком програмного забезпечення. Відхилення у продуктивності двох серверів без віртуалізації вийшло менше половини відсотка.

Перший кандидат – KVM показав продуктивність у середньому на півтора відсотки нижче за продуктивність заліза. У тесті на 7-ZIP цей гіпервизор виявився майже на 3 відсотки повільніше, а в тесті на PostMark на цілих 4 з лишком відсотки швидше заліза. Результати Xen виявилися гіршими, він не перевершив свого конкурента в жодному з тестів, відставши від заліза на 2.5 відсотка в трьох тестах, а в інших показав себе ще гірше. Найсильніше відхилення виявилося, як і у KVM – у тесті на PostMark, але Xen не випередив залізо, як його конкурент, а відстав майже на 15 відсотків. Повторні результати тесту відхилилися від попередніх не більше ніж на 2 відсотки. Докладніше з результатами тестування ви можете ознайомитись у таблиці:

Підсумок

KVM завжди показував себе повільніше заліза приблизно на 2 відсотки, але не більше. Xen ж поступався залізу на 2.5-7 відсотків у більшості тестів. Хороші результати KVM в тесті на PostMark можуть бути не зовсім точними через недостатню кількість проведених тестів. Щоб ухвалити правильне рішення у виборі тесту гіпервізора, вивчіть характер навантажень свого сайту. За необхідності проведіть більше тестів, щоб отримати більш точні результати.

У цій вступній статті я розповім коротко про всі програмні засоби, використані в процесі розробки послуги. Докладніше про них буде розказано у наступних статтях.

Чому? Ця операційна система мені близька і зрозуміла, так що при виборі дистрибутива мук, мук та метань випробувано не було. Особливих переваг перед Red Hat Enterprise Linux він не має, але було прийнято рішення працювати зі знайомою системою.

Якщо ви плануєте самостійно розгорнути інфраструктуру, використовуючи аналогічні технології, я б порадив взяти саме RHEL: завдяки гарній документації та добре написаним прикладним програмам це буде якщо не на порядок, то вже точно в два рази простіше, а завдяки розвиненій системі сертифікації без особливих зусиль можна буде знайти кілька фахівців, на належному рівні знайомих у даній ОС.

Ми ж, повторюся, вирішили використати Debian Squeezeз набором пакетів з Sid/Experimentalта деякими пакетами, бекпортованими та зібраними з нашими патчами.
У планах є публікація репозиторію з пакетами.

При виборі технології віртуалізації розглядалися два варіанти – Xen та KVM.

Також до уваги брався факт наявності величезної кількості розробників, хостерів, комерційних рішень саме на базі Xen - тим цікавіше було провести рішення саме на базі KVM.

Основною ж причиною, через яку ми вирішили використовувати саме KVM, є необхідність запуску віртуальних машин з FreeBSD і, в перспективі, MS Windows.

Для управління віртуальними машинами виявилося надзвичайно зручно використовувати і продукти, що використовують її API: virsh, virt-manager, virt-install, Пр.

Це система, яка зберігає налаштування віртуальних машин, керує ними, веде за ними статистику, слідкує за тим, щоб при старті у віртуальної машини піднімався інтерфейс, підключає пристрої до машини - загалом, виконує купу корисної роботи і ще трохи більше.

Зрозуміло, рішення не ідеальне. З мінусів слід назвати:

  • Абсолютно неосудні повідомлення про помилки.
  • Неможливість змінювати частину конфігурації віртуальної машини на льоту, хоча QMP (QEMU Monitor Protocol) це цілком дозволяє.
  • Іноді до libvirtd через незрозумілу причину неможливо підключитися - він перестає реагувати на зовнішні події.

Основною проблемою реалізації послуги на самому початку було лімітування ресурсів для віртуальних машин. У Xen ця проблема була вирішена за допомогою внутрішнього шедулера, що розподіляє ресурси між віртуальними машинами - і що найпрекрасніше, була реалізована можливість лімітувати дискові операції в тому числі.

У KVM нічого такого не було до появи механізму розподілу ресурсів ядра. Як завжди в Linux, доступ до цих функцій був реалізований за допомогою спеціальної файлової системи cgroup, в якій за допомогою звичайних системних викликів write() можна було додати процес до групи, призначити йому його вагу в папугах, вказати ядро, на якому він буде працювати, вказати пропускну здатність диска, яку цей процес може використовувати, або, знову ж таки, призначити йому вагу.

Профіт у тому, що все це реалізується всередині ядра, і використовувати це можна не тільки для сервера, але й для десктопа (що й використали у відомому The Linux 200 Kernel Patch That Does Wonders). І на мій погляд, це одна з найзначніших змін у гілці 2.6, не рахуючи улюбленого #12309, а не запилювання чергової файлової системи. Ну, хіба що, крім POHMELFS (але чисто через назву).

Ставлення до цієї бібліотеки-утиліти у мене дуже неоднозначне.

З одного боку, це виглядає приблизно так:

І ще цю штуку страшенно складно зібрати з вихідників і тим більше в пакет: іноді мені здається, що Linux From Scratch зібрати з нуля дещо простіше.

З іншого боку - дуже потужна штука, яка дозволяє створювати образи для віртуальних машин, модифікувати їх, утискати, ставити grub, модифікувати таблицю розділів, керувати конфігураційними файлами, переносити «залізні» машини у віртуальне середовище, переносити віртуальні машини з одного образу на інший, переносити віртуальні машини з образу на залізо і, щиро кажучи, тут мене фантазія трохи підводить. Ах, так: ще можна запустити демон всередині віртуальної машини Linux і отримати доступ до даних віртуальної машини наживо, і все це робити на shell, python, perl, java, ocaml. Це короткий і не повний список того, що можна зробити з .

Цікаво, що більшість коду в генерується в момент складання, так само як і документація до проекту. Дуже широко використовується ocaml, perl. Сам код пишеться на C, який потім обертається в OCaml, і шматки коду, що повторюються, генеруються самі. Робота з образами здійснюється шляхом запуску спеціального сервісного образу (supermin appliance), куди через канал всередину нього відправляються команди. Всередині цього образу міститься деякий rescue набір утиліт, таких як parted, mkfs та інших корисних у господарстві системного адміністратора.

Я з недавнього часу його навіть удома став використовувати, коли виколупував з образу nandroid потрібні мені дані. Але для цього потрібне ядро ​​з підтримкою yaffs.

Інше

Нижче наведено ще кілька цікавих посилань на опис використаних програм - почитати і повивчати самостійно, якщо цікаво. Наприклад,

Цю нотатку я пишу для того, щоб продемонструвати покрокову установку та налаштування віртуальної машини в Linux на базі KVM. Раніше я вже писав про віртуалізацію, де використав чудовий фільм.

Зараз переді мною постало питання оренди хорошого сервера з великим обсягом оперативної пам'яті та об'ємним жорстким диском. Але запускати проекти прямо на хост-машині не хочеться, тому розмежуватиму їх по окремих невеликих віртуальних серверах з ОС Linux або docker-контейнерів (про них розповім в іншій статті).

Усі сучасні хмарні хостинги працюють за таким самим принципом, тобто. хостер на хорошому залозі піднімає купу віртуальних серверів, які ми звикли називати VPS/VDS, і роздає їх користувачам або автоматизує цей процес (привіт, DigitalOcean).

KVM (kernel-based virtual machine) – це програмне забезпечення для Linux, що використовує апаратні засоби x86-сумісних процесорів для роботи з технологією віртуалізації Intel VT/AMD SVM.

Установка KVM

Всі махінації зі створення віртуальної машини я проводитиму на ОС Ubuntu 16.04.1 LTS. Щоб перевірити чи підтримує ваш процесів апаратну віртуалізацію на базі Intel VT/AMD SVM, виконуємо:

Grep-E "(vmx | svm)" /proc/cpuinfo

Якщо термінал не порожній, то все в порядку і KVM можна встановлювати. Ubuntu офіційно підтримує тільки гіпервізор KVM (входить до складу ядра Linux) і радить використовувати бібліотеку libvirt як інструмент управління їм, що ми і будемо робити далі.

Перевірити підтримку апаратної віртуалізації в Ubuntu можна також за допомогою команди:

У разі успіху, ви побачите щось на кшталт цього:

INFO: /dev/kvm exists KVM acceleration can be used

Встановлюємо пакети для роботи з KVM:

Sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

Якщо у вас є доступ до графічної оболонки системи, можна встановити GUI менеджер libvirt:

Sudo apt-get install virt-manager

Користуватися virt-manager досить просто (не складніше VirtualBox), тому в цій нотатці мова піде про консольний варіант установки та налаштування віртуального сервера.

Встановлення та настроювання віртуального сервера

У консольному варіанті установки, налаштування та керування системою, незамінним інструментом є утиліта virsh (надбудова над бібліотекою libvirt). У неї велика кількість опцій та параметрів, докладний опис можна отримати так:

Man virsh

або викликати стандартний "help":

Virsh help

Я завжди дотримуюсь таких правил під час роботи з віртуальними серверами:

  1. Зберігаю iso образи ОС у каталозі /var/lib/libvirt/boot
  2. Зберігаю образи віртуальних машин у каталозі /var/lib/libvirt/images
  3. Явно задаю кожній новій віртуальній машині свою статичну IP адресу через DHCP сервер гіпервізора.

Приступимо до встановлення першої віртуалки (64-бітної серверної убунті 16.04 LTS):

Cd /var/lib/libvirt/boot sudo wget http://releases.ubuntu.com/16.04/ubuntu-16.04.1-desktop-amd64.iso

Завантаживши образ запускаємо установку:

Sudo virt-install \ --virt-type=kvm \ --name ubuntu1604 \ --ram 1024 \ --vcpus=1 \ --os-variant=ubuntu16.04 \ --hvm \ --cdrom=/var/ lib/libvirt/boot/ubuntu-16.04.1-server-amd64.iso \ --network network=default,model=virtio \ --graphics vnc \ --disk path=/var/lib/libvirt/images/ubuntu1604. img,size=20,bus=virtio

Перекладаючи всі ці параметри на "людську мову", то виходить, що ми створюємо віртуальну машину з ОС Ubuntu 16.04, 1024 МБ ОЗУ, 1 процесором, стандартною мережевою картою (віртуальна машина ходитиме в інтернет начебто через NAT), 20 ГБ HDD.

Варто звернути увагу на параметр --os-variant, він вказує гіпервізору під яку саме ОС слід адаптувати налаштування.
Список доступних варіантів ОС можна отримати, виконавши команду:

Osinfo-query os

Якщо такої утиліти немає у вашій системі, то встановлюємо:

Sudo apt-get install libosinfo-bin

Після запуску установки, в консолі з'явиться такий напис:

Domain installation still in progress. Ви можете відключити до консолі для завершення процесу встановлення.

Це є нормальна ситуація, продовжувати установку ми будемо через VNC.
Дивимося на якому порту він був піднятий у нашої віртуалки (у сусідньому терміналі, наприклад):

Virsh dumpxml ubuntu1604 ... ...

Порт 5900 на локальній адресі 127.0.0.1. Щоб підключитись до VNC, необхідно використовувати Port Forwarding через ssh. Перед тим, як це зробити, переконайтеся, що tcp forwarding дозволено у демона ssh. Для цього йдемо в налаштування sshd:

Cat /etc/ssh/sshd_config | grep AllowTcpForwarding

Якщо нічого не знайшлося або ви бачите:

AllowTcpForwarding no

То правимо конфіг на

AllowTcpForwarding yes

та перезавантажуємо sshd.

Налаштування Port forwarding

Виконуємо команду на локальній машині:

Ssh -fN -l login -L 127.0.0.1:5900:localhost:5900 server_ip

Тут ми налаштували ssh port forwarding із локального порту 5900 на серверний порт 5900. Тепер уже можна підключитися до VNC, використовуючи будь-який VNC-клієнт. Я віддаю перевагу UltraVNC через простоту і зручність.

Після успішного підключення на екрані з'явиться стандартне вікно привітання початку установки Ubuntu:

Після завершення установки та звичного перезавантаження з'явиться вікно входу в систему. Авторизувавшись, визначаємо IP адресу нової віртуалки, щоб пізніше зробити його статичним:

Ifconfig

Запам'ятовуємо та йдемо на хост машину. Витягуємо mac-адресу "мережевої" карти віртуалки:

Virsh dumpxml ubuntu1604 | grep "mac address"

Запам'ятовуємо нашу mac адресу:

Редагуємо мережеві налаштування гіпервізора:

Sudo virsh net-edit default

Шукаємо DHCP, і додаємо ось це:

Повинно вийти щось на кшталт цього:

Для того, щоб налаштування набули чинності, необхідно перезавантажити сервер DHCP гіпервізора:

sudo virsh net-destroy default sudo virsh net-start default sudo service libvirt-bin restart

Після цього перевантажуємо віртуальну машину, тепер вона завжди матиме задану їй IP адресу - 192.168.122.131.

Є й інші способи задати віртуалці статичний IP, наприклад, безпосередньо редагуючи мережеві налаштування всередині гостьової системи, але тут уже як вашій душі буде завгодно. Я лише показав варіант, який сам волію використовувати.

Щоб підключитись до терміналу віртуальної машини, виконуємо:

Ssh 192.168.122.131

Машина готова до бою.

Virsh: перелік команд

Щоб переглянути запущені віртуальні хости (усі доступні можна отримати додавши --all):

Sudo virsh list

Перезавантажити хост можна:

Sudo virsh reboot $VM_NAME

Зупинити віртуальну машину:

Sudo virsh stop $VM_NAME

Виконати halt:

Sudo virsh destroy $VM_NAME

Sudo virsh start $VM_NAME

Вимкнення:

Sudo virsh shutdown $VM_NAME

Додати в автозапуск:

Sudo virsh autostart $VM_NAME

Дуже часто потрібно схилювати систему, щоб у майбутньому використовувати її як каркас для інших віртуальних ОС, для цього використовують утиліту virt-clone.

Virt-clone --help

Вона клонує існуючу віртуалку і змінює host-sensitive дані, наприклад, mac address. Паролі, файли та інша user-specific інформація в клоні залишається незмінною. Якщо на віртуалці, що клонується, IP адреса була прописана вручну, то можуть виникнути проблеми з доступом по SSH на клон через конфлікт (2 хоста з однаковим IP).

Крім установки віртуалки через VNC, також можливий варіант із X11Forwarding через утиліту virt-manager. У Windows, наприклад, для цього можна використовувати Xming та PuTTY.

KVM- Одна з нових технологій віртуалізації, яка дає можливість встановити на фізичному виділеному сервері кілька віртуальних виділених серверів. Головною перевагою даної системи віртуалізації є створення ВПС з різними типами операційних систем, тобто можна на одному сервері без проблем встановлювати як linux vps так і windows vps. До того ж, кожен окремий впс сервер на платформі KVM має свої незалежні ресурси: свій дисковий простір, свою оперативну пам'ять, мережевий інтерфейс і так далі.

Переваги KVM віртуалізації:

  • Можливість встановити різні операційні системи: centos, debian, ubuntu, mint, freebsd, windows 7, windows 8, windows 10, windows xp і так далі.
  • Гарантовані ресурси на сервері, якщо ви замовили впс сервер з певними ресурсами, то будьте спокійні, ресурси у вас ніхто не відбере. З цією віртуалізацією не можна використовувати ресурси сусідньої впс. Є таке поняття як оверселлінг, коли хостинг компанія продає більше ресурсів, ніж є насправді на сервері. У KVM такого не може бути, всі ресурси чітко зафіксовані в конфігураційних файлах і спрямовані відразу на віртуальний виділений сервер.
  • Є можливість встановити на впс сервері повністю свою операційну систему, наприклад, ви розробник ОС, і у вас є своя написана операційна система, ви можете встановити її на одній з впс на сервері з KVM, для цього потрібно буде завантажити файл з iso-образом ОС на сервер з спеціальної папки.
  • Зручна робота з VNC, яка дає можливість дистанційно керувати вашим vps сервером так, ніби ви працюєте за своїм персональним ПК, за допомогою VNC ви можете налаштовувати bios, перевантажувати впс та спостерігати це. Якщо ви встановили на сервер windows і хочете на нього зайти попрацювати в графічному режимі, то ви можете зробити це двома способами: через VNC, або відразу потрапити на впс по попередньо налаштованому віддаленому робочому столі.

З недоліків KVM віртуалізації можна виділити те, що вона складніша у використанні та налаштуванні, ніж, наприклад, віртуалізація openVZ. То який варіант? Якщо ви плануєте використовувати впс сервер з операційними системами linux – тоді радимо вибрати openVZ. Якщо ж збираєте використовувати на своєму віртуальному виділеному сервері windows - тоді краще використовувати саме KVM віртуалізацію.

Please enable JavaScript для перегляду коментарів Powered by Disqus.
Останні записи
  • Застосування нових пасажирських і вантажних підйомників дозволяє надати оптимальні обставини.

  • Щоб ваш сайт постійно відкривався по безпечному https:// протоколу, ми…

  • У нових версіях браузера Chrome перестала працювати прокрутка сторінки коліщатком.

  • Інтернет торгівля в Україні з кожним роком набирає більше…

  • ПВТ - це такий IT напрямок у Білорусії, який створений…

  • В Україні, а саме у Дніпропетровську винайшли та протестували 1-й…

  • Зараз вже важко уявити світ без ІТ, так як…

  • Пропонуємо до вашої уваги нову послугу на сайті abcname.com.ua. Крім того,…

  • Сьогодні ми розповімо вам про особливості вибору сервера VPS. Спершу…

  • Сьогодні ми поспішаємо порадувати всіх новою можливістю нашого унікального, та…

  • 1) Перевірка доменного імені Перевіряємо, чи є правильним доменним рядок…

  • Перевірити IP-адресу можна на цій сторінці: http://abcname.com.ua/index.php?c=192 IP-адреса (якщо дослівно, то…

  • Компанія ABCname представляє вашій увазі програму СИНОНІМІЗАТОР. Посилання на синонімізатор: https://abcname.net/news-new/sinonimizator-ru.html…

  • Завантажити лічильник відвідувань, розроблений компанією ABCname ви можете зайшовши за цим посиланням: http://abcname.com.ua/stat/…

  • В останньому оновленні операційної системи iOS 9.0.2 розробники закрили дуже…

  • Останні новини Skype: для користувачів цієї програми на Windows.

  • Компанія Google знову порадувала своїм винаходом, днями у місті.

  • Днями стало відомо, що компанія Samsung запускає нову платіжну плату.

  • У нових ноутбуках ThinkPad від компанії Lenovo, на яких встановлено…

  • Нещодавно компанія Pebble розробила нову серію розумного годинника під…

© 2022 androidas.ru - Все про Android