Навіщо потрібна віртуалізація сервера?
Останнім часом користувачі все частіше чують про таке поняття, як «віртуалізація». Вважається, що її застосування - це круто і сучасно. Але ось далеко не кожен юзер чітко розуміє, що представляє собою віртуалізація в цілому і зокрема. Спробуємо пролити світло на це питання і торкнемося системи віртуалізації серверів. Сьогодні саме ці технології є передовими, оскільки мають безліч переваг і в плані безпеки, і в плані адміністрування.
Відео: Що нового в Windows Server 2016 Technical Preview 4 - можливості вкладеної віртуалізації в Hyper-V
Що таке віртуалізація?
Почнемо з найпростішого - визначення терміна, що описує віртуалізацію як таку. Відзначимо відразу, що в Інтернеті можна знайти і скачати якусь допомогу з цього питання на кшталт довідника «Віртуалізація сервера для чайників» PDF-формату. Але при вивченні матеріалу непідготовлений користувач може зіткнутися з великою кількістю незрозумілих термінів. Тому спробуємо роз`яснити суть питання, так би мовити, на пальцях.
Перш за все, при розгляді технології віртуалізації серверів зупинимося на початковому понятті. Що ж таке віртуалізація? Дотримуючись простій логіці, неважко здогадатися, що цей термін описує створення якогось емулятора (подібності) якогось фізичного або програмного компонента. Іншими словами, це - інтерактивна (віртуальна) модель, яка не існує в реальності. Однак тут свої нюанси.
Основні типи віртуалізації і використовувані технології
Справа в тому, що в понятті віртуалізації розрізняють три основних напрямки:
Відео: Віртуалізація - що це?
- подання;
- додатки;
- сервери.
Для розуміння найпростішим прикладом може бути використання так званих термінальних серверів, які надають користувачам власні обчислювальні ресурси. Призначена для користувача програма виконується саме на віддаленому сервері, а користувач бачить тільки результат. Такий підхід дозволяє знизити системні вимоги до призначеного для користувача терміналу, конфігурація якого застаріла і не може впоратися з заданими обчисленнями.
Для додатків такі технології застосовуються також досить широко. Наприклад, це може бути віртуалізація 1С-сервера. Суть процесу полягає в тому, що програма запускається на одному ізольованому сервері, а доступ до неї отримує велику кількість віддалених користувачів. Оновлення програмного пакету проводиться з єдиного джерела, не кажучи вже про найвищий рівень безпеки всієї системи.
Нарешті, мається на увазі створення інтерактивної комп`ютерної середовища, віртуалізація сервера в якій повністю повторює реальну конфігурацію «залізних» побратимів. Що це означає? Так то, що, за великим рахунком, на одному комп`ютері можна створити один або кілька додаткових, які будуть працювати в режимі реального часу, як якщо б вони існували в дійсності (системи віртуалізації серверів будуть розглянуті більш докладно трохи пізніше).
При цьому абсолютно не важливо, яка саме операційна система буде встановлена на кожному такому терміналі. За великим рахунком на основну (хостовую) ОС і віртуальну машину це не робить ніякого впливу. Це схоже на взаємодію комп`ютерів з різними ОС в локальній мережі, але в даному випадку віртуальні термінали можуть бути і не пов`язані між собою.
вибір обладнання
Одним з явних і незаперечних переваг віртуальних серверів є зниження матеріальних витрат на створення повнофункціональної програмно-апаратної структури. Наприклад, є дві програми, які для нормальної роботи вимагають наявності 128 Мб оперативної пам`яті, але їх не можна встановлювати на один фізичний сервер. Як вчинити в цьому випадку? Можна придбати два роздільних сервера по 128 Мб і встановити їх окремо, а можна купити один з 128 Мб «оперативки», створити на ньому два віртуальних сервера і встановити два додатки саме на них.
Якщо хто ще не зрозумів, у другому випадку використання оперативної пам`яті буде більш раціональним, а матеріальні витрати істотно нижче, ніж при покупці двох незалежних пристроїв. Але тільки цим справа не обмежується.
Переваги в системі безпеки
Як правило, сама серверна структура має на увазі наявність декількох апаратів для виконання тих чи інших завдань. У плані забезпечення безпеки системні адміністратори встановлюють контролери домену Active Directory і інтернет-шлюзи не на одному, а на різних серверах.
У разі спроби зовнішнього втручання першим атаці завжди піддається шлюз. Якщо на сервері встановлений ще й контролер домену, то дуже висока ймовірність пошкодження баз AD. У ситуації з цілеспрямованими діями всім цим можуть заволодіти зловмисники. Та й відновлення даних з резервної копії - це справа досить клопітка, хоч і займає воно відносно небагато часу.
Якщо підійти до цього питання з іншого боку, можна відзначити, що віртуалізація сервера дозволяє обійти обмеження по установці, а також швидко відновити потрібну конфігурацію, адже бекап зберігається в самій віртуальній машині. Правда, як вважається, віртуалізація серверів з Windows Server (Hyper-V) в такому поданні виглядає ненадійною.
Крім того, досить спірним залишається питання ліцензування. Так, наприклад, для Windows Server 2008 Standard передбачений запуск всього однієї віртуальної машини, на Enterprise - чотири, а на Datacenter - взагалі необмежена кількість (причому навіть копій).
питання адміністрування
Переваги такого підходу, не кажучи про систему безпеки і зниженні витрат, навіть коли проводиться віртуалізація серверів з Windows Server, в першу чергу повинні оцінити системні адміністратори, які займаються обслуговуванням цих машин або локальних мереж.
Дуже часто каменем спотикання стає створення резервних копій системи. Зазвичай при створенні резервної копії потрібно стороннє ПО, а зчитування з оптичного носія або навіть з Мережі займає більше часу, в порівнянні зі швидкістю роботи дискової підсистеми. Клонування самого сервера і віртуальної машини можна зробити всього за пару кліків, а потім швидко розгорнути працездатну систему навіть на «чистому» залозі, після чого вона буде працювати без збоїв.
В VMware vSphere віртуалізація серверів дозволяє створювати і зберігати так звані знімки самої віртуальної машини (snapshots), які представляють собою спеціальні образи її стану в певний момент часу. Вони можуть бути представлені в деревоподібної структурі в самій машині. Таким чином, відновити працездатність віртуальної машини набагато простіше. При цьому можна довільно вибирати точки відновлення, відкочуючись стан назад, а потім вперед (Windows-систем таке може тільки снитися).
Програми віртуалізації серверів
Якщо говорити про програмне забезпечення, тут для створення віртуальних машин можна використовувати величезну кількість додатків. У найпростішому випадку використовуються власні кошти Windows-систем, за допомогою яких може проводитися віртуалізація серверів (Hyper-V - вбудований компонент).
Відео: Сервер для малого бізнесу
Однак і ця технологія має деякі недоліки, тому багато хто воліє програмні пакети на зразок WMware, VirtualBox, QUEMI або навіть MS Virtual PC. Хоча назвами такі додатки і різняться, принципи роботи з ними особливо не відрізняються (хіба що в деталях і деякі нюанси). З деякими версіями додатків може проводитися і віртуалізація серверів Linux, але ці системи детально розглядатися не будуть, оскільки у нас більшість користувачів використовує все-таки Windows.
Віртуалізація сервера на Windows: просте рішення
З часу виходу сьомої версії Windows в ній з`явився вбудований компонент, званий Hyper-V, що дало можливість створювати віртуальні машини власним коштом системи без використання стороннього ПО.
Як і в будь-якому іншому додатку такого рівня, в цьому пакеті можна змоделювати майбутній віртуальний комп`ютер, вказавши розмір жорсткого диска, обсяг оперативної пам`яті, наявність оптичних приводів, бажані характеристики графічного або звукового чіпа - в загальному, всього того, що є в «залізі» звичайного серверного терміналу.
Але тут потрібно звернути увагу на включення самого модуля. Віртуалізація серверів Hyper-V не може проводитися без попереднього включення цього компонента в самій системі Windows.
У деяких випадках може знадобитися і задіяння активації підтримки відповідної технології в BIOS.
Відео: Домашній сервер в mini-ITX корпусі
Використання сторонніх програмних продуктів
Проте навіть незважаючи на засоби, якими може проводитися віртуалізація серверів Windows-систем, багато фахівців вважають цю технологію кілька неефективною і навіть надмірно ускладненою. Набагато простіше використовувати вже готовий продукт, в якому аналогічні дії проводяться на основі автоматичного підбору параметрів, а віртуальна машина володіє великими можливостями і гнучкістю в управлінні, налаштуванні і використанні.
Йдеться про використання таких програмних продуктів, як Oracle VirtualBox, VMware Workstation (VMware vSphere) та інших. Наприклад, сервер віртуалізації VMware може створюватися таким чином, щоб зроблені всередині віртуальної машини аналоги комп`ютерів працювали окремо (незалежно один від одного). Такі системи можна використовувати в процесах навчання, тестуванні будь-якого програмного забезпечення і т.д.
До речі сказати, окремо можна відзначити, що при тестуванні ПО в середовищі віртуальної машини можна використовувати навіть програми, заражені вірусами, які покажуть свою дію тільки в гостьовій системі. На основний (хостовой) ОС це не позначиться жодним чином.
Що ж стосується процесу створення комп`ютера всередині машини, в VMware vSphere віртуалізація серверів, так само як і в Hyper-V, проводиться на основі «Майстра», проте, якщо порівнювати цю технологію з Windows-системами, сам процес виглядає дещо простіше, оскільки програма сама може запропонувати якусь подобу шаблонів або автоматично обчислити потрібні параметри майбутнього комп`ютера.
Основні недоліки віртуальних серверів
Але, не дивлячись на те, скільки переваг дає того ж сисадміну або кінцевому користувачеві віртуалізація сервера, у таких програм є і деякі суттєві недоліки.
По-перше, вище голови не стрибнеш. Тобто віртуальна машина буде використовувати ресурси фізичного сервера (комп`ютера), причому не в повному, а в строго обмеженому обсязі. Таким чином, щоб віртуальний апарат працював належним чином, початкова конфігурація «заліза» повинна бути досить потужною. З іншого боку, купівля одного потужного сервера все одно вийде набагато дешевше, ніж придбання декількох з більш низькою конфігурацією.
По-друге, хоча і вважається, що кілька серверів можуть бути об`єднані в кластер, а при відмові одного з них можна «переїхати» на інший, в тому ж Hyper-V цього домогтися неможливо. І це виглядає як явний мінус в питанні відмовостійкості.
По-третє, явно спірним буде питання перенесення у віртуальний простір ресурсномістких СУБД або систем на кшталт Mailbox Server, Exchange Server і т.д. У цьому випадку буде спостерігатися явне гальмування.
По-четверте, для коректної роботи такої інфраструктури не можна використовувати виключно віртуальні компоненти. Зокрема, це стосується контролерів доменів - хоча б один з них в обов`язковому порядку повинен бути «залізним» і спочатку доступним в Мережі.
Нарешті, по-п`яте, віртуалізація сервера таїть в собі ще одну небезпеку: відмова фізособи хоста і хостовой операційної системи спричинить за собою автоматичне відключення всіх супутніх компонентів. Це - так звана єдина точка відмови.
резюме
Проте, не дивлячись на деякі недоліки, переваг у таких технологій явно більше. Якщо подивитися на питання того, навіщо потрібна віртуалізація серверів, тут можна виділити кілька основних аспектів:
- скорочення кількості «залізного» обладнання;
- зниження тепловиділення і споживання енергії;
- зменшення матеріальних витрат, в тому числі на придбання обладнання, оплату електроенергії, придбання ліцензій;
- спрощення обслуговування і адміністрування;
- можливість «міграції» ОС і самих серверів.
Власне, переваг застосування таких технологій набагато більше. Хоча і може здатися, що є деякі серйозні недоліки, при правильній організації всієї інфраструктури і залученні необхідних коштів управління для безперебійної роботи в більшості випадків появи таких ситуацій можна уникнути.
Нарешті, для багатьох відкритим залишається питання вибору програмного забезпечення і практичного впровадження віртуалізації. Але тут краще звернутися за допомогою до фахівців, оскільки перед нами в даному випадку стояв виключно питання загального ознайомлення з виртуализацией серверів і доцільністю впровадження системи як такої.