Віртуалізація
Матеріал з 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
