Віртуалізація

Матеріал з USIC Wiki

Перейти до: навігація, пошук
Тукс

Ця стаття описує програмне забезпечення Інтернет-центру.

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

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

Зміст

Типи віртуалізації

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

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

QEMU

  • працює як емулятор, тобто на базі повністю віртуалізованого hardware
  • може емулювати різні архітектури незалежно від базової
  • можливість спостерігати за станом системи (через режим відлагодження та створення snapshots)
  • підтримує емуляцію деяких мережевих карт та віртуальних локальних мереж
  • дозволяє ескпериментувати із виконанням програм на іншій віртуальній архітектурі без встановлення власне віртуальної системи (досягається завдяки методу dynamic translation
  • copy on write: підтримка образів віртуальної машини із змінним розміром (де-факто використовується стільки, скільки треба)
Недоліки
  • snapshots можуть не підтримувати деякі драйвери (наприклад, usb)
  • проблеми з gcc: часто(залежить від архітектури) відсутня підтримка версій >=4.x

VMWare Server

  • Емулює 64-bit OS
  • Емулює все, як треба
  • Не має залежностей в ядрі, робить як прикладна задача
  • Вміє грамотно використовувати мультипроцесорність
  • Вміє робити снепшоти
  • Не пов’язана з ядром, система-гість не має прямого зв’язку з системою-хазяїном.
  • Функціонально не слабша за комерційний VMWare ESX Server, відрізняється тим, що останній є OS, спеціально заточеною лише під віртуалізацію
Недоліки
  • Пропрієтарний продукт, розбиває «ідейність»
  • Має певні проблеми із серйозним навантаженям на мережу і диск

OpenVZ

  • Віртуалізація на рівні операційної системи.
  • Малі втрати продуктивності серверу (< 3%).
  • Підтримка віртуальних мережевих інтерфейсів, тобто кожен віртуальний сервер може мати власну IP адресу, firewall і таблицю маршрутизації.
  • Підтримка квот на дисковий простір, CPU, пам'ять.
  • Підтримка Checkpointing. Віртуальний сервер можна перенести на іншу фізичну машину, не зупиняючи його. Тобто дампнути віртуальну машину в файл і відновити вже на іншому фізичному хості. В свою чергу це означає можливість створення темплейту для всіх серверів.
Недоліки
  • Віртуальна машина повинна мати ядро Linux. І будь-який дистрибутив. Тобто на одне ядро посаджені всі сервери.
  • Всі віртуальні сервери використовують один swap розділ.

Посилання

OpenVZ
Особисті інструменти