Кластер - це група з двох або більше серверів, що діють спільно для забезпечення безвідмовної роботи набору додатків або служб і сприймаються клієнтом як єдиний елемент. Вузли кластера об'єднуються між собою за допомогою апаратних мережевих засобів, спільно використовуваних ресурсів, що розділяються і серверного програмного забезпечення.
У першому випадку (кластери з балансуванням навантаження) служба Network Load Balancing надає служб і додатків властивості високого рівня надійності і масштабованості за рахунок об'єднання до 32 серверів в єдиний кластер. Запити від клієнтів в даному випадку розподіляються серед вузлів кластера прозорим чином. При відмові вузла кластер автоматично змінює свою конфігурацію і перемикає клієнта на будь-який з доступних вузлів. Цей режим конфігурації кластера також називається active-active режимом, коли один додаток працює на декількох вузлах.
Кластер серверів розподіляє свою навантаження серед серверів кластера, причому кожен сервер несе свою власну навантаження. Якщо відбувається відмова вузла в кластері, то додатки і служби, налаштовані на роботу в кластері, прозорим чином перезапускати на будь-якому з вільних вузлів. Кластери серверів використовують колективні диски для обміну даними всередині кластера і для забезпечення прозорого доступу до додатків і службам кластера. Для них потрібне спеціальне обладнання, але дана технологія забезпечує дуже високий рівень надійності, оскільки сам кластер не має будь-якої єдиної точки відмови. Цей режим конфігурації кластера також називається active-passive режимом. Додаток в кластері працює на одному вузлі з загальними даними, розташованими на зовнішньому сховищі.
Кластерний підхід до організації внутрішньої мережі дає наступні переваги:
- Високий рівень готовності.
Тобто, якщо відбувається збій служби або програми на якомусь вузлі кластера, настроєного на спільну роботу в кластері, кластерне програмне забезпечення дозволяє перезапустити цей додаток на іншому вузлі. Користувачі при цьому відчують короткочасну затримку при проведенні якоїсь операції або взагалі не помітять серверного збою.
Для програм, які потребують кластері, додавання серверів до кластеру означає збільшення можливостей: відмовостійкості, розподіл навантаження і т. Д.
Адміністратори, використовуючи єдиний інтерфейс, можуть керувати програмами та службами, встановлювати реакцію на збій в вузлі кластера, розподіляти навантаження серед вузлів кластера і знімати навантаження з вузлів для проведення профілактичних робіт.
У цій статті я спробую зібрати свій досвід по створенню кластерних систем на базі Windows і дати невелике покрокове керівництво по створенню двовузлового кластера серверів з розділяються сховищем даних.
Вимоги до програмного забезпечення:
Вимоги до апаратного забезпечення:
- Апаратне забезпечення для вузла кластера краще підбирати, грунтуючись на Cluster Service Hardware Compatible List (HCL). За рекомендаціями Microsoft апаратне забезпечення має бути протестовано на сумісність з Cluster Services.
- Відповідно вам знадобляться два сервера, що мають по два мережевих адаптера; SCSI-адаптер, що має зовнішній інтерфейс для підключення зовнішнього масиву даних.
- Зовнішній масив, який має два зовнішніх інтерфейсу. Кожен з вузлів кластера підключається до одного з інтерфейсів.
Зауваження: для створення двовузлового кластера зовсім не обов'язково мати два абсолютно однакових сервера. Після збою на першому сервері у вас буде небагато часу, щоб проаналізувати і відновити роботу основного вузла. Другий же вузол буде працювати на безвідмовність системи в цілому. Однак це не означає, що другий сервер буде простоювати. Обидва вузла кластера можуть спокійно займатися своїми справами, вирішувати різні завдання. А ось якийсь критичний ресурс ми і можемо налаштувати на роботу в кластері, збільшивши його (цього ресурсу) відмовостійкість.
Вимоги до мережевих налаштувань:
Зауваження: за рекомендаціями Microsoft ваш сервер повинен мати два мережевих адаптера, один для загальної мережі, другий для обміну даними всередині кластера. Чи можна будувати кластер на одному інтерфейсі - напевно, так, але я не пробував.
При проектуванні кластера ви повинні розуміти, що, використовуючи одну фізичну мережу як для кластерного обміну, так і для локальної мережі, ви збільшуєте відсоток відмови всієї системи. Тому вкрай бажано для кластерного обміну даними використовувати одну підмережу, виділену в окремий фізичний елемент мережі. А для локальної мережі варто використовувати іншу підмережу. Тим самим ви збільшуєте надійність всієї системи в цілому.
У разі побудови двовузлового кластера один комутатор використовується загальною мережею. Два сервера кластера можна зв'язати між собою крос-кабелем безпосередньо, як показано на малюнку.
Установка двовузлового кластера може бути розділена на 5 кроків.
- Установка і настройка вузлів в кластері.
- Установка і настройка розділяється ресурсу.
- Перевірка дискової конфігурації.
- Конфігурація першого вузла кластера.
- Конфігурація другого вузла в кластері.
Це покрокове керівництво дозволить вам уникнути помилок під час установки і заощадити масу часу. Тож почнемо.
Установка і настройка вузлів
Ми трохи спростимо задачу. Оскільки всі вузли кластера повинні бути або учасниками домену, або контролерами домену, то кореневих власником каталогу AD (Active Directory) зробимо 1-й вузол кластера, на ньому ж буде працювати DNS-служба. 2-й вузол кластера буде повноправним контролером домену.
Установку операційної системи я готовий пропустити, вважаючи, що в цьому у вас не повинно бути якихось проблем. А ось конфігурацію мережевих пристроїв хочеться пояснити.
Перед початком установки кластера і Active Directory необхідно виконати мережеві настройки. Всі мережеві настройки хочеться розділити на 4 етапи. Для розпізнавання імен в мережі бажано мати DNS-сервер з уже існуючими записами про серверах кластера.
Кожен сервер має по дві мережеві карти. Одна мережева карта буде служити для обміну даними між вузлами кластера, друга буде працювати на клієнтів в нашій мережі. Відповідно перший назвемо Private Cluster Connection, другий назвемо Public Cluster Connection.
Налаштування мережевих адаптерів для одного і для іншого сервера ідентичні. Відповідно я покажу, як налаштувати мережевий адаптер і дам табличку з мережевими настройками всіх 4 мережевих адаптерів на обох вузлах кластера. Для настройки мережевого адаптера необхідно виконати наступні кроки:
Для конфігурації всіх мережевих адаптерів на вузлах кластера використовуйте наступну табличку:
Установка Active Directory
Установка Cluster User Account
- «Start -> Programs -> Administrative Tools -> Active Directory Users and Computers».
- Додайте нового користувача, наприклад, ClusterService.
- Встановіть прапорці на: User Can not Change Password і Password Never Expires.
- Також додайте цього користувача в групу адміністраторів і дайте йому права «Log on as a service» (права призначаються в «Local Security Policy» і «Domain Controller Security Policy»).
Налаштування зовнішнього масиву даних
Для настройки зовнішнього масиву даних в кластері необхідно пам'ятати, що перед установкою Cluster Service на вузлах ви повинні спочатку настроїти диски на зовнішньому масиві, тільки потім встановлювати службу кластера спочатку на першому вузлі, тільки потім на другому. У разі порушення порядку встановлення у вас станеться збій, і ви не досягнете мети. Чи можна буде виправити - напевно, так. Коли з'явиться помилка, у вас буде час, щоб поправити настройки. Але Microsoft настільки загадкова штука, що зовсім не знаєш, на які граблі наступити. Простіше мати перед очима покрокову інструкцію і не забувати натискати на кнопки. По кроках конфігурація зовнішнього масиву виглядає так:
- Обидва сервера повинні бути вимкнені, зовнішній масив включений, приєднаний до обох серверів.
- Включаємо перший сервер. Отримуємо доступ до дискового масиву.
- Перевіряємо, щоб зовнішній дисковий масив був створений як Basic. Якщо це не так, то переведемо диск за допомогою опції Revert to Basic Disk.
- Створюємо на зовнішньому диску через «Computer Management -> Disk Management» невеликий розділ. За рекомендаціями Microsoft він повинен бути не менше 50 Мб. Я рекомендую створити розділ в 500 Мб або трохи більше. Для розміщення кластерних даних цього цілком достатньо. Розділ повинен бути відформатований в NTFS.
- На обох вузлах кластера цей розділ буде названий однією буквою, наприклад, Q. Відповідно при створенні розділу на першому сервері виберемо пункт Assign the following drive letter - Q.
- Частину диска ви можете розмітити за своїм бажанням. Звичайно, вкрай бажано використовувати файлову систему NTFS. Наприклад, під час налаштування служб DNS, WINS основні бази служб будуть перенесені на загальний диск (не системний тому Q, а другий, створений вами). І поміркуванню безпеки вам буде зручніше використовувати саме NTFS-томи.
- Закриваємо Disk Management і перевіряємо доступ до новоствореного розділу. Наприклад, можна створити на ньому текстовий файл test.txt, записати і видалити. Якщо все пройшло нормально, то з конфігурацією зовнішнього масиву на першому вузлі ми закінчили.
- Тепер вимикаємо перший сервер. Зовнішній масив повинен бути включений. Включаємо другий сервер і перевіряємо доступ до створеного розділу. Також перевіримо, щоб буква, призначена першого розділу, була ідентична обраної нами, тобто Q.
На цьому конфігурація зовнішнього масиву завершена.
Установка Cluster Service Software
Конфігурація першого вузла кластера
Перед початком установки Cluster Service Software всі вузли кластера повинні бути вимкнені, все зовнішні масиви повинні бути включені. Перейдемо до конфігурації першого вузла. Зовнішній масив включений, перший сервер включений. Весь процес установки відбувається з використанням Cluster Service Configuration Wizard:
- «Start -> Setting -> Control Panel -> Add / Remove Programs».
- Вибираємо Add / Remove Windows Components.
- Виберемо Cluster Service і натиснемо Next. Під час установки система попросить вказати розташування файлів з дистрибутива, відповідно або скористаємося CD-ROM-диском, або вкажемо розташування файлів на локальному диску.
- На екрані з'явиться діалогове вікно з текстом приблизно такого змісту: ви повинні розуміти, що використовуєте залізо, рекомендоване і тестувати Microsoft в кластерних системах. Відповідно всі компоненти системи повинні бути перераховані в HCL (Hardware Compatibility List). Натискаємо I Understand і прямуємо далі.
- У наступному діалоговому вікні вибираємо The first node in the cluster, як показано на наступному малюнку.
- У наступному вікні введіть ім'я кластера, наприклад, MyCluster, і натисніть далі.
- Введіть ім'я користувача і пароль, від імені якого буде працювати Cluster Service. Якщо пам'ятаєте, кілька кроків назад ми створювали такого користувача і назвали його ClusterService. Введіть domain name (mycompany.ru) і натисніть «NEXT».
- На наступному етапі вас попросять настроїти кластерні диски. Відповідно диск Q, який ми створювали, буде використовуватися для обміну даними між вузлами кластера. Як показано на малюнку, виберіть диск Q і натисніть «NEXT».
- Наступний крок - це конфігурація мережевих адаптерів для використання в кластері. Для внутрішнього мережевого адаптера, що використовується для кластерного обміну даними між вузлами всередині кластера, вибираємо пункти, як показано на наступному малюнку (Enable this network for cluster use і Internal cluster communications only):
- Для зовнішнього мережевого адаптера (локальна мережа) встановлюємо такі параметри: Enable this network for cluster use і All communications (mixed network), як показано на малюнку:
Конфігурація другого вузла кластера
Для установки і конфігурації другого вузла кластера необхідно, щоб перший вузол був включений, всі мережеві диски були включені. Процедура настройки другого вузла дуже нагадує ту, що я описав вище. Однак є невеликі зміни. Для цього використовуйте наступну інструкцію:
- У діалоговому вікні Create or Join a Cluster виберіть The second or next node in the cluster і натисніть далі.
- Введіть ім'я кластера, яке ми поставили раніше (у прикладі це MyCluster), і натисніть далі.
- Після підключення другого вузла до кластеру Cluster Service Configuration Wizard автоматично забере все установки з основного вузла. Для запуску служби Cluster Service використовуйте ім'я, які ми створювали раніше.
- Введіть пароль вашого облікового запису та натисніть далі.
- У наступному діалоговому вікні натисніть Finish для завершення установки.
- Cluster service буде запущено на другому вузлі.
- Закрийте вікно Add / Remove Programs.
Для установки додаткових вузлів кластера використовуйте цю ж інструкцію.
Постскриптум, подяки та інше
Щоб вам не заплутатися з усіма етапами установки кластера, наведу невелику табличку, в якій відображені всі основні етапи.