
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:
CIFSSource | 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
|
NfsSource | Destination | Protocol |
---|
NFS Client | VDM | 111 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 infrastructure1.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 move2.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!