В своей прошлой статье я рассмотрел миграцию данных с SAN, сейчас я хочу остановиться на другом типе миграции, а именно миграции NAS. Переносить данные мы будем с CIFS и NFS, расположенных на vfiler'ах NetApp на VNX. В целом я не могу сказать, что данная процедура сложна, но, как и всегда, присутствуют некоторые нюансы, о которых лучше знать заранее. В статье я опишу свой опыт, приобретенный за время работы в Storage and Virtualization team в ICL Services и дам рабочую процедуру.

Информация, которую нужно собрать перед миграцией

Начиная миграцию, лучше заранее подготовить все, что вам может понадобиться, чтобы в процессе не приходилось отвлекаться на эту деятельность.
Итак, нам нужно:
— IP адрес и VLAN для VDM (Virtual Data Mover)
— Имя и размеры файловых систем
— Имена шар
— Права доступа к шарам
— Размеры квот.

Правила для Firewall

Убедимся, что на firewall на обоих концах у нас открыты соответствующие порты:
CIFS
Source Destination Protocol
CIFS client VDM 53 TCP/UDP
88 TCP/UDP
111 TCP/UDP
137 TCP/UDP
138 UDP
139 TCP
389 TCP/UDP
445 TCP
464 TCP/UDP
636 TCP/UDP
12345 TCP
3268 UDP
VDM AD Server 53 TCP/UDP
88 TCP/UDP
111 TCP/UDP
137 TCP/UDP
138 UDP
139 TCP
389 TCP/UDP
445 TCP
464 TCP/UDP
636 TCP/UDP
12345 TCP
3268 UDP

NFS
Source Destination Protocol
NFS Client VDM 111 TCP/UDP
2049 TCP/UDP
2079 TCP/UDP
1234 TCP/UDP
31491 UDP
49152-65535 TCP/UDP

После того как необходимая для начала миграции информация собрана, оповестим все заинтересованные стороны, согласуем время простоя и начинаем миграцию…
Я в основном пользуюсь CLI и буду приводить примеры из него, но все описанные в статье действия можно сделать и через GUI.

Настройка VNX

В первую очередь создаем интерфейс: (вы же запросили IP?)
server_ifconfig server_2 -create -Device lacp0 -name vnx01-vdm01 IP 172.XXX.XXX.XXX 255.255.255.224 172.XXX.XXX.XXX vlan=XXXX


Проверим созданный интерфейс:
server_ifconfig server_2 -a


Вывод будет примерно такой:
server_2:
vnx02-vdm5 protocol=IP device=lacp0
inet=172.XXX.XXX.XXX netmask=255.255.255.224 broadcast=172.XXX.XXX.XXX
UP, Ethernet, mtu=1500, vlan=2836, macaddr=XX:XX:XX:XX:XX:XX:XX:XX


Заодно проверим роутинг:
server_route server_2 –list


Теперь создадим VDM:
nas_server -name VNX01-VDM01 -type vdm -create server_2


И присоединим интерфейс к VDM:
nas_server -vdm VNX01-VDM01 -attach vnx01-vdm01


Проверим интерфейс на VDM:
nas_server -list server_2 –vdm


Сейчас нам нужно создать файловую систему для NAS, и, само собой, размер файловой системы целевого NAS должен быть больше или равен размеру файловой системы исходного NAS Создаем:
nas_fs -name fs_vnx01-vdm01 -create size=3000G pool="Pool NAS" -o slice=yes


Монтируем файловую систему:
server_mount VNX01-VDM01 fs_vnx01-vdm01 /fs_vnx01-vdm01


Проверяем, что примонтировалось успешно:
server_mount server_2


Создаем Quotas Tree:
nas_quotas -on -tree -fs fs_vnx01-vdm01 -path /r2_datastore01


Устанавливаем лимиты:
nas_quotas -edit -tree –fs fs_vnx01-vdm01 –block 3145728000: 2097152000 3


Проверяем установленные лимиты:
nas_quotas -report -tree -fs fs_vnx01-vdm01


А сейчас приступим к созданию CIFS шар. Для начала нам нужно создать CIFS сервер:
server_cifs VNX01-VDM360 -add compname=vnx02-vdm360,domain=domain.local,interface=vnx02-vdm360


Включаемся в домен:
server_cifs VNX02-VDM360 -Join compname=VNX02-VDM360,domain=domain.local,admin=nasadmin,ou="ou=NAS"


Создаем первую CIFS шару:
server_cifs VNX02-VDM360 -list -name th2 /fs_vnx01-vdm01/ th2


И NFS:
server_export VNX01-VDM01 -P nfs -o root=172.XXX:XXX:XXX:172.YYY.YYY.YYY,rw=172.XXX:XXX:XXX:172.YYY.YYY.YYY


Таким образом, мы закончили конфигурирование NAS на destination стороне. Теперь нам нужно перенести данные NetApp, находящемся на сайте на A, на VNX на сайте B. Для того чтобы минимизировать возможные риски, а также сократить время простоя, я хочу предложить вам процедуру, по которой проводил все прошлые миграции и эффективность которой подтвердил на собственной практике. Надеюсь пригодится и вам.

Preparation infrastructure
1.1 Мапим шары (в инструкции выше мы этот шаг выполнили)
1.2 Запускаем full копирование с vfiler на VDM средствами утилиты EMCCOPY для CIFS и rsync для NFS
1.3 Проверяем логи EMCCOPY или/и rsync
1.4 Копируем права c помощью утилиты LGDUP
1.5 Проверям логи LGDUP
1.6 Запускаем дифференциальное копирование
1.7 Проверяем логи EMCCOPY и/или rsync

Go move
2.1 Удаляем таски EMCCOPY или rsync из планировщика
2.2 Останавливаем приложения, использующие мигрируемый vfiler
2.3 Отмонтируем диски NFS/CIFS от клиентов
2.4 Выводим vfiler из домена
2.5 Сохраняем в надежное место конфигурацию vfiler
2.6 Отключаем доступ к vfiler для всех групп кроме той, из-под которой выполнялось копирование
2.7 Удаляем IP адреса у vfiler
2.8 Добавляем ранее используемые vfiler'ом адреса к VDM
2.10 Вводим VDM в домен под именем vfiler
2.11 Проверяем доступ
2.12 Монтируем диски к клиентам
2.13 Проверяем права.

На этом все. Как и в случае с миграцией SAN, если вы все сделали правильно, хост не заметит того, что он работает уже с другим NAS. Приводить команды для работы с vfiler не вижу смысла, так как вы можете использовать любой другой NAS.
Простую инструкцию по работе с EMCCOPY можно почитать тут.
Rsync, я думаю, и так уже всем хорошо знаком (да и emccopy по сути — это robocopy).

В качестве примера — мои скрипты для EMCCOPY

EMCCOPY DIFF Script
ECHO ON
REM ===========================================================================
REM
cd E:\EMC\EXE
for /f "tokens=1,2,3 delims=/ " %%i in ('date /t') do set var1=%%k_%%i_%%j
for /f "tokens=1,2 delims=: " %%i in ('time /t') do set var2=%%i_%%j
set var3=%var1%_%var2%.log
set var4=%var1%_%var2%.err
REM
REM =================================================================
REM
for /f "tokens=1,2,3 delims=/ " %%i in ('date /t') do echo%%k_%%i_%%j>>E:\EMC\SCRIPTS\netap01_vfiler1\Progress.txt
for /f "tokens=1,2 delims=: " %%i in ('time /t') do echo %%iH%%j>>E:\EMC\SCRIPTS\netap01_vfiler1\Progress.txt

E:\EMC\EXE\emcopy64 \\netapp\data \\vnx01-vdm01.domain.local\data /xd .snapshot /o /purge /i /lg /secfix /preserveSIDh /s /stream /de /sdd /c /r:3 /w:1 /th 16 /log:e:\EMC\LOGS\vnx01-vdm01\data_%var3%  > e:\EMC\LOGS\vnx01-vdm01\data_%var4%



EMCCOPY LGDUP
@ECHO ON
REM ===========================================================================
REM
cd E:\EMC\EXE
for /f "tokens=2,3,4 delims=/ " %%i in ('date /t') do set var1=%%k_%%i_%%j
for /f "tokens=1,2 delims=: " %%i in ('time /t') do set var2=%%i_%%j
set var3=dm2_%var1%_%var2%.log
set var4=dm2_%var1%_%var2%.err
REM
REM =================================================================
REM
lgdup  -v -l E:\EMC\LOGS\vnx01-vdm01\lgdup_vnx01-vdm01.log \\172.XXX.XXX.XXX \\vnx01-vdm01


Если будут какие-либо вопросы или дополнения, а, может, и советы — всегда буду рад слышать. Всем легких миграций!

Комментарии (0)