📜 ⬆️ ⬇️

Migrate NAS from vfiler NetApp to EMC VNX



In my last article, I looked at the migration of data from the SAN, now I want to dwell on another type of migration, namely, NAS migration. We will transfer data from CIFS and NFS located on NetApp vfilers on VNX. In general, I can not say that this procedure is difficult, but, as always, there are some nuances that are better known in advance. In the article, I will describe my experience gained during my work in the Storage and Virtualization team at ICL Services and give a working procedure.

Information to be collected before migration

Starting the migration, it is better to prepare in advance everything that you may need so that the process does not have to be distracted by this activity.
So, we need:
- IP address and VLAN for VDM (Virtual Data Mover)
- Name and size of file systems
- Names ball
- Access rights to balls
- The size of the quota.

Firewall Rules

Make sure that the corresponding ports are open on both sides of the firewall:
CIFS
SourceDestinationProtocol
CIFS clientVDM53 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
VDMAD Server53 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
SourceDestinationProtocol
NFS ClientVDM111 TCP / UDP
2049 TCP / UDP
2079 TCP / UDP
1234 TCP / UDP
31491 UDP
49152-65535 TCP / UDP

After the information necessary to start the migration has been collected, we will notify all interested parties, agree on the idle time and begin the migration ...
I mostly use the CLI and will give examples from it, but all the actions described in the article can be done through the GUI.
')
VNX Setup

First of all, we create the interface: (did you request 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


Check the created interface:
server_ifconfig server_2 -a


The output will be something like this:
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


At the same time, check the routing:
server_route server_2 –list


Now create a VDM:
nas_server -name VNX01-VDM01 -type vdm -create server_2


And we will attach the interface to the VDM:
nas_server -vdm VNX01-VDM01 -attach vnx01-vdm01


Check the interface on VDM:
nas_server -list server_2 –vdm


Now we need to create a file system for the NAS, and, of course, the size of the file system of the target NAS must be greater than or equal to the size of the file system of the source NAS. Create:
nas_fs -name fs_vnx01-vdm01 -create size=3000G pool="Pool NAS" -o slice=yes


Mount the file system:
server_mount VNX01-VDM01 fs_vnx01-vdm01 /fs_vnx01-vdm01


Checking what was mounted successfully:
server_mount server_2


Create a Quotas Tree:
nas_quotas -on -tree -fs fs_vnx01-vdm01 -path /r2_datastore01


Set limits:
nas_quotas -edit -tree –fs fs_vnx01-vdm01 –block 3145728000: 2097152000 3


Check the established limits:
nas_quotas -report -tree -fs fs_vnx01-vdm01


Now let's get down to creating a CIFS ball. First we need to create a CIFS server:
server_cifs VNX01-VDM360 -add compname=vnx02-vdm360,domain=domain.local,interface=vnx02-vdm360


We join the domain:
server_cifs VNX02-VDM360 -Join compname=VNX02-VDM360,domain=domain.local,admin=nasadmin,ou="ou=NAS"


Create the first CIFS ball:
server_cifs VNX02-VDM360 -list -name th2 /fs_vnx01-vdm01/ th2


And 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


Thus, we have finished configuring the NAS on the destination side. Now we need to transfer the data from NetApp, located on site A, to VNX on site B. In order to minimize possible risks, as well as reduce downtime, I want to offer you a procedure that I used to perform all past migrations and which I confirmed on my own practice. I hope it will be useful to you.

Preparation infrastructure
1.1 Mapim balls (we completed this step in the instructions above)
1.2 Starting full copying from vfiler to VDM using the tools of the EMCCOPY utility for CIFS and rsync for NFS
1.3 Check the EMCCOPY or / and rsync logs
1.4 Copy rights using utility LGDUP
1.5 Check LGDUP logs
1.6 Starting differential copying
1.7 Checking the EMCCOPY and / or rsync logs

Go move
2.1 Remove EMCCOPY or rsync task from the scheduler
2.2 Stop applications using migrated vfiler
2.3 Unmount NFS / CIFS drives from clients
2.4 We bring vfiler from the domain
2.5 Save in a safe place vfiler configuration
2.6 Turning off access to vfiler for all groups except the one from which the copy was performed
2.7 Remove IP addresses from vfiler
2.8 Add addresses previously used by vfiler to VDM
2.10 Enter VDM in the domain under the name vfiler
2.11 We check access
2.12 We mount disks to customers
2.13 We check the rights.

That's all. As with the SAN migration, if you did everything correctly, the host will not notice that it is already working with another NAS. I don’t see any reason to bring commands to work with vfiler, since you can use any other NAS.
Simple instructions for working with EMCCOPY can be read here .
Rsync, I think, is already well known to everyone (and emccopy is essentially robocopy).

As an example - my scripts for 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 


If there are any questions or additions, and maybe advice, I will always be happy to hear. All easy migrations!

Source: https://habr.com/ru/post/276323/


All Articles