Налаштування віртуалізації KVM на CentOS 7

Останнім часом стало модно використати всюди віртуалізацію. Маємо сервер із встановленоюCentOS 7 minimal x64 і плануємо використовуватиKVM.

Звичайно, не погано було б переконатися, що наш сервер підтримає віртуалізацію(але якщо у вас сучасний нормальний сервер то думаю що 100% він це підтримує).

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

Встановлюємо необхідні пакети та інструменти:

не забуваємо додати до автозавантаження:

Створимо каталог для зберігання образів віртуальних машин:

Ну тут у нас два шляхи або додаємо відповідний контекст для нашої директорії щоб не лаявся SElinux: або просто його відключаємо.

Ну загалом щось готове. Залишається лише при необхідності змінити налаштування мережі, якщо така необхідність є. Переглянути список можливих мереж можна командою «virsh net-list » За умовчанням маємо одну внутрішню мережу редагувати яку можна командою «virsh net-edit default » , де « default» назва мережі

Створимо віртуальну машину

Для прикладу (перевірки) створимо першу віртуальну машину із простими налаштуваннями та підключенням до мережі «default». Для початку завантажуємо образ OS, яку будемо ставити на сервер.

І так пройдемося трохи за параметрами, які ми вказуємо:

  • --network network=default Підключаємо віртуальну машину до віртуальної мережі з ім'ям default
  • --name Вказуємо назву віртуальної машини
  • --ram= Вказуємо розмір оперативної пам'яті який виділяємо
  • --vcpus= Вказуємо кількість процесорів, яку ми виділяємо
  • --disk Вказуємо розташування, формат та розмір віртуального диска
  • --graphics vnc,password=123 Вказуємо пароль та можливістьпідключаться до терміналу віртуальної машини через VNC
  • --cdrom Вказуємо розташування образу з якого будемо встановлювати систему
  • --boot Що підключено під час завантаження
Вказані вище команди можуть бути введені одним рядком:

Підключення до віртуальної машини за VNC

Оскільки на нашому сервері немає віконного менеджера, то щоб зробити установку і налаштування нам необхідно якось підключиться. У налаштуваннях під час створення віртуалки «--graphics vnc,password=123» ми вказали, що можемо підключитися до терміналу через VNC .

Нашій віртуальній машині був призначений порт VNC, дізнатися який порт призначений конкретної віртуальної машини можна командою (де «vm1» назва віртуальної машини):

Це означає, що порт VNC 5900+0=5900. Якби результат був "127.0.0.1:1", порт VNC був би 5901. І т.д. Підключаться до порту треба на хост (наш сервер, який ми налаштовували) віртуальних машин.

За замовчуванням хост віртуальних машин (у нас це CentOS 7 minimal) не повинен дозволяти підключення до будь-якого порту крім ssh (22/tcp). Не раджу вам відкривати доступ до портів VNC ззовні. Це не безпечно. Для того, щоб отримати доступ до екрану віртуальної машини з робочої станції Windows, з якою я все налаштовую, я зробив тунелювання порту Putty: 5900 -> 127.0.0.1:5900.

Після успішного логіна по ssh, можна запустити TightVNC і вказати порт 127.0.0.1::5900 (зверніть увагу на подвійну двокрапку).

Підключившись до віртуальної машини, можемо зробити установку ОС і наступне налаштування.

Управління Віртуальною машиною:

Увімкнення віртуальної машини

Вимкнення віртуальної машини

Висмикування кабелю живлення:

Підключити до віртуальної машини iso-образ як cdrom

Вимкнути iso-образ (не видалити пристрій з гостя, а просто "витягти cd-диск з приводу"):

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

Вимкнути автостарт для vm1:

Вимкнути iso-образ (не видалити пристрій з гостя, а просто "витягти cd-диск з приводу"):