Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом (диплом).docx
Скачиваний:
80
Добавлен:
23.03.2015
Размер:
7.14 Mб
Скачать

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]