Завжди про AG, DTC з відмовою


14

Проблема: Як я можу запустити розподіленого координатора транзакцій (DTC) на всіх серверах групи AlwaysOn Availability Group (AG)? Мені НЕ потрібно підтримувати транзакції над подіями відмови / перемикання.

Налаштування: у мене є кластер Windows Failover (WSFC) з трьома серверами Windows 2008 R2, де всі вони працюють під керуванням SQL 2012. Два сервери знаходяться в одному центрі обробки даних і є частиною кластера AliloOn Failover (FCI), тоді як третій сервер знаходиться в другий центр обробки даних. WSFC - це кластер з кількома підмережами. Ось ескіз налаштування: введіть тут опис зображення

Мені вдалося встановити і налаштувати DTC для роботи між двома вузлами FCI, оскільки вони знаходяться в одній підмережі і діляться сховищем. Я налаштував пару АГ, і вони працювали чудово. На цьому екрані зображено DTC, встановлений на FCI:

введіть тут опис зображення

Цей знімок екрана показує, що я можу налаштувати DTC на одному з вузлів FCI (залежно від того, який із них активний): введіть тут опис зображення

Я хотів би перенести додаток, що використовує DTC, на цей кластер і використовувати AG. Я читав, що DTC не підтримується з AG ( Reference ). Мені не вдалося знайти спосіб налаштування DTC на третьому вузлі у другому центрі обробки даних. Коли я намагаюся налаштувати DTC на третьому вузлі, він здається недоступним, як показано на цьому скріншоті:

введіть тут опис зображення

У списку безкоштовних програм PDF Brent Ozar для груп доступності він перераховує:

Встановлення кластера ...

29. Якщо залучений FCI, налаштуйте DTC згідно з рішеннями розділу планування.

У коментарях до SQL Server 2012 групи AlwaysOn доступності Rock Brent говорить, що "... нічого не змінюється, коли АГ граються. Просто пам’ятайте, що бази даних групи доступності не підтримують послідовність транзакцій, коли вони не вдавалися разом до іншої репліки. .. "

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

Як налаштувати DTC на третьому вузлі? Або це так, що мені просто не пощастило, коли справа стосується використання АГ та додатку, який потребує DTC?

ОНОВЛЕННЯ: Рішення, на якому я вирішив, полягає у використанні доставки журналів. Однак, у випадку відмови, мені все одно потрібен DTC, щоб він був доступний у Node3. Я виявив, що він стає доступним, видаляючи кластерний екземпляр MSDTC-MSSQLSERVERCLU DTC, який поділяється між Node1 та Node2. Після видалення я можу встановити і налаштувати екземпляр LocalDTC на Node3. Після цього я можу знову встановити кластерний екземпляр MSDTC-MSSQLSERVERCLU. Виконання послідовності встановлення в такому порядку, здається, працює. Я так мало бігав зараз і не виявив жодних поганих наслідків. Схоже, це також буде працювати для роботи групи AlwaysOn Availability. Я розумію, що розподілені транзакції не зберігатимуться в аварійному режимі, мені просто знадобляться нові, щоб працювати після відмови. Але я не маю

Відповіді:


15

Ілля. Тут є два окремих питання:

1. Чи підтримується DTC групами AlwaysOn Availability?

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

Майте на увазі, що якщо ваші менеджери дізнаються, що ви розгорнули те, що Microsoft спеціально великими літерами говорить: "НЕ МОЖЕТЕ ЗРОБИТИ ЦЕ", і у вас є будь-які збої, де вам потрібно викликати Microsoft для підтримки, ви збираєтесь мати щось негарне пояснення.

2. Як повинен бути налаштований DTC в кластері з декількома вузлами, підмережами?

Прочитайте публікацію Аллана Хірта про налаштування DTC з декількома екземплярами SQL Server у кластері та переконайтесь, що також читайте всі посилання в публікації.


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