As you may know, on June 19th, 2020 we announced “Netezza Performance Server on Cloud” worldwide, yes you heard it right, now you can run Netezza anywhere (on-prem and Cloud). Sometimes I get this question, “is it 100% Netezza compatible?” I just want to let you know that there is no question of compatibility because it is the same Netezza Performance Server (NPS) common code running everywhere.
As of today, we support two Clouds as mentioned below
- IBM Cloud
- AWS
- More to come in future
In this article, I mainly want to talk about “Migration from Netezza (on-prem) to Netezza (on-cloud)”.
There are mainly two approaches.
Using “nz_migrate” tool
- One step process to run nz_migrate tool on source system (on-prem).
Using “nzbackup / nzrestore” tool
This involves 4 steps
-
Take a backup locally on your on-prem system.
-
Migrate files to S3 bucket on Cloud
-
sync S3 with NPS on-cloud
-
Restore from S3 bucket
How to run those commands? Simple enough
- First approach: nz_migrate
Pre-requisite
-
- EXT_HOSTNAME - external endpoint provided for NPS on-cloud.
- Download 11.x Netezza Software support tool.
On SOURCE system (on-prem) run nz_migrate:
For ex,
/nz/support/bin/nz_migrate -sdb SRCDB -tdb TargetDB -thost ${EXT_HOSTNAME} -CreateTargetDatabase yes -tuser <user> -tpassword <password>
-
- Some tips/tricks:
- Performance depends on network throughput between the systems.
- nz_migrate supports “-streams” option to run more load threads in parallel. Though nz_migrate is already optimized with default settings, sometimes it’s helpful to increase #streams get a better throughput.
- Second approach (backup and restore)
Pre-requisite
-
- EXT_HOSTNAME – external endpoint provided for NPS on-cloud.
- NAMESPACE (NPS on-cloud)
- S3 bucket info and creds
- ACCESS_KEY
- SECRET_KEY
- REGION (empty for IBM Cloud)
- ENDPOINT (only applicable to IBM Cloud)
- BUCKET (name of the bucket)
- NPSHOSTNAME (NPS on-prem)
- Download 11.x Netezza Software support tool.
- Download nzcli utility
- On SOURCE (for ex, Linux system
curl -0 -o nzcli -k https://${EXT_HOSTNAME}/v1/download/nzcli-linux-amd64
chmod +x nzcli
On SOURCE:
-
- Skip if you already have taken back up on local filesystem else take backup.
nzbackup -db SRCDB -dir /nzscratch/backups
2.
Migrate files to S3 Cloud buckets IBM Cloud
nz_s3connector -db SYSTEM -dir /nzscratch/backups -connectorArgs "UNIQUE_ID=${NAMESPACE}:ACCESS_KEY_ID=${ACCESS_KEY}:SECRET_ACCESS_KEY=${SECRET_KEY}:DEFAULT_REGION='':BUCKET_URL=${BUCKET}:ENDPOINT=${ENDPOINT}" -npshost ${NPSHOSTNAME} -upload -verbose
AWS
nz_s3connector -db SYSTEM -dir /nzscratch/backups -connectorArgs "UNIQUE_ID=${NAMESPACE}:ACCESS_KEY_ID=${ACCESS_KEY}:SECRET_ACCESS_KEY=${SECRET_KEY}:DEFAULT_REGION=${REGION}:BUCKET_URL=${BUCKET}" -npshost ${NPSHOSTNAME} -upload -verbose
3. Sync S3 with NPS instance on-cloud
IBM Cloud
./nzcli nzbatchbnr ls scan-s3 --unique-id ${NAMESPACE} --access-key ${ACCESS_KEY} --secret-key ${SECRET_KEY} --bucket ${BUCKET} --endpoint ${ENDPOINT} -host ${EXT_HOSTNAME} -u admin -pw <password>
AWS
./nzcli nzbatchbnr ls scan-s3 --unique-id ${NAMESPACE} --access-key ${ACCESS_KEY} --secret-key ${SECRET_KEY} --bucket ${BUCKET} --region ${REGION} -host ${EXT_HOSTNAME} -u admin -pw <password>
Note:
You don’t require to pass S3 credentials in nzcli command if you already configure backup and restore through NPS console.
4. Access NPS on-cloud console and restore that "external" backup
-
- In browser - https://{CONSOLE}
- Click on “backups”
- Search for “external” backup
- Run restore operation
References:
https://www.ibm.com/support/knowledgecenter/SS5FPD_1.0.0/com.ibm.ips.doc/postgresql/admin/migrate_cloud_storage_filesystem.html
#NetezzaPerformanceServer