NetApp BlueXP OnPrem to Cloud ONTAP Data Migration
Cloud Volume ONTAP Data Migration
Overview
Before we get into the data migration topic, we need to understand the difference between the process of Migration Vs Conversion Vs Integration.
Data Migration: Data migration is the process of moving data between location , formats or system. (Re-host - Lift and Shift, Redeploy data and application on IaaS without making any changes.)
Data Conversion: Is the process of transforming data from one format to another. Data will be extracted from the source, altered and loaded into the new target. (Revise - Re architect, Modify or extend the existing application to fit into the new cloud environment.)
Data Integration: Is the process of combining data at different source to provide users with a unified view of all data.
In this blog, we would be mostly talking about the data migration process. Also, I would be writing seperate blog for NetApp Blue XCP Networking requirments.
Data migration is the process of moving data from one place to another. Mostly for all the window's volume shares, robocopy command is widely used. However, there are few challenges when copying or migrating data from any to Cloud Net App considering the data gravity.
How data affects other data as it grows
How data is integrated into a business
How data becomes customized over time
***************************************************************************
Different type of data migration
Storage Migration : Process of moving data off existing arrays into more modern one that would enable other system to access it. Data management features such as cloning, snapshots, backup and disaster recovery.
Cloud Migration : Process of moving data, application or other business data from either on-premises data center to cloud or from one cloud to another.
Application Migration : Process of moving an application program from one environment to another. Moving the entire application from on-premises IT Center to cloud or moving between two clouds or moving the application's data to a new form of application hosted by the provider.
Migration Plan
Moving important or sensitive data and decommissioning legacy systems can be disaster for data retrieval in worst case scenarios. So having a solid plan is must.
Please refer Migration plan and checklist
https://www.datamigrationpro.com/
https://www.datamigrationpro.com/data-migration-checklist-planner/
Data Migration involves 3 steps
1. Extract data
2. Transform data
3. Load data
All these steps are not needed for every migration, depends on every situation it will be unique and the approaches from stakeholders would be different as well.
***************************************************************************
Pre-Migration Check List
Ensure no Duplicate data is considered during data migration, because that duplicate data may not be necessary to move to the cloud. Migrating this data will increase the total amount of time and cost for the migration. Also, storing duplicate data in the cloud will also increase the cost.
Action Items: We need to ensure the discovery should be perfomred to identify the duplicate data and Analyze is there a reason to migrate more than a single copy of this data. And make maximum efforts to remove any unnecessary duplicate data.
Cloud Data Sense can pointout the duplicate data and show it's usage patterns so we can remove it before the migration takes place.
Non-Business Data A large portion of data set will not be related to the operations or business. And migrations of non business data will increase the length of the migration process.
Analyze the data set to identify mission-critical data from non-business data. Remove the non-business data from the target data to migrate. Determine if this data needs to be migrated to the cloud. Identify any non-business data that contains sensitive personal information that should not be migrated.
Data Sense can analyze all the data, identifying the non-critical data that doesn’t need to be in the cloud
Sensitive data requires a higher level of attention and care than other data. Becayse when it comes to GDPR, CCPA, and other data regulations have restrictions on where data can be stored. Certain industries have requirements to keep certain data stored on-prem.
Locate all of the sensitive data in data migration. Analyze the value of migrating the sensitive and potentially sensitive data to the cloud. Tag all the potentially sensitive data that don’t want to migrate.
Data Sense is able to map, identify, and flag potentially sensitive data that have in the storage systems. The report will also show the data with open permissions that will require immediate attention.
Stale data is more than just not using frequently in the organization, it just not relevant anymore. Moving those data to the cloud will waste time and increase cloud costs. Stale data can also contain sensitive information that should not be migrated.
Locate and tag all the stale data during migration.Determine the business value of this data.Decide whether to keep this data for archival purposes or to delete it.
Data Sense scans can identify the stale data in your systems before you make the mistake of moving it to the cloud.
Custom Data might have specific data that organization wants to keep out of the cloud. This data should be located and separated from the migration. There may be multiple custom types of data that fall into this category.
Consider whether there are any specific data types that should not migrate.Identify where this data exists. Remove the custom data from the migration data set.
Data Sense allows to add custom data types that can be identified so the data can be sectioned off before the migration takes place.
***************************************************************************
Pre-migration planning : In this step, gather all the data being moved from on-prem to Cloud.
Project Initiation: Identify the key stakeholder will be part of the migration. Like (Storage team, Active Directory team, Network team, Application team and Migration team including the project management)
Analysis: Perform the landscape analysis and establish a data quality rule management process on the goals of project
Solution Design: Identify which data to move and the data quality of before and after move.
Build & Test: Test the migration with a mirror of production environment.
Execute & Validate: After testing the use case with non production environment, determine whether the data move is working as expected
Decommission and Monitor: After making sure all the data migration is completed and application and system functionality are working as needed, then plan to decommission the old / legacy system and monitor the new environment.
Migration Prerequisites: To initiate the data transfer from source to destination, we would need to install and configure the XCP tool. This tool is a client software enables fast and reliable any to NetApp and Net App to Net App data migration.
This tool is free to use, it was designed by NetApp to handle volumes with millions of files, it scans and discovers the statistics of files and directory, it can copy fast and parallelized file transfer, it can sync and to get the incremental updates to the target, it would also verify the target state, when there was any interruption the copy operation can be resumed. The main importance of this migration tool is that we can perform live migration from live data source or read only data source.
***************************************************************************
Migration Tool Setup
XCP is free tool, installing , configuring and obtaining license is a matter of minutes. NetApp offers a free one year license. After one year we can renew the lincense. XCP is available for both Linux and Windows OS.
Latest NetApp XCP is now available 1.9.2. https://xcp.netapp.com/
Step 1: Register NetApp NSS Account. https://mysupport.netapp.com/site/user/registration
Step 2: Download XCP NFS or XCP CIFS to a host. https://mysupport.netapp.com/site/products/all/details/netapp-xcp/downloads-tab
Step 3: Login and download a license.
https://xcp.netapp.com/license/xcp.xwic
Step 4: Deploy the license file to XCP host.
XCP host must have internet connectivity so that it can access NetApp site for activation and license control.
Migration Workflow
Ports used by XCP
***************************************************************************
Installing XCP tool on Linux machine : NFS as root user
Step 1: Log in to the Linux machine as the root user and download and install the license:
[root@orgspr19872023 ~]# ls -l
total 36188
-rw-r--r-- 1 root root 37043983 Oct 5 09:36 NETAPP_XCP_<version>.tgz
-rw-------. 1 root root 1994 Sep 4 2019 licenseStep 2: To extract the tool, untar XCP
[root@orgspr19872023 ~]# tar -xvf NETAPP_XCP_<version>.tgz
[root@orgspr19872023 ~]# ls
NETAPP_XCP_<version>.tgz license xcp
[root@orgspr19872023 ~]# cd xcp/linux/
[root@orgspr19872023 ~]# ls
xcpStep 3: Verify that the /opt/NetApp/xFiles/xcp path is available on the system from a previous version of XCP.
If /opt/NetApp/xFiles/xcp is available, then activate the license by using the xcp activate command and proceed with data migration.
If /opt/NetApp/xFiles/xcp is not available, when you run the xcp activate command is run for the first time, the system creates the XCP host configuration directory in /opt/NetApp/xFiles/xcp.
The xcp activate command fails because the license is not installed:
[root@orgspr19872023 ~]# ./xcp activate
(c) yyyy NetApp, Inc.
xcp: Host config file not found. Creating sample at '/opt/NetApp/xFiles/xcp/xcp.ini'
xcp: ERROR: License file /opt/NetApp/xFiles/xcp/license not found.
Register for a license at https://xcp.netapp.comStep 4: Copy the license to /opt/NetApp/xFiles/xcp/:
[root@orgspr19872023 ~]# cp ~/license /opt/NetApp/xFiles/xcp/
Step 5: Verify that the license file was copied to /opt/NetApp/xFiles/xcp/:
[root@orgspr19872023 ~]# ls -altr /opt/NetApp/xFiles/xcp/
total 44
drwxr-xr-x 3 root root 17 Oct 1 06:07 ..
-rw-r--r-- 1 root root 304 Oct 1 06:07 license
drwxr-xr-x 2 root root 6 Oct 1 10:16 xcpfalogs
drwxr-xr-x 2 root root 21 Oct 1 10:16 xcplogs
-rw-r--r-- 1 root root 110 Oct 5 00:48 xcp.ini
drwxr-xr-x 4 root root 83 Oct 5 00:48 .
[root@orgspr19872023 ~]# Step 6: Activate XCP
[root@orgspr19872023 ~]# ./xcp activate
XCP <version>; (c) yyyy NetApp, Inc.;
XCP activated***************************************************************************
Installing XCP on Windows VM : SMB Setup Procedure
Step 1: Download the license and the XCP SMB binary NETAPP_XCP_<version>.tgz on a Windows client.
Step 2: Extract the NETAPP_XCP_<version>.tgz file.
Step 3: Copy the xcp.exe file to your Windows C: drive, this binary is available inside NETAPP_XCP_1.8\NETAPP_XCP_1.8\xcp\windows after you extract the tgz file.
Step 4: Verify that the C:\NetApp\XCP path is available on the system from a previous version of XCP.
C:\NetApp\XCP is available, activate XCP by using the xcp.exe activate command and proceed with data migration.C:\NetApp\XCP is not available, the system creates the XCP host configuration directory and files it at C:\NetApp\XCP when you run the xcp.exe activate command for the first time. The xcp.exe activate command fails and creates an error message asking for a new license.C:\>xcp.exe activate
(c) yyyy NetApp, Inc.
License file C:\NetApp\XCP\license not found.
Register for a license at https://xcp.netapp.com
Step 5: Copy the license to the newly created folder C:\NetApp\XCP:
C:\>copy license c:\NetApp\XCP
1 file(s) copied.Step 6: Activate XCP:
C:\>xcp.exe activate
XCP SMB; (c) yyyy NetApp, Inc.;
XCP activated***************************************************************************
Migration Commands
SMB Data Migration Plan
Show
The show command shows all SMB shares available on the server with the permissions and space available.
Example:
xcp show \\<SMB file server IP/FQDN>xcp show smb_server01.netapp.com
Scan
The scan command recursively scans the entire SMB share and lists all the files at the end of the scan.
Example:
xcp scan \\SMB server\share1xcp scan smb_server01.netapp.com:/share1
After planning the migration with show and scan commands we can initiate the migration.
Copy
The copy command scans and copies the entire source directory structure to a destination SMB share. The copy command requires having source and destination paths as variables. The scanned and copied files, throughput/speed, and elapsed time details are printed to the console once every five seconds.
Syntax
C:\xcp>xcp copy -acl -root -fallback-user \\<source SMB share> \\<destination SMB share>
Example
C:\xcp>xcp copy -acl -root -fallback-user "domain\senthil.adm" -fallback-group BUILTIN\Users \\10.14.1.17\IND-Finance-App$ \\10.28.1.17\IND-Finance-App$ > C:\xcpcopy\IND-Finance-App.log***************************************************************************
Post Migration Comparison and Sync
Sync
The sync command scans for changes and modifications in the source and target shares in parallel, and applies the appropriate actions (remove, modify, rename, and so on) to the target to make sure that the target is identical to the source. The sync command compares data content, time stamps, file attributes, ownership, and security information.
Syntax
C:\xcp>xcp sync \\<source SMB share> \\<destination SMB share>
Example
C:\xcp>xcp sync -v -acl -root -fallback-user "domain\senthil.adm"
-fallback-group BUILTIN\Users \\10.14.1.17\IND-Finance-App$ \\10.28.1.17\IND-Finance-App$Verify
The verify command reads both source and target shares and compares them, providing information about what is different. You can use the command on any source and destination, regardless of the tool used to perform the copy or sync.
Syntax
C:\xcp>xcp verify \\<source SMB share> \\<destination SMB share>
Example
C:\xcp>xcp verify \\10.14.1.17\IND-Finance-App$ \\10.28.1.17\IND-Finance-App$***************************************************************************
NFS Data Migration
***************************************************************************
Migration Challenges
Data governance
Lack of Expertise
Lack of planning
Erros during migration
xcp copy interrupted
If your environment is having security tools like CyberArc , then it would chnage the domain admin password every 24 hours and that would interrupt the migration , Added exclusion of domain admin account for password change frequency to make the uninrerrupted migration.
Application scripts accessing the shares during the migration, which was causing migration failure. We have created the action plan for such shares to have less downtime , and do the data migration and do the cut over during weekend by making the source share as read only permission.
Migration prerequisites checks need to be perfomred, flow and access are should be validated. For the on-prem CVO shares which is used for migration it will not have root level permission initially. Need to grant the root level permission.
xcp scan Error: The network name cannot be found,
This is mostly when you type the incorrect share name.
xcp copy Error: ERROR failed to obtain fallback security principal
The fallback user/group does not exist at the target system (destination box) or active directory. Rerun the command with correct fallback user/group options
xcp copy with acl migration
Error message logged in xcp.log file:pywintypes.error: (1314, 'GetNamedSecurityInfo', 'A required privilege is not held by the client.')
A user is facing an issue related to security descriptors because with the privileges that the migrations user owns, XCP can only get owner, group, and DACL, it cannot get SACL.
Add your migration user to "Manage Audit and Security Log” policy in your Active Directory.
***************************************************************************
Scenario
Copy works, with Symbol symbols or emoji in the file
name:
Source
xcp 1.9.1
c:\>xcp.exe copy \\10.x.x.x\source \\10.y.y.y\dest
XCP SMB 1.9.1; (c)
2023 NetApp, Inc.; Licensed to Senthil Kumar [NetApp Inc] until Tue Aug 13
14:09:59 2024
xcp.exe copy \\10.x.x.x\source \\10.x.x.x\dest
4 scanned, 0
matched, 0 skipped, 3 copied, 274 (214/s), 0 errors
Total Time : 1s
STATUS : PASSED
Sending
statistics...
Target
Both source and destination volume in this case have utf8mb4
volume language:
cluster1::*> vol
show -fields language
vserver
volume language
----------- ------
--------
cluster1-01
vol0 -
svm1
svm1_root
C.UTF-8
svm1
vol1 utf8mb4 <<<<<<<<<<<<
source
svm1
vol2 utf8mb4 <<<<<<<<<<<<
destination
svm1
vol3 C.UTF-8
5 entries were
displayed.
But when I modify the destination to c.utf-8 volume language, the copy fails:
c:\>xcp.exe copy \\10.x.x.x\source \\10.x.x.x\dest2
XCP SMB 1.9.1; (c)
2023 NetApp, Inc.; Licensed to Senthil Kumar [NetApp Inc] until Tue Aug 13
14:09:59 2024
--- Logging error
---
Traceback (most
recent call last):
File
"logging\__init__.py", line 1086, in emit
File
"encodings\cp1252.py", line 19, in encode
UnicodeEncodeError:
'charmap' codec can't encode characters in position 91-92: character maps to
<undefined>
Call stack:
File
"threading.py", line 930, in _bootstrap
File
"threading.py", line 973, in _bootstrap_inner
File
"threading.py", line 910, in run
File
"xcp\xcpLogging.py", line 249, in receive
File
"logging\handlers.py", line 75, in emit
File
"logging\__init__.py", line 1187, in emit
File
"logging\__init__.py", line 1091, in emit
Message: 'failed to
copy "Filename🏖️.pdf.txt":
(123, \'CreateFile\', \'The filename, directory name, or volume label syntax is
incorrect.\')'
Arguments: None
failed to copy
"Filename🏖️.pdf.txt":
(123, 'CreateFile', 'The filename, directory name, or volume label syntax is
incorrect.')
--- Logging error
---
Traceback (most
recent call last):
File
"logging\__init__.py", line 1086, in emit
failed to set
attributes for "🎑bla": (123, 'CreateDirectory', 'The filename, directory
name, or volume label syntax is incorrect.')
File
"encodings\cp1252.py", line 19, in encode
UnicodeEncodeError:
'charmap' codec can't encode character '\U0001f391' in position 97: character
maps to <undefined>
Call stack:
File
"threading.py", line 930, in _bootstrap
File
"threading.py", line 973, in _bootstrap_inner
File
"threading.py", line 910, in run
File
"xcp\xcpLogging.py", line 249, in receive
File
"logging\handlers.py", line 75, in emit
File
"logging\__init__.py", line 1187, in emit
File
"logging\__init__.py", line 1091, in emit
Message: 'failed to
set attributes for "🎑bla": (123, \'CreateDirectory\', \'The filename, directory
name, or volume label syntax is incorrect.\')'
Arguments: None
xcp.exe copy \\10.x.x.x\source \\10.x.x.x\dest2
4 scanned, 0
matched, 0 skipped, 2 copied, 274 (185/s), 2 errors
Total Time : 1s
STATUS : FAILED
Sending
statistics...
***************************************************************************
Supported Features.
Unsupported Features.
When migrating data from Onprem or any source to NetApp cloud using NetApp XCP tool then it does not scan or copy or sync the file or folders which contains special symbols. As of now NetApp confirms to rename the source side NetApp Folders/Files and redo the migration.
IPv6 - Does not support IP version 6 (IPv6)
Does not support third-party to NetApp NFSv4 ACLs
Linux XCP is no longer supported on earlier distributions of Linux that were supported by XCP 1.6.3.
XCP does not support NFS to S3 migration.
XCP
does not support combining baseline or incremental Snapshot copy operations
with live source migrations.
***************************************************************************
Next Blog Link
In Progress - Blog for NetApp Blue XCP Networking requirments.
Comments
Post a Comment