Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Розробка макету комп"ютерної мережі з використанням засобів віртуалізації

ДипломнаДопомога в написанніДізнатися вартістьмоєї роботи

Сучасний світ IT-технологій та темпи його розвитку потребують постійного ведення розробки нового програмного забезпечення для мобільних пристроїв, персональних комп’ютерів, робочих станцій та серверного обладнання, тощо. Важливим етапом розробки якісного програмного продукту є тестування ПО для виявлення недоліків у програмному коді. Для проектування комп’ютерних мереж використовується… Читати ще >

Розробка макету комп"ютерної мережі з використанням засобів віртуалізації (реферат, курсова, диплом, контрольна)

Реферат Дипломна робота містить 146 сторінок машинописного тексту, 83 рисунки, 1 таблицю та 23 літературних джерела.

Об'єкт дослідження: технології віртуалізації у проектуванні комп’ютерних мереж.

Мета роботи: розробка макету комп’ютерної мережі з використанням засобів віртуалізації.

Методи роботи: у процесі виконання дипломної роботи були розглянуті методи проектування мереж, що використовують не посередньо, або містять у собі засоби віртуалізації чи то програмної, чи то апаратної. Також був обраний кращий гіпервізор з погляду «безкоштовна ліцензія-кількість можливостей-якість реалізації». Була детально розглянута продукція VMware та розглянуті кандидатури на заміну їх флагмана ESXi 5.1.

Результати роботи: готовий макет комп’ютерної мережі, основаної на технологіях віртуалізації та вільного програмного забезпечення.

Ключові слова: системи віртуалізації, адміністрування, проектування, відмовостійкість, віртуальна машина, гіпервізор, VMware, Debian, Linux.

Abstract

This graduate thesis includes 146 pages of typed text, 83 images, 1 table and 23 literary sources.

The subject of this research is «Virtualisation technologies in computer network design» .

Work methods: methods examined during the execution of this graduate project either directly use or contain software or hardware virtualisation tools. In addition, the best hypervisor was chosen based on «free license — functionality — quality of implementation» considerations. VMware products and possible alternatives for their flagship product EXSi 5.1 were examined in detail.

Work results: a complete computer network layout based on virtualisation technologies and free software.

Keywords: virtualisation systems, administration, design, reliability, virtual machine, hypervisor, VMware, Debian, Linux.

Зміст

  • Вступ
  • Літературний огляд
  • 1. Види та технології віртуалізації
  • 1.1 Види віртуалізації
  • 1.1.1 Віртуалізація платформ
  • 1.1.2 Віртуалізація ресурсів
  • 1.1.3 Де застосовується віртуалізація
  • 1.2 Технології віртуалізації
  • 1.2.1 Програмна віртуалізація
  • 1.2.2 Апаратна віртуалізація
  • 1.2.3 Віртуалізація на рівні операційної системи
  • 1.2.4 Віртуалізація мережевого обладнання
  • 1.2.5 Постановка задачі
  • 2. Теоретична частина
  • 2.1 Віртуалізація як інструмент навчання, проектування мереж та системного адміністрування
  • 2.1.1 Віртуалізація в адмініструванні комп’ютерних мереж
  • 2.1.2 Сервери та сервіси
  • 2.1.3 Віртуалізація сервісів
  • 2.2 Мережі та віртуалізація
  • 2.3 Віртуалізація у навчанні
  • 2.3.1 Сфери використання
  • 2.3.2 Вибір платформи для навчання
  • 2.4 Віртуалізація як засіб підвищення відмовостійкості
  • 2.4.1 VMware High Availability (HA)
  • 2.4.2 VM Monitoring
  • 2.4.3 VMware Fault Tolerance (FT)
  • 2.4.4 Distributed Resource Scheduler (DRS)
  • 2.4.5 VMware Site Recovery Manager (SRM)
  • 2.4.6 Переваги переходу на віртуальне середовище
  • 3. Практична частина
  • 3.1 Планування складу мережі
  • 3.1.1 Вибір платформи віртуалізації
  • 3.1.2 Вибір платформи на роль контролеру домену та серверу Active Directory
  • 3.1.3 Вибір варіанту рішення для 1С: Підприємство
  • 3.1.4 Вибір рішення для організації доменної пошти, внутрішньомережевого чату та засобу встановлення ОС через PXE
  • 3.1.5 Вибір операційної системи для користувацьких ПК
  • 3.2 Розгортання мережі на віртуальному стенді на базі VMware Workstation
  • 3.2.1 Створення віртуальної машини з VMware vSphere ESXi 5.1
  • 3.2.2 Встановлення та налаштування гіпервізора VMware vSphere ESXi 5.1
  • 3.2.3 Первинна настройка VMWare ESXi
  • 3.3 Встановлення Debian Wheezy для налаштування контролеру домену
  • 3.3.1 Встановлення Samba PDC та OpenLDAP
  • 3.4 Встановлення Windows Server 2008 R2 Enterprise
  • 3.4.1 Установка Windows Server 2008 R2 SP1
  • 3.4.2 Налаштування NTP-серверу
  • 3.4.3 Уведення VMware vSphere ESXi в домен
  • 3.5 Установка і налаштування PostgreSQL 9.1
  • 3.6 Установка FreeNX термінального серверу
  • 4. Охорона праці та безпека в надзвичайних ситуаціях
  • 4.1 Загальні положення
  • 4.2 Вимоги безпеки перед початком роботи
  • 4.3 Вимоги безпеки під час роботи
  • 4.4 Вимоги безпеки після закінчення роботи
  • 4.5 Вимоги безпеки в аварійних ситуаціях
  • Висновки
  • Список використаної літератури
  • Вступ

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

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

Літературний огляд

1. Види та технології віртуалізації

1.1 Види віртуалізації

Поняття віртуалізації умовно можна розділити на дві фундаментально розрізняються категорії:

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

2) Віртуалізація ресурсів Даний вид віртуалізації переслідує своєю метою комбінування або спрощення подання апаратних ресурсів для користувача і здобуття якихось користувальницьких абстракцій обладнання, просторів імен, мереж і т.п.

1.1.1 Віртуалізація платформ

Під віртуалізацією платформ розуміють створення програмних систем на основі існуючих апаратно-програмних комплексів, що залежать або незалежних від них. Система, що надає апаратні ресурси і програмне забезпечення, називається хостової (host), а симуляція їй системи — гостьовими (guest). Щоб гостьові системи могли стабільно функціонувати на платформі хостової системи, необхідно, щоб програмне і апаратне забезпечення хоста було досить надійним і надавало необхідний набір інтерфейсів для доступу до його ресурсів.

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

Види віртуалізації платформ:

1) Повна емуляція (симуляція) При такому вигляді віртуалізації віртуальна машина повністю виртуализует всі апаратне забезпечення при збереженні гостьової операційної системи в незмінному вигляді. Такий підхід дозволяє емулювати різні апаратні архітектури. Наприклад, можна запускати віртуальні машини з гостьовими системами для x86-процесорів на платформах з іншою архітектурою (наприклад, на RISC-серверах компанії Sun). Довгий час такий вид віртуалізації використовувався, щоб розробляти програмне забезпечення для нових процесорів ще до того, як вони були фізично доступними. Такі емулятори також застосовують для низькорівневої налагодження операційних систем. Основний мінус даного підходу полягає в тому, що емульованого апаратне забезпечення вельми і вельми істотно уповільнює швидкодію гостьової системи, що робить роботу з нею дуже незручною, тому, крім як для розробки системного програмного забезпечення, а також освітніх цілей, такий підхід мало де використовується. Приклади продуктів для створення емуляторів: Bochs, PearPC, QEMU (без прискорення), Hercules Emulator.

2) Часткова емуляція (нативна віртуалізація) У цьому випадку віртуальна машина виртуализует лише необхідну кількість апаратного забезпечення, щоб вона могла бути запущена ізольовано. Такий підхід дозволяє запускати гостьові операційні системи, розроблені тільки для тієї ж архітектури, що і у хоста. Таким чином, кілька примірників гостьових систем можуть бути запущені одночасно. Цей вид віртуалізації дозволяє істотно збільшити швидкодію гостьових систем в порівнянні з повною емуляцією і широко використовується в даний час. Також, з метою підвищення швидкодії, в платформах віртуалізації, що використовують даний підхід, застосовується спеціальна «прошарок» між гостьовою операційною системою і устаткуванням (гіпервізор), що дозволяє гостьовий системі безпосередньо звертатися до ресурсів апаратного забезпечення. Гипервизор, званий також «Монітор віртуальних машин» (Virtual Machine Monitor) — одне з ключових понять у світі віртуалізації. Застосування гіпервізора, що є сполучною ланкою між гостьовими системами та апаратурою, істотно збільшує швидкодію платформи, наближаючи його до швидкодії фізичної платформи. До мінусів даного виду віртуалізації можна віднести залежність віртуальних машин від архітектури апаратної платформи.

Приклади продуктів для нативної віртуалізації: VMware Workstation, VMware Server, VMware ESX Server, Virtual Iron, Virtual PC, VirtualBox, Parallels Desktop та інші.

3) Часткова віртуалізація, а також «віртуалізація адресного простору» («address space virtualization»)

При такому підході, віртуальна машина симулює кілька примірників апаратного оточення (але не всього), зокрема, простору адрес. Такий вид віртуалізації дозволяє спільно використовувати ресурси і ізолювати процеси, але не дозволяє розділяти примірники гостьових операційних систем. Строго кажучи, при такому вигляді віртуалізації користувачем не створюються віртуальні машини, а відбувається ізоляція будь-яких процесів на рівні операційної системи. В даний момент багато хто з відомих операційних систем використовують такий підхід. Прикладом може послужити використання UML (User-mode Linux), в якому «гостьове» ядро запускається у просторі користувача базового ядра (у його контексті).

4) Паравіртуалізація При застосуванні паравіртуалізації немає необхідності симулювати апаратне забезпечення, однак, замість цього (або на додаток до цього), використовується спеціальний програмний інтерфейс (API) для взаємодії з гостьовою операційною системою. Такий підхід вимагає модифікації коду гостьової системи, що, з точки зору спільноти, Open Source не так і критично. Системи для паравіртуалізації також мають свій гіпервізор, а API-виклики до гостьової системі, називаються «hypercalls» (гіпервизови). Багато хто сумнівається в перспективах цього підходу віртуалізації, оскільки в даний момент всі рішення виробників апаратного забезпечення стосовно віртуалізації спрямовані на системи з нативної віртуалізацією, а підтримку паравіртуалізації доводиться шукати у виробників операційних систем, які слабо вірять в можливості пропонованого їм кошти. В даний час провайдерами паравіртуалізації є компанії XenSource і Virtual Iron, які стверджують, що швидкодія паравіртуалізації вище.

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

Приклади віртуалізації рівня ОС: Linux-VServer, Virtuozzo, OpenVZ, Solaris Containers і FreeBSD Jails.

6) Віртуалізація програмного рівня Цей вид віртуалізації не схожий на всі інші: якщо в попередніх випадках створюються віртуальні середовища або віртуальні машини, що використовуються для ізоляції додатків, то в даному випадку сам додаток поміщається в контейнер з необхідними елементами для своєї роботи: файлами реєстру, файлами налаштувань, користувача і системними об'єктами. У результаті виходить додаток, що не вимагає установки на аналогічній платформі. При перенесенні такого додатку на іншу машину і його запуску, віртуальне оточення, створене для програми, вирішує конфлікти між нею і операційною системою, а також іншими додатками. Такий спосіб віртуалізації схожий на поведінку інтерпретаторів різних мов програмування (недарма інтерпретатор, Віртуальна Машина Java (JVM), теж потрапляє в цю категорію). Прикладом такого підходу служать: Thinstall, Altiris, Trigence, Softricity.

1.1.2 Віртуалізація ресурсів

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

Види віртуалізації ресурсів:

1) Об'єднання, агрегація і концентрація компонентів Під таким видом віртуалізації ресурсів розуміється організація декількох фізичних або логічних об'єктів в пули ресурсів (групи), що представляють зручні інтерфейси користувачеві. Приклади такого виду віртуалізації:

1) багатопроцесорні системи, що представляються нам як одна потужна система,

2) RAID-масиви та засоби керування томами, що комбінують декілька фізичних дисків в один логічний,

3) віртуалізація систем зберігання, використовувана при побудові мереж зберігання даних SAN (Storage Area Network),

4) віртуальні приватні мережі (VPN) і трансляція мережевих адрес (NAT), що дозволяють створювати віртуальні простори мережевих адрес та імен.

2) Кластеризація комп’ютерів та розподілені обчислення (grid computing)

Цей вид віртуалізації включає в себе техніки, застосовувані при об'єднанні безлічі окремих комп’ютерів у глобальні системи (метакомпьютери), спільно вирішальні загальну задачу.

3) Поділ ресурсів (partitioning)

При поділі ресурсів у процесі віртуалізації відбувається поділ якого-небудь одного великого ресурсу на кілька однотипних об'єктів, зручних для використання. У мережах зберігання даних це називається зонуванням ресурсів («zoning»).

4) Інкапсуляція Багатьом це слово відомо як приховування об'єктом всередині себе своєї реалізації. Стосовно до віртуалізації, можна сказати, що це процес створення системи, що надає користувачеві зручний інтерфейс для роботи з нею і приховує подробиці складності своєї реалізації. Наприклад, використання центральним процесором кеша для прискорення обчислень не відбивається на його зовнішніх інтерфейсах.

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

1.1.3 Де застосовується віртуалізація

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

Сферу застосування віртуалізації можна визначити, як «місце, де є комп’ютери», проте на даний момент можна позначити наступні варіанти використання продуктів віртуалізації:

1) Консолідація серверів У даний момент програми, що працюють на серверах в IT-інфраструктурі компаній, створюють невелике навантаження на апаратні ресурси серверів (в середньому 5−15 відсотків). Віртуалізація дозволяє мігрувати з цих фізичних серверів на віртуальні та розмістити їх все на одному фізичному сервері, збільшивши його завантаження до 60−80 відсотків і, підвищивши тим самим коефіцієнт використання апаратури, що дозволяє істотно заощадити на апаратурі, обслуговуванні та електроенергії.

2) Розробка і тестування програм Безліч продуктів віртуалізації дозволяють запускати кілька різних операційних систем одночасно, дозволяючи тим самим розробникам і тестерам програмного забезпечення тестувати їх додатки на різних платформах і конфігураціях. Також зручні засоби по створенню «знімків» поточного стану системи одним кліком миші і такого ж простого відновлення з цього стану, дозволяють створювати тестові оточення для різних конфігурацій, що істотно підвищує швидкість і якість розробки.

3) Використання в бізнесі

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

4) Використання віртуальних робочих станцій З приходом ери віртуальних машин буде безглуздо робити собі робочу станцію з її прив’язкою до апаратури. Тепер створивши одного разу віртуальну машину зі своєї робочого або домашнього середовища, можна буде використовувати її на будь-якому іншому комп’ютері. Також можна використовувати готові шаблони віртуальних машин (Virtual Appliances), які вирішують певне завдання (наприклад, сервер додатків). Концепція такого використання віртуальних робочих станцій може бути реалізована на основі хост-серверів для запуску на них переміщуються десктопів користувачів (щось подібне мейнфреймів). Надалі ці десктопи користувач може забрати з собою, не синхронізуючи дані з ноутбуком. Цей варіант використання також надає можливість створення захищених користувача робочих станцій, які можуть бути використані, наприклад, для демонстрації можливостей програми замовнику. Можна обмежити час використання віртуальної машини — і після цього часу віртуальна машина перестане запускатися. У цьому варіанті використання закладені великі можливості.

1.2 Технології віртуалізації

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

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

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

1.2.1 Програмна віртуалізація

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

Використання програмної віртуалізації дозволяє реалізувати такі переваги:

1) Підвищення норми утилізації ресурсів з 5−15% до 60−80% приводить до скорочення числа необхідних серверів і розмірів ЦОД. Результатом стане економія на оренді площ, зниженні енергоспоживання серверів і систем кондиціонування, зниження потреби в обслуговуючому персоналі;

2) Розгортання віртуальних серверів і додатків та їх перенесення на інше обладнання займає набагато менше часу;

3) Відкривається можливість динамічно виділяти ресурси кожної ВМ відповідно до реальних потреб бізнес-додатків;

4) Консолідація виконуваних додатків, забезпечувана повною ізоляцією кожної з ВМ. Крах будь-якої ВМ не впливає на працездатність інших машин, що функціонують на тій же апаратурі;

5) Міграція успадкованих додатків і версій ОС на віртуальні розділи без модифікації;

6) Централізований засіб управління всіма віртуальними серверами підприємства через єдиний інтерфейс;

7) Висока оперативність відновлення доступності додатків після збоїв.

Програмна паравіртуалізація Паравіртуалізація є рішенням по обходу команд процесора (операційної системи хоста), які не піддаються віртуалізації. Для цього ядро гостьової системи перед початком роботи модифікується таким чином, щоб замінити «погані» команди на запити до гіпервізора, який транслює запити до процесора. За аналогією з мережевими технологіями, в даному випадку гіпервізор можна порівняти з проксі-сервером. Однак застосування даної технології довгий час було обмежене закритістю вихідного коду пропрієтарних операційних систем. Однак з введенням процесорів з підтримкою технологій апаратної віртуалізації, стало можливо запускати немодифіковані ОС на системах паравіртуалізації.

Програмна повна віртуалізація У 1998 році компанія VMWare випустила програмний комплекс повної віртуалізації, який був заснований на бінарній трансляції коду. Код гостьової операційної системи приймався гіпервізором і перевірявся на наявність проблемних команд. Логіка гіпервізора при цьому або перекладала команди на виконання від імені гіпервізора, або заміняла певним чином команди. Технологія повної віртуалізації дала можливість реалізувати віртуалізацію пропрієтарних операційних систем, як Windows, MacOS, де немає можливості модифікувати ядро системи. Однак слід зазначити, що повна трансляція і модифікація бінарного коду — вельми ресурсномістка операція, тому така повна віртуалізація не відрізняється високою продуктивністю.

1.2.2 Апаратна віртуалізація

Апаратна віртуалізація — віртуалізація з підтримкою спеціальної процесорної архітектури. На відміну від програмної віртуалізації, за допомогою даної техніки можливе використання ізольованих гостьових систем, керованих гіпервізором безпосередньо. Гостьова система не залежить від архітектури хостової платформи та реалізації платформи віртуалізації. Наприклад, за допомогою технологій апаратної віртуалізації можливий запуск 64-бітних гостьових систем на 32-бітних хостових системах.

Апаратна віртуалізація забезпечує продуктивність, порівнянну з продуктивністю невіртуалізованной машини, що дає віртуалізації можливість практичного використання і тягне її широке поширення. Найбільш поширені технології віртуалізації Intel-VT і AMD-V:

У Intel VT (Intel Virtualization Technology) реалізована віртуалізація режиму реальної адресації (режим сумісності з 8086). Відповідна апаратна віртуалізація введення-виведення — VT-d. Часто позначається абревіатурою VMX (Virtual Machine eXtension). Кодова назва — Vanderpool.

AMD-V часто позначається абревіатурою SVM (Secure Virtual Machines). Кодова назва — Pacifica. Відповідна технологія віртуалізації введення-виведення — IOMMU. AMD-V простіше і ефективніше, ніж Intel VT. Підтримка AMD-V з’явилася в Xen 3.3.

За кожним віртуальним сервером, як правило, закріплюється власний набір апаратних ресурсів. Апаратна віртуалізація дозволяє виділити віртуальній машині (ВМ) потрібні апаратні ресурси і забезпечити розподіл апаратних потужностей на рівні пристроїв.

Розвиток апаратних технік віртуалізації

Ідея апаратної віртуалізації не нова: вперше вона була втілена в 386-х процесорах і носила назву V86 mode. Цей режим роботи 8086-го процесора дозволяв запускати паралельно кілька DOS-додатків. Тепер апаратна віртуалізація дозволяє запускати кілька незалежних віртуальних машин у відповідних розділах апаратного простору комп’ютера. Апаратна віртуалізація є логічним продовженням еволюції рівнів абстрагування програмних платформ — від багатозадачності до рівня віртуалізації:

Багатозадачність Рис. 1.1 Багатозадачність

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

HyperThreading

Рис. 1.2 HyperThreading

Технологія HyperThreading в широкому сенсі також представляє собою апаратну технологію віртуалізації, оскільки при її використанні в рамках одного фізичного процесора відбувається симуляція двох віртуальних процесорів в рамках одного фізичного з допомогою техніки Symmetric Multi Processing (SMP).

Віртуалізація Рис. 1.3 Віртуалізація Віртуалізація являє собою емуляцію декількох віртуальних процесорів для кожної з гостьових операційних систем. При цьому технологія віртуального SMP дозволяє представляти кілька віртуальних процесорів в гостьовій ОС за наявності технології HyperThreading або декількох ядер у фізичному процесорі.

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

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

2) Можливість збільшення швидкодії платформ віртуалізації. Оскільки управління віртуальними гостьовими системами проводиться за допомогою невеликого проміжного шару програмного забезпечення (гіпервізора) безпосередньо, в перспективі очікується збільшення швидкодії платформ віртуалізації на основі апаратних технік.

3) Можливість незалежного запуску декількох віртуальних платформ з можливістю перемикання між ними на апаратному рівні. Кілька віртуальних машин можуть працювати незалежно, кожна в своєму просторі апаратних ресурсів, що дозволить усунути втрати швидкодії на підтримку хостової платформи, а також збільшити захищеність віртуальних машин за рахунок їх повної ізоляції.

4) Відлучення гостьової системи від архітектури хостової платформи та реалізації платформи віртуалізації. За допомогою технологій апаратної віртуалізації можливий запуск 64-бітних гостьових систем з 32-бітових хостових системах, з запущеними у них 32-бітними середовищами віртуалізації.

Як працює апаратна віртуалізація Необхідність підтримки апаратної віртуалізації змусила виробників процесорів дещо змінити їх архітектуру за рахунок введення додаткових інструкцій для надання прямого доступу до ресурсів процесора з гостьових систем. Цей набір додаткових інструкцій носить назву Virtual Machine Extensions (VMX). VMX надає наступні інструкції: VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMREAD, VMWRITE, VMCALL, VMLAUNCH, VMRESUME, VMXON і VMXOFF.

Процесор з підтримкою віртуалізації може працювати в двох режимах root operation і non-root operation. У режимі root operation працює спеціальне програмне забезпечення, що є «легковагою» прошарком між гостьовими операційними системами і обладнанням — монітор віртуальних машин (Virtual Machine Monitor, VMM), що носить також назву гіпервізор (hypervisor). Слово «гіпервізор» з’явилося цікавим чином: колись дуже давно, операційна система носила назву «supervisor», а програмне забезпечення, що знаходиться «під супервізором», отримало назву «гіпервізор» .

Щоб перевести процесор в режим віртуалізації, платформа віртуалізації повинна викликати інструкцію VMXON і передати управління гіпервізорами, який запускає віртуальну гостьову систему інструкцією VMLAUNCH і VMRESUME (точки входу у віртуальну машину). Virtual Machine Monitor може вийти з режиму віртуалізації процесора, викликавши інструкцію VMXOFF.

Рис. 1.4 Процедура запуску віртуальних машин Кожна з гостьових операційних систем запускається і працює незалежно від інших і є ізольованою з точки зору апаратних ресурсів і безпеки.

Відмінність апаратної віртуалізації від програмної

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

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

Недоліки апаратної віртуалізації

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

На початку 2006 року в лабораторіях Microsoft Research був створений руткіт під кодовою назвою SubVirt, що вражає хостової системи Windows і Linux та чинить свою присутність практично не виявляється. Принцип дії цього руткита полягав у наступному:

1) Через одну з вразливостей в операційній системі комп’ютера шкідливе програмне забезпечення отримує адміністративний доступ.

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

3) Антивірусне програмне забезпечення після здійснення процедури міграції не може виявити шкідливий код, оскільки він перебуває за межами віртуалізованому системи.

Наочно ця процедура виглядає так:

Рис. 1.5 Система роботи руткіту SubVirt

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

Програмне забезпечення, що підтримує апаратну віртуалізацію На даний момент, абсолютна більшість вендорів програмних платформ віртуалізації заявило про підтримку технологій апаратної віртуалізації Intel і AMD. Віртуальні машини на цих платформах можуть бути запущені за підтримки апаратної віртуалізації. Крім того, у багатьох операційних системах, в дистрибутив яких включені програмні платформи паравіртуалізації, такі як Xen або Virtual Iron, апаратна віртуалізація дозволить запускати незмінені гостьові операційні системи. Так як паравіртуалізації є одним з видів віртуалізації, що вимагають модифікації гостьової операційної системи, реалізація в платформах паравіртуалізації підтримки апаратної віртуалізації є для цих платформ вельми прийнятним рішенням, з точки зору можливості запуску не модифікованих версій гостьових систем. У наведеній далі таблиці перераховані основні популярні платформи віртуалізації та програмне забезпечення, що підтримують технології апаратної віртуалізації:

Табл. 1.1 ПО з пітримкою апаратної віртуалізації

Платформа або ПО

Підтримувані технології

Примітка

Kernel-based Virtual Machine (KVM)

Intel VT, AMD-V

Віртуалізація рівня екземплярів операційних систем під Linux.

Microsoft Virtual PC

Intel VT, AMD-V

Настільна платформа віртуалізації для хостових Windows-платформ.

Microsoft Virtual Server

Intel VT, AMD-V

Серверна платформа віртуалізації для Windows. Версія з підтримкою апаратної віртуалізації, Microsoft Virtual Server 2005 R2 SP1

Parallels Workstation

Intel VT, AMD-V

Платформа віртуалізації для Windows і Linux хостів.

VirtualBox

Intel VT, AMD-V

Настільна платформа віртуалізації з відкритим вихідним кодом для Windows, Linux і Mac OS.

Virtual Iron

Intel VT, AMD-V

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

VMware Workstation и VMware Server

Intel VT, AMD-V

Для запуску 64-х бітних гостьових систем потрібна підтримка Intel VT (так само як і для VMware ESX Server), для 32-бітних ж гостьових ОС за замовчуванням підтримка IntelVT відключена з тих же причин, що і у VirtualBox.

Xen

Intel VT, AMD-V

Платформа віртуалізації Xen з відкритим вихідним кодом.

1.2.3 Віртуалізація на рівні операційної системи

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

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

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

Віртуалізація програмного продукту Віртуалізація додатків увазі використання моделі ізоляції прикладних програм та їх взаємодії з ОС, коли виртуализует кожен екземпляр додатку, всі його основні компоненти: файли (у тому числі системні), реєстр, шрифти, INI-файли, COM-об'єкти, служби. У якомусь сенсі цей вид віртуалізації можна вважати спрощеним варіантом віртуальних контейнерів для окремого додатка. На відміну від віртуалізації ОС цей підхід не вирішує питань роботи з успадкованими додатками, а тільки проблему надійної роботи додатків в багатозадачному середовищі.

Програма в цьому випадку виконується без інсталяції в традиційному її розумінні і може запускатися з зовнішніх носіїв (наприклад, з флеш-карт або з мережевих папок). З точки зору ІТ-відділу такий підхід має переваги: прискорюється розгортання настільних систем і з’являється можливість управління ними, зводяться до мінімуму конфлікти між додатками і потреби в тестуванні сумісності додатків. Фактично саме такий варіант віртуалізації використовується в Microsoft Appication Virtualization (раніше Softgrid), VMware Thinstall, Symantec / Altiris Virtualization, Novell ZENworks Application Virtualization.

Найбільш поширеними продуктами, що дозволяють використовувати такий тип віртуалізації є ThinApp від VMware та App-V від Microsoft.

VMware ThinApp (раніше відома як Thinstall) — засіб для віртуалізації та створення переносимих додатків від компанії VMware, призначене для перенесення існуючих програм на інші платформи без перекомпіляції і тестування.

ThinApp здатна виконувати будь-який додаток без установки в традиційному розумінні за допомогою віртуалізації (емуляції) ресурсів (змінних середовища, файлів і реєстру Windows). Всі ресурси зберігаються на диску в папці програми. Коли додаток запитує який-небудь ресурс, шар віртуалізації ThinApp перехоплює запит і повертає запитувана значення з файлу на диску. Додаток вважає себе повністю встановленим. ThinApp не вимагає установки ні програм, ні драйверів. Це дозволяє запускати віртуалізовані застосування з USB-накопичувачів або мережевих дисків без прав адмінінстратора. ThinApp перетворює звичайні файли встановлення (наприклад, файли *. Msi) в автономні EXE файли, що містять все необхідне для запуску програми. ThinApp також може створити переносний додаток на основі даних про зміни в системних файлах і реєстрі, але для цього потрібно просканувати систему до і після установки програми. На відміну від архівів, ThinApp не виносить файли на диск. ThinApp підтримує збірки ОС Windows починаючи від Windows NT 4.0.

Microsoft Application Virtualization (APP-V) — це рішення віртуалізації додатків не вимагає установки самого додатка на комп’ютер користувача. Додаток безпечно доставляються користувачеві на вимогу. Це значно підвищує ефективність ІТ і дає велику гнучкість бізнесу і кінцевим користувачам. Використання віртуалізації додатків переводить додатки з розряду звичайних, що вимагають установки, в сервіси доступні по мережі. APP-V представляє нові можливості користувацького інтерфейсу та процесу керування чергою доступу.

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

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

Цей термін ввела пару років тому компанія Microsoft для позначення технологій термінального доступу, які почали активно застосовуватися для x86-сумісних комп’ютерів з кінця 90-х рр. Основна ідея тут — поділ процесів виконання програми та візуалізації інтерфейсу користувача, що забезпечує перенесення основного обчислювального навантаження на сервер і дозволяє застосовувати тонкий клієнт.

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

Створення та розвиток технологій термінального доступу пов’язано з компаніями Cirtix і Microsoft, які мають багаторічну історію стратегічного співробітництва в цій сфері, де Citrix займає лідируючі позиції на рівні high-end-рішень зі своїм комплексом XenApp (раніше називався Presentation Server), а Microsoft домінує на lowсегменті з Windows Terminal Services.

Однак в останні роки в цій сфері починають активно діяти і інші компанії, в тому числі виробники апаратних засобів (HP, Sun, Wyse). З’являються також гравці з якісно новими рішеннями. І тут потрібно в першу чергу згадати про швидко набираючі популярність рішення компанії NComputing.

У дещо спрощеному вигляді термінальна технологія дозволяє перетворити програмний продукт на клієнт-серверний варіант завдяки перехопленню користувацького інтерфейсу, який потім передається на ПК, де виповнюється спеціалізованим клієнтським ПЗ під управлінням стандартної операційної системи. Рішення NComputing — це спеціалізований програмно-апаратний комплекс, що з програмного середовища віртуалізації vSpace і термінальних пристроїв (до 30), до яких підключаються монітор, клавіатура і миша, т.д.

В порівнянні з традиційним варіантом на клієнтському місці замість системного блоку, ОС і клієнтського ПЗ використовується спеціалізований пристрій (тонкий клієнт). Ключову роль у цьому комплексі грає ПО vSpace, про архітектуру якого поки майже нічого невідомо. Швидше за все, це ПЗ реалізує якийсь змішаний варіант технології віртуальних контейнерів і термінального сервера стосовно до настільних систем. При цьому обмін даними між сервером і терміналом виконується за допомогою патентованого протоколу UXP, оптимізованого для обміну мультимедійною інформацією. Загалом очевидно, що NComputing поступається в універсальності (обмежене число терміналів, що підключаються тільки в локальних мережах) традиційному варіанту терміналів на базі ПК, але в той же час може ефективно застосовуватися в багатьох реальних ситуаціях.

На даному етапі найбільш популярним варіантом термінального доступу для Unix систем є FreeNX server — сервер (безкоштовна версія серверу NX NoMachine), не обмежений за кільістю одночасно підключених клієнтів, та безкоштовний для комерційного використання.

FreeNX — технологія реалізації системи «віддаленого терміналу». Забезпечує реакцію запускаються програм, порівнянну з часом їх виконання на локальній системі. FreeNX зберігає високу інтерактивність додатків при великій завантаженості та низької швидкості каналу. Базові бібліотеки надані nomachine під вільною ліцензією GPL.

Також існує так званий Linux Terminal Server Project (LTSP) — це вільно поширюваний додатковий пакет для Linux з відкритим вихідним кодом, який дозволяє декільком людям з малопотужними комп’ютерами (терміналами) використовувати обчислювальні потужності одного, більш продуктивного комп’ютера (сервера). При цьому, всі програми запускаються на сервері, а термінали, так само звані тонкими клієнтами (або X-терміналами), просто приймають відеоряд, що посилається сервером, і крім нього нічого не обробляють. Як правило, термінал являє собою малопотужний комп’ютер, в ньому навіть може бути відсутнім жорсткий диск, внаслідок чого він може працювати тихіше, ніж звичайний настільний комп’ютер.

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

Крім економії коштів, освітній заклад також отримує більше контролю над використанням обчислювальних ресурсів учнями. Прикладами використання LTSP можуть послужити AbulЙdu, Edubuntu, K12LTSP і Skolelinux. LTSP підтримується компаніями Cutter project і Deworks.

1.2.4 Віртуалізація мережевого обладнання

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

Студенту технічного вузу важко буде зрозуміти принцип роботи з мережевим обладнанням, якщо він не буде в змозі самостійно познайомитися з його командним інтерфейсом, на практиці закріпити отримані знання, та отримати досвід у справжніх «бойових» ситуаціях.

На думку відразу спадає всім відомий Cisco Packet Tracer, та він надає можливість оперувати приблизно 80% команд консолі, і, якщо вам недостатньо цого, на допомогу приходить GNS3 — графічний симулятор мережевого обладнання, такого як CISCO, котрий дозволяє будувати мережеві топології та взаємодіяти з гіпервізорами другого рівня на зразок VirtualBox.

Можливості програми:

1) Симуляція ATM, Frame Relay і Ethernet комутаторів

2) Проектування найскладніших топологій

3) Зв’язок віртуальної мережі з реальною

4) Побудова великих мереж на основі роутерів (відпрацювання різних протоколів динамічної маршрутизації).

5) Використання сторонніх гіпервізорів Слід зауважити, що GNS3 складається одразу з декількох програм (Dynamips, Dynagen, Qemu / Pemu, Putty, VPCS, WinPCAP і Wireshark).

Ця своєрідна «солянка» дозволить вам на максимум наблизиться до «бойових» умов. Пакет абсолютно безкоштовний та доступний для установки на операційні системи сімейства Windows, Linux-based дистрибутиви та MacOS. На даному етапі, на думку багатьох спеціалістів та викладачів, не існує кращого інструменту як для підготовки до здачі екзаменів CCNA, так і для перевірки работоздатності компьютерної мережі перед непосредньо монтажем ії у будівлі.

1.2.5 Постановка задачі

1) Опрацювати літературу по заданій дипломній роботі.

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

3) На основі отриманих знань розробити макет комп’ютерної мережі для будівлі середнього офісу, використовуючи технології віртуалізації та вільне програмне забезпечення.

2. Теоретична частина

2.1 Віртуалізація як інструмент навчання, проектування мереж та системного адміністрування

2.1.1 Віртуалізація в адмініструванні комп’ютерних мереж

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

2.1.2 Сервери та сервіси

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

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

2.1.3 Віртуалізація сервісів

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

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

У UNIX-системах, при розробці яких багатозадачність була одним з найважливіших пріоритетів, вже присутній комплекс засобів для вирішення завдань ізоляції та контролю. До подібних засобів відносяться, наприклад, системний виклик chroot (), що забезпечує ізоляцію на рівні файлової системи, у FreeBSD існує також технологія jail, додатково до цього обмежує доступ до структур ядра. В останніх версіях ядра Linux реалізована підтримка апаратної паравіртуалізації (kvm, застосовне в тому випадку, якщо її підтримує процесор). Однак стандартні засоби UNIX-систем не вирішують всіх проблем спільного розміщення сервісів.

Простіше кажучи, в розділяється середовищі працює логіка: «хто встиг, той і з'їв». Тому в ситуації, коли критично важлива робота декількох сервісів, особливо вимогливих до апаратних ресурсів, робота в рамках однієї розділяється середовища (ОС) може бути небажана.

Показати весь текст
Заповнити форму поточною роботою