Коли мій веб-сервер відключається, як я автоматично переспрямовую всіх користувачів на свій веб-сервер B в іншому місті та навпаки?


15

Коли мій веб-сервер відключається, як я автоматично переспрямовую всіх користувачів на свій веб-сервер B в іншому місті та навпаки?

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

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

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

Як Круговий DNS і контент-доставка мережу (CDN) це зробити?

Я припускаю, що один підхід починає щось на кшталт:

  1. Я отримую IP-адресу кожного свого фізичного веб-сервера.
  2. Я поміщаю IP-адресу кожного мого фізичного веб-сервера в DNS-запис для єдиного доменного імені веб-сайту "the" (кілька записів A або записів AAAA або обох).
  3. ... то що мені потрібно робити?

Я думаю, що інший підхід починає щось подібне

  1. Я використовую деякого динамічного постачальника DNS для єдиного доменного імені, яке, як я очікую, користувачі введуть у веб-браузер
  2. Я встановив завдання cron на кожному веб-сервері, який періодично повідомляє провайдеру DNS власну IP-адресу (оновлення запису A або запису AAAA) або власне доменне ім'я (оновлення запису CNAME або запису DNAME).
  3. ... то що мені потрібно робити?

(Поки що я буду радий, якщо мої користувачі отримають статичну веб-сторінку з моєю контактною інформацією та виноску, в якій говориться, що "головний веб-сервер здається вниз", коли веб-сервер А відключений. Це вже набагато краще, ніж нинішня система, яка лише дає помилку "сервер не знайдено". В ідеалі я хотів би, щоб A і B були повністю синхронізованими і, мабуть, однаковими - але це щось інше питання: еквівалент CDN, але динамічний контент? ).


Відповіді:


6

Схоже, ви можете шукати рішення щодо глобального балансування завантаження сервера (GSLB). GSLB зазвичай використовує "розумний" DNS для спрямування користувачів на різні сервери на основі ряду параметрів (наприклад, сервер недоступний, велике навантаження, ip геолокація тощо).

Як приклад, скажімо, у вас є два веб-сервери, один із заходу (10.10.10.1/24) та один зі сходу (20.20.1.1/24). Скажіть, ваше ім’я веб-хоста - www.connect.com.

GSLB може бути налаштований як ваш DNS або як CNAME. Так чи інакше, користувач вводить на www.connect.com, запит dns спрямовується на рішення GSLB, і він відповідає або 10.10.10.1 або 10.20.20.1, залежно від параметрів. GSLB зазвичай встановлює низький TTL, тому клієнт хост / браузер кешує відповідь якнайменше часу. Існують різні способи вирішити стійкість, але це виходить за рамки цього сценарію.

Скажімо, східний (10.20.20.1) веб-сервер знижується. GSLB зазвичай здійснює перевірку стану здоров’я, щоб перевірити стан резервних вузлів. Повідомлення GSLB на схід знижується, і всі наступні записи dns для www.connect.com будуть вирішені до 10.10.10.1.

Якщо у вас є рішення про балансування навантаження на локальний сервер (SLB), ви можете встановити його таким чином, щоб www.connect.com був VIP / VS (скажімо, 192.168.1.1/24) з двома резервними вузлами (10.10.10.1/24 і 10.20.20.1/24). Технічно вузли можуть знаходитися в різних мережевих сегментах, доки локальна SLB може дістатися до іншого сервера. Рішення SLB може бути досить розумним, щоб перенаправляти користувачів на доступний сервер, якщо запуск вузла знижується. Якщо ви використовуєте F5 LTM, ви можете легко створити iRule для такої події. Citrix NetScaler та інші рішення SLB також повинні мати подібні можливості.

RR DNS не працює в цьому випадку. RR DNS не вбудований інтелект. Єдиний спосіб досягти випадку використання з DNS - це використати якийсь "розумний" dns за допомогою рішення GSLB (або подібного).

CDN зазвичай реалізує рішення GSLB / SLB, щоб забезпечити HA для своїх клієнтів.


Девід: Окрім F5 ans cisco, які є приладами , ви можете мати її як службу , як tzoha, edgedirector та dnshat
Sandman4

Насправді, F5, Citrix / NetScaler пропонують віртуальну техніку для GSLB. A10, radware, zeus, brocade, alteon та інші можуть також пропонувати віртуальну техніку. Але ви абсолютно праві, що там є постачальники послуг GLSB SaaS. Напевно, легше на кишеньковій книзі, використовуючи opex замість capex для побудови інфраструктури, але моделі SaaS не позбавлені своїх ризиків (наприклад, угода про експлуатацію, підтримка). Я ніколи не чув про edgedirector або dnshat, але вони обидва за конкурентними цінами!
Бангданг

1
Мені сказали, що " глобальне врівноваження завантаження сервера {причини} знижує високу доступність ". Порівняно з кількома записами A. Мені сказали, що "10.10.10.1" або "192.168.1.1" або інші приватні адреси мережі не працюють через загальнодоступний Інтернет. Мені сказали, що всі локальні системи балансування серверів або (a) вимагають, щоб усі веб-сервери знаходилися в одній будівлі; або ж (б) мати єдину точку відмови; яких я повинен уникати в системі HA. Чи є спосіб уникнути цих проблем?
Девід Кері

2

Ви хочете заглянути в глобальних балансирів навантаження, таких як F5 та Cisco. В основному вони виконують деякі хитрощі з DNS, якщо партнер знижений, а якщо партнер вгору, вони передають дані на інший бік через балансир навантаження.


1

Ще одним дешевим, швидким та надійним рішенням для оцінювання може бути використання відмови Amazon Route 53 http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating.html . Ця функція була випущена 11 лютого 2013 року та забезпечує високу доступність та / або балансування навантаження між первинними та вторинними сайтами.

Асим


0

Скажіть, якщо ви використовуєте будь-який тип зворотного проксі у вашому оточенні, якщо так, можливо, ви зможете перенаправити його на резервний сервер.

якщо ні, то F5 - це гарна ідея.

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


0

Це можна зробити, не використовуючи мережевий прилад, принаймні, використовуючи наступні два способи, але вони потребують контролю змін:

  • Зворотний проксі, вам потрібно буде видалити сервер, на якому ви відключаєте підключення від кандидатів проксі

  • DNS, вам доведеться планувати заздалегідь, змінювати DNS і чекати, коли TTL пройде

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.