
- •1.1. Визначення та функції мережевої ос
- •1.2. Принципи організації та роботи ос комп’ютерної мережі
- •За характером роботи:
- •1.3. Організація системи мережевого друкування
- •1.4. Забезпечення єдиного мережевого часу
- •1.5. Апаратно – програмні рішення розподілених комп’ютерних систем
- •2.2. Використання надлишковості для захисту даних - raid та maid масиви
- •Рівень нуль
- •Рівень 1
- •Рівень 2
- •Рівень 5
- •Закони Зіпфа та Парето
- •2.3. Схеми приєднання дискової пам’яті до мережі
- •2.4. Мережі дискових масивів
- •2.5. Технології віртуалізації збереження даних
- •Успадкування прав доступу на нижчих рівнях ієрархїї.
- •3.2. Історія розвитку служб каталогів
- •3.3. Стандарти X.500 та ldap
- •3.4. Служба каталогів eDirectory
- •3.5. Служба Active Directory
- •4.2. Технології віртуалізації платформ та їх застосування
- •4.3. Хмаркові сервіси – визначення та властивості
- •4.4. Архітектури хмаркових сервісів
- •4.5. Різновиди хмаркових сервісів та їх сфери застосування
4.2. Технології віртуалізації платформ та їх застосування
Віртуалізація на локальній ОС (Guest OS/Host OS)
Це класичне рішення віртуалізації, яке полягає у використанні ресурсів локального комп’ютера та його операційної системи для підтримки віртуальних машин (рис. 6.22). При цьому такі віртуальні машини сприймаються локальною ОС як застосування, яким потрібно виділити ресурси. Для запуску ВМ потрібно мати файл машини та файл визначення.
Рис. 6.22. Структура системи віртуалізації на локальній ОС
Перевагою систем на базі локальної ОС є дешевизна (більшість реалізацій таких систем – безкоштовні). Головним недоліком є різке зростання часу виконання дискових операцій порівняно з операціями, ініційованими локальною ОС. Для інших типів операцій такої різниці не спостерігають.
Прикладами реалізації такого підходу є продукти VMWare Server, Oracle Virtual Box. Рішення віртуалізації на базі локальної ОС доцільно використовувати для тестування, навчання, у невеликих лабораторіях та дома. Системи віртуалізації на базі локальної ОС класифікують як гіпервізори другого типу згідно з класифікацію розробленою Попеком та Голдбергом (Gerald J. Popek and Robert P. Goldberg) у статті "Formal Requirements for Virtualizable Third Generation Architectures".
Використання гіпервізорів (hypervisor)
У гіпервізорному підході не використовують ОС, що виконує програму віртуалізації, а будують сервер з самого початку для підтримки віртуалізації. Можна сказати, що у цьому підході програма віртуалізації є операційною системою (рис. 6.23).
Рис. 6.23. Структура гіпервізорної системи віртуалізації
Гіпервізорні ОС не мають таких проблем з продуктивністю як системи, що базуються на локальних ОС та використовуються для промислових застосувань.
Прикладами реалізації цього підходу є Microsoft Hyper-V, Citrix Xen, VMWare ESX/ESXi. Гіпервізорні системи використовують у промислових системах, де вимоги до швидкодії є важливішими, ніж цінові обмеження. Такі системи визначають як гіпервізори першого типу.
Емуляція платформ
Емуляція передбачає можливість запропонувати певний тип програмного або апаратного забезпечення незалежно від особливостей базової системи. Аналогічно до системи віртуалізації на локальній ОС, програма емуляції працює як застосування під керуванням локальної ОС, але при цьому емулюють тільки одну визначену платформу (рис. 6.24).
Прикладом є продукт Microsoft Virtual PC та Virtual Server, що емулюють системи Windows.
Рішення віртуалізації на рівні ядра (Linux)
У цьому рішенні кожна віртуальна машина використовує свою копію ядра, незалежно від версії ядра базового сервера. Прикладами такого підходу є KVM (Linux Kernel Virtual machine), user-mode Linux.
Рис. 6. 24. Структура системи емуляції
Альтернативою є спільне використання ядра, яке використовує унікальну властивість Linux спільно використовувати ядро з іншими процесами системи. При цьому використовується команда chroot. Ця команда міняє кореневу файлову систему для процесу та ізолює його, так що він вважає, що виконується на окремій машині.
Перевагами використання підходу на основі chroot, крім кращого захисту є висока швидкодія системи – усі процеси виконуються з швидкостями локальних процесів. Більш того, такий підхід дає змогу розгорнути набагато більше віртуальних машин, порівняно з іншими підходами. Недоліком є те, що процеси у віртуальних машинах мають бути сумісні з версією базової ОС (Linux).
Використання контейнерів замість гіпервізорів
Недоліками гіпервізорних підходів є значне використання ресурсів на виконання рівня віртуалізації та окремих копій ОС на віртуальних машинах. За рахунок цього знижується швидкодія. Принципово інший підхід реалізовано у проекті Docker на базі машин з ОС Linux. Такий підхід отримав назву контейнерного. В контейнерному підході застосування та усі його залежні файли групують у контейнер. Такий контейнер визначає певне ізольоване середовище функціювання, яке виконується окремо від інших. Сформовані контейнери завантажують у репозиторій. Для виконання контейнер отримують з репозиторію та запускають (рис. 6.25).
Таким чином, контейнери не виконують функцій віртуальної ОС і тому вимагають менше ресурсів. Контейнери ідеально пристовані для паралельного виконання, кластеризації. Деякі великі компанії інтенсивно використовують контейнери, зокрема Google щотижня запускає більше двох мілліардів контейнерів. Недоліками є орієнтація на платформу Linux, слабкий захист, недостаньо пророблені засоби керування.