Як домогтися реплікації з нульовим RPO на великі відстані

Що таке SLD і навіщо воно потрібно?
Одна з найважливіших завдань IT-підрозділу підприємства – захист даних від впливу різних зовнішніх факторів, як то: пожежа, землетрус, повінь і інші катастрофи. Традиційно для цього використовуються різні технології реплікації даних. Проте зазвичай реплікація дозволяє синхронізувати (з тим чи іншим значенням RPO) один і той самий набір даних тільки між двома дата-центрами. І для багатьох замовників цього цілком достатньо. Для багатьох, але не для всіх. Якщо замовнику потрібно нульове RPO, значить, необхідно використовувати синхронну реплікацію. Однак синхронна реплікація дозволяє розміщувати дата-центри на відстані близько 100к м один від одного. У випадку серйозної катастрофи, або просто якщо два дата-центру розташовані занадто близько один від одного, обидва ДЦ можуть постраждати одночасно – і дані будуть втрачені.


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

  • реплікація одного і того ж набору даних між трьома дата-центрами,
  • нульове RPO при відмові будь-якого з 3 дата-центрів,
  • продовження роботи при послідовному відмову будь-яких двох дата-центрів,
— для таких вимогливих замовників ми можемо запропонувати спеціальну рішення: HPE 3PAR Synchronous Long Distance (SLD).

SLD – це реплікація на великі відстані без втрати даних. Як це працює, я спробую пояснити нижче.

Які види реплікації підтримуються
Спочатку хочу нагадати які види реплікації і які топології підтримуються сімейством масивів HPE 3PAR StoreServ.

Масиви 3PAR StoreServ підтримують 3 режими реплікації (Remote Copy):

  • синхронний (Synchronous) режим (RPO=0);
  • асинхронний періодичний (Asynchronous Periodic) режим (min RPO=5 хв);
  • асинхронний потоковий (Asynchronous Streaming) режим (RPO близько 10 сек).
Якщо синхронний режим, сподіваюся, не вимагає пояснень, то для асинхронних режимів коротко опишу, як вони працюють:

  • асинхронний періодичний режим: для синхронізації томів використовуються миттєві знімки (snapshots), створювані через заданий інтервал часу; на віддалений масив реплікуються тільки нові блоки, які містяться в новому знімку у порівнянні з попереднім знімком;

  • асинхронний потоковий режим: нові блоки накопичуються в локальному масиві протягом невеликого періоду часу (вимірюється частками секунди) і потім реплікуються на віддалений масив.
Додам до цього, що у всіх 3 режимах, природно, підтримується консистентним даних при реплікації.

В якості транспортного рівня для реплікації можна використовувати наступні 3 варіанти:

  • Remote Copy over Fibre Channel (RCFC) – для реплікації використовуються FC порти масиву і в якості каналів передачі даних використовується мережа FC;

  • Remote Copy over Internet Protocol (RCIP) — для реплікації використовуються вбудовані IP порти масиву (1GbE або 10GbE – в залежності від моделі масиву) і в якості каналів передачі даних використовується мережа IP;

  • Remote Copy over FCIP (Fibre Channel over IP) — для реплікації використовуються FC порти масиву і в якості каналів передачі даних використовується мережа IP. FCIP передбачає застосування додаткових перетворювачів (gateways) протоколів FC-IP.
І, нарешті, підтримувані тополигии/конфігурації реплікації:

  • One-to-one: реплікація виконується тільки між двома масивами;
  • Many-to-many: N масивів можуть копіювати дані на інші M масивів. Максимальні значния на сьогодні для N і М =4. Приклад такої конфігурації наведено на малюнку нижче:

Рис.1. Конфігурація реплікації many-to-many. Кожен масив повторює дані на 4 інших масиву. Всі напрямки реплікації можуть бути двосторонніми. Тут мова йде, зрозуміло, про реплікації різних наборів даних (томів) на різні масиви.

  • Synchronous Long Distance (SLD) – спеціальний режим реплікації, що дозволяє одночасно повторити один і той же набір даних (томів) з одного масиву на два інших масиву. Саме цей режим реплікації ми і розглянемо докладно далі.
Як влаштовано SLD
Отже, SLD – це:

  1. Одночасна реплікація групи томів з одного масиву (А) на 2 інших масиву (В і С). При цьому реплікація на один масив (У) виконується в синхронному режимі, а реплікація на інший масив © – в асинхронному періодичному режимі. См. нижче рис.2. Таким чином, масиви А і В можуть бути розташовані відносно недалеко один від одного (максимальна відстань визначається максимально допустимим для синхронної реплікації часом затримки між двома масивами RTT = 10 ms). Навпаки, масив може бути віддалений від масивів А і В на значну відстань (максимальна відстань визначається максимально допустимим для асинхронної періодичної реплікації часом затримки між двома масивами RTT = 120 ms).

  2. Забезпечення RPO=0 на віддаленому масиві С. Нагадаю, що, оскільки масив З розташований досить далеко, реплікація на нього в синхронному режимі неможлива, і єдиний спосіб забезпечити перемикання на віддалений масив С без втрати даних (при відмові основного масиву А або при плановому перемиканні) – це використання технології SLD.

Рис.2. схема SLD.

Працює SLD наступним чином: в штатному режимі дані реплікується з масиву А на масиви В і С. При цьому між масивами В і С також налаштована асинхронна періодична реплікація, яка в штатному режимі знаходиться в пасивному стані (на рис.2. показана пунктирною лінією). При відмові основного масиву А автоматично активується реплікація з масиву В на масив З, і дані, які були записані на масив В, але не були записані на масив, будуть скопійовані на масив С. Таким чином, після відмови масиву А, масиви В і С будуть автоматично синхронізовані аж до останнього блоку, який був записаний на масив А перед його відмовою.

Після синхронізації масивів і робота з даними може бути продовжена, в якості основного масиву може бути обраний як масив, так і масив В. При цьому ніякі дані, які були записані на масив А, не будуть втрачені (RPO=0) і буде виконуватися реплікація між масивами В і С, забезпечуючи безперервний захист даних уже після відмови одного з трьох масивів.

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

На закінчення хочу відзначити ще два важливих моменти:

  • Масиви А та В, між якими виконується синхронна реплікація, можуть бути використані однаковим чином, тобто, обидва ці масиву можуть одночасно бути головними масивами. У цьому випадку один набір томів буде правильно з масиву А на масиви В і С. Інший набір томів буде правильно з масиву В на масиви А і С.

  • SLD можна використовувати одночасно з технологією 3PAR Peer Persistence – що дозволить виконувати перемикання між масивами А і В повністю автоматичному режимі. Технологія 3PAR Peer Persistence також дозволяє хостів прозоро перемикатися між двома масивами (між масивами А і В у даному випадку) і в онлайні переміщати віртуальні машини між двома масивами (між двома майданчиками). Детальніше про Peer Persistence можна дізнатися тут.
Володимир Коробейників, @Vladkor
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.