Перенесення даних з різних типів Storage з використанням технологій EMC VPLEX і EMC RecoverPoint



Міграція центрів обробки даних (далі-ЦОД) завдання нетривіальне і трудомістка, хоча при наявності збудованих і протестованих процесів досить легко исполнимая. Влітку минулого року мені довелося працювати над міграцією двох ЦОД, а так як я займаюся в основному SAN, то і мова піде про те, як мігрувати їх.

В source ЦОД у замовника були СГД від компаній IBM і NetApp, а в destination — EMC VNX. Завданням було швидко і з мінімальним downtime мігрувати всі хости як фізичні, так і віртуальні на нове місце. Міграція даних і хостів повинна була виконуватися c мінімізацією часу простою — замовником виступала дуже велика компанія, і кожна мить була критична. Оптимальним рішенням було використання технологій від компанії EMC – VPLEX і RecoverPoint.

Після тривалих роздумів була вироблена така схема міграції:

Encapsulation

1. Хост вимикається;
2. Зонінг на свичах змінюється з XIVах на VPLEX;
3. На VPLEX створюються необхідні Storage group;
4. На destinaion side робиться те ж саме;
5. Створюється пара в RecoverPoint;
6. Запускається асинхронна реплікація;
7. Хост включається.

Migration

1. Хост вимикається;
2. Реплікація зупиняється, включається direct access на destination side;
3. Хост фізично перевозиться в новий ЦОД;
4. Хост включається.

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

Як ми можемо бачити — план не особливо складний, однак під час його виконання довелося зіткнутися з безліччю підводних каменів, як, наприклад, неконсистентные дані в destination ЦОД. В рамках даної статті я постараюся дати докладну інструкцію з самої міграції, а також робочу процедуру, яка допоможе уникнути наших помилок. Отже, поїхали!

Хочу зауважити, що дану процедуру я пишу на прикладах XIV і VNX, але вона застосовна до будь-яких систем.

Encapsulation

Презентуємо volumes з XIV на VPLX. Ми повинні підключиться до XIV, знайти всі volumes, які використовує наш мигрируемый хост, і замапить їх на VPLEX. Думаю, з цим складнощів не виникне. Само собою, у вас повинен бути налаштований зонінг, щоб XIV бачив VPLEX.

Визначаємо volumes на VPLEX. Краще всього для цього користуватися CLI.

cd /clusters/cluster-1/storage-elements/storage-arrays/<IBM-XIV-SerialNumber1>

cd /clusters/cluster-1/storage-elements/storage-arrays/<IBM-XIV-SerialNumber2>

cd /clusters/cluster-1/storage-elements/storage-volumes/

claim --storage-volumes VPD83T2:<WWN_Volume> --name <Name_Volume>


Створюємо virtual volumes на VPLEX source.

Заходимо в Provision Storage -> Storage array:



Потім на вкладці «Storage Volumes» перевіряємо, що всі наші місяця презентовані (знаходяться в статусее Claimed)



Переходимо в «Extents» і натискаємо «Create», вибираємо все LUN від нашого хоста і додаємо їх.



Переходимо в «Devices». Нам потрібно буде створити пристрій, асоційоване з нашими Extents. Натискаємо „Створити“, після чого нам потрібно вказати тип пристрою, в нашому випадку нам потрібно 1:1 Mapping:



Додаємо всі Extents, створені на попередньому етапі, відключаємоавтоматичне створення virtual volumes:



Тепер нам потрібно створити virtual volumes, для чого заходимо у відповідний пункт меню і натискаємо Create from Devices, вибираємо всі пристрої, які ми створили на попередньому етапі.



Після додавання зверніть увагу, що наші нові virtual volumes поки перебувають у статусі Unexported:



Ну а тепер займемося зонінг, як ви розумієте, зараз всі наші місяця презентовані не хосту, а VPLEX, і нам потрібно переналаштувати зонінг так, щоб хост бачив дані місяця., Зробити це ми повинні на обох фабриках. Отже:

SAN01

alishow | grep <ServerName>
zonecreate "<ServerName>_VPLEX","<AliasServerName>;VPLEX_1E1_A0_FC00"
cfgadd "CFG_20160128_07h05FR_SCH","<ServerName>_VPLEX_1E1_A0_FC00" 
zonecreate "<ServerName>_VPLEX_1E1_B0_FC00","<AliasServerName>;VPLEX_1E1_B0_FC00"
cfgadd "CFG_20160128_07h05FR_SCH ","<ServerName>_VPLEX_1E1_B0_FC00" 
cfgsave
cfgenable CFG_20160128_07h05FR_SCH
cfgactvshow | grep <ServerName>

Те ж саме робимо для другої фабрики SAN02.

Тепер ми повинні створити на VPLEX новий хост і презентувати місяця. Повертаємося в адмінку VPLEX і заходимо в Initiators. Якщо зонінг налаштований правильно, ми повинні побачити два незареєстрованих ініціатора:



Ще раз перевіряємо WWN і сміливо натискаємо Register. На наступному кроці ми задаємо ім'я нашого нового инциатора (я зазвичай ставлю *ім'я хоста_номер HBA*), тип хоста в нашому випадку це default.



Такий же крок виконуємо для другого ініціатора. Все, наш хост зараз бачить VPLEX, залишилося тільки презентувати йому LUNы.

Заходимо в пункт Storage View і натискаємо Create, задаємо ім'я Storage View (зазвичай це ім'я хоста), додаємо ініціатори:



На наступному кроці ми повинні асоціювати ініціатори з вільними портами на стороні VPLEX. Для початку необхідно упевнитися, що всі порти обрані: A0-FC00, A0-FC01, B0-FC00, і B0-FC01. Якщо їх немає, перевіряємо ще раз правильність налаштування зонінгу та виконуємо рескан FC на хості.



На наступному кроці вибираємо все volumes, які ми створили для нашого сервера, потім вказуємо номери LUNов. З цим кроком будьте особливо уважні: номери LUN повинні співпадати з номерами, які у нас були на XIV. Вибираємо Manually enter LUN numbers і назначем номери відповідно.



Ще раз все перевіряємо і натискаємо Close. Після даного етапу на хості можна підключити назад всі раніше використані диски, в ідеалі хост не повинен помітити, що зараз він працює зі Storage через VPLEX. Треба зауважити, що, хоча ми і додали нову ланку в ланцюг, проблем з продуктивністю спостерігатися не повинно, latency, звичайно, може трохи просісти, але тільки трохи. Але, я думаю, це тема окремої статті, я проводив дослідження в цій галузі і, якщо результати будуть цікаві, я з радістю поділюся ними.

Налаштування на source стороні ми майже завершили, тепер займемося destination. Почнемо ми з того, що ще раз зайдемо на XIV і перепишемо точний розмір наших лунов, розмір рекомендую брати в блоках.

Заходимо на VNX, далі Storage -> LUNs -> Create ЛУН.

Перевіряємо налаштування LUNа, в нашому випадку Storage Pool повинен бути Pool Open, LUN повинен бути Thin, копіюємо і вставляємо розмір і задаємо ім'я. Яких-небудь вимог до імені немає, тому керуємося прийнятими в організації правилами.



Я припускаю, що VPLEX у ваш вже підключено, зонінг налаштований та Storage Group на VNX створені. Тому після створення LUNов просто додаємо їх у відповідну VPLEX Storage Group.

Наступним кроком ми повинні будемо презентувати LUNы від VNXа до VPLEX. Можна, звичайно, це робити вручну, але я для цих цілей використовую невеликим скриптом від EMC. Викачуємо корисну утилітку від EMC — NavisphereCLI і створюємо простий BAT файл:


REM remplacer FR1 par le nom du premier VNX.

REM remplacer FR2 par le nom du deuxieme VNX.

REM remplacer 0.0.0.0 IP VNX.

REM remplacer 0.0.0.0 IP VNX.

REM user/user: service/password

rem naviseccli -AddUserSecurity -user sysadmin -password sysadmin -scope 0

del c:\R1.txt

del c:\R2.txt

"C:\EMC\NavisphereCLI\NaviSECCLI.exe" -h 0.0.0.0 getlun -uid -name > c:\R1.txt

"C:\EMC\NavisphereCLI\NaviSECCLI.exe" -h 0.0.0.0 getlun -uid -name > c:\R2.txt


Само собою, в скрипті нам потрібно поправити шляху. Результатом роботи скрипта будуть два файлу R1 і R2 (так як у нашому випадку дві локації).

Повертаємося на VPLEX і мапим наші LUNы. Йдемо в Provision Storage -> Array Management, вибираємо наш VNX і натискаємо знову знайти Array:



Після цієї процедури знову ж вибираємо наш VNX і натискаємо Claim Storage. Далі вибираємо пункт Use a Name Mapping File:



Як, напевно, вже зрозуміло, далі нам потрібно буде вказати файл, який ми згенерували за допомогою скрипта. Далі ми повинні побачити все LUNы, які були створені на VNX. Даємо їм нове ім'я (я рекомендую дати ім'я по аналогії з source), і після всіх цих процедур ми бачимо, що місяця презентовані:



Тепер нам потрібно створити Extents, Devices, Virtual Volumes і Storage Group. Все це робиться за аналогією з source side і труднощів не представляє. За аналогією ж створюються зонінг та ініціатори. Після всіх цих дій distination side вже готова прийняти наш хост, нам залишилося тільки налаштувати реплікацію.

Для роботи RecoverPoint потрібен volume під журнали, так званий JVOL, створюємо його на обох сторонах і додаємо до Storage Group, яку ми створили на попередніх етапах.

Отже, реплікація. Відкриваємо RecoverPoint і сміливо йдемо в Protection — > Protect Volumes:



Шукаємо Consistency group нашого source VPLEX, в полі RPA cluster вибираємо source site і выделям всі LUNы, які будуть правильно:



На наступному етапі вибираємо наш JVOL. Далі нам потрібно вже буде вказати ім'я пари (будь згідно з прийнятими правилами), RPA cluster вже вибираємо Destination і вибираємо Detination volumes:



Далі нам потрібно вказати destination JVOL. Нам покажуть простеньку картинку з нашої реплікацією, після появи якої натискаємо Add a copy.



Натиснемо по назві нашої CG групи і побачимо гарний інтерактивний статус синхронізації:



Чекаємо коли дані среплицируются. Після цього ми будемо спостерігати наступний статус:



На даному етапі у нас все готово, щоб вже фізично перемістити хост в новий дата-центр. Але тут є нюанс: обов'язково спочатку вимикаємо вузол, потім зупиняємо реплікацію.

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

Повертаємося в RecoverPoint, проходимо по Protection -> Manage Protection, знаходимо нашу CG групу і тиснемо кнопку Pause Transfer:



Потім запускаємо тестування кнопкою Test Copy, вибираємо нашу destination бік і натискаємо Next select an image



У наступному вікні залишаємо все за замовчуванням, на Warning сміливо відповідаємо YES. Чекаємо, коли копія протестується, і натискаємо Enable Direct Access.



По суті на цьому все. Знову ж таки якщо не наплутали з налаштуваннями зонінгу та ініціаторів, хост повинен побачити все на свої LUNы c консистентними даними. Якщо у вас будуть якісь питання і доповнення за статтею, я з радістю на них відповім. Всім легких міграцій!

Джерело: Хабрахабр

0 коментарів

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