Using DST, you can seamlessly move the NSS data from NSS32 to NSS64 volumes without noticeable change or disruption. The data migration is performed by migrating all the data and corresponding metadata from the source NSS32 volume to the target NSS64 volume in the same tree and server. The source and the target volume both must be either local or cluster volumes. There is no support for cross-migration.
NOTE:
Data migration process will not replicate the Primary Namespace of the NSS32 volume and Linux File Extended Attributes (setfattr) to the NSS64 volume.
If the target path already has a file with the same name as the source path, the system will not migrate that file.
For better performance, OpenText recommends one migration at a time.
Service operations for oes-nss32to64 are not supported on CIS volumes.
A new storage that is either equal or greater than the existing NSS32 volume.
A new NSS64 volume in a new or existing NSS64 pool.
The migration process requires minor downtime at the beginning for renaming the volumes and creating the shadow pair, followed by the removal of the DST pair at the end of the migration.
By default, the migration service (oes-nss32to64) is inactive and disabled. You must start oes-nss32to64 service (systemctl start oes-nss32to64.service) before you start the migration.
Both primary and secondary volumes must be active and mounted in NSS and on the same server. These volumes must not be part of any DST pair.
If the source NSS32VOL is already part of a DST pair, then you must break that DST pair.
Choose one of the following options to migrate the data from NSS32 volume (NSS32VOL) to NSS64 pool (NSS64POOL) using oes-nss32to64 service:
Create a new NSS64 volume (NSS64VOL) in NSS64POOL and migrate NSS32VOL to NSS64VOL.
nss32to64 migrate NSS32VOL target-volume NSS64VOL
Volume names have been changed for this operation as: NSS32VOL (source volume) has been changed to NSS32VOL_32 NSS64VOL (target volume) has been changed to NSS32VOL
Migrate NSS32VOL to NSS64POOL.
nss32to64 migrate NSS32VOL target-pool NSS64POOL
Migration of NSS32VOL to NSS64POOL creates a new volume in NSS64POOL named NSS32VOL_64.
Volume names have been changed for this operation as: NSS32VOL (source volume) has been changed to NSS32VOL_32 NSS32VOL_64 (target volume) has been changed to NSS32VOL
The oes-nss32to64 service performs the following migration steps:
Replicate the directory structure and the volume properties from NSS32VOL to NSS64VOL.
Get ndsHomeDirectory and Directory Map objects for NSS32VOL.
Swap DFS GUID from NSS32VOL to NSS64VOL.
Rename the NSS32 volume from NSS32VOL to NSS32VOL_32.
Rename the NSS64 volume from NSS64VOL to NSS32VOL.
Set ndsHomeDirectory and Directory map objects to NSS64VOL from NSS32VOL.
Create shadow volume and start migration.
Create a DST pair with NSS32VOL_32 as secondary volume and NSS32VOL as primary volume.
Move files from secondary volume NSS32VOL_32 to primary volume NSS32VOL.
After a successful migration, the oes-nss32to64 service removes the DST pair that was created in 2g1.
Removing the DST pair mounts both volumes and makes them available for their independent use.
During the migration, you can check the following:
Verify the status of migration for a specific volume.
nss32to64 migration-status NSS32VOL
Check the status of all migrations.
nss32to64 list-migrations
The list shows the percentage completion status, both completed and in progress.
If service issues or other problems cause the migration to fail, the migration is halted and you must resume the migration.
nss32to64 resume-migration NSS32VOL
For more information about nss32to64 command line utility, see Section B.6, nss32to64.
NOTE:Before initiating data migration for cluster volumes, ensure the primary and secondary resources are running.
If the source NSS32VOL is already part of a DST pair, then you must break that DST pair.
Choose one of the following options to migrate the data from NSS32 volume (NSS32VOL) to NSS64 pool (NSS64POOL) using oes-nss32to64 service:
Create a new NSS64 volume (NSS64VOL) in NSS64POOL and migrate NSS32VOL to NSS64VOL.
nss32to64 migrate NSS32VOL target-volume NSS64VOL
Migrate NSS32VOL to NSS64POOL.
nss32to64 migrate NSS32VOL target-pool NSS64POOL
Migration of NSS32VOL to NSS64POOL creates a new volume in NSS64POOL named NSS32VOL_64.
For the migration, the oes-nss32to64 service performs the following steps:
Replicate the directory structure and the volume properties from NSS32VOL to NSS64VOL.
Get ndsHomeDirectory and Directory Map objects for NSS32VOL.
Swap DFS GUID from NSS32VOL to NSS64VOL.
Rename the NSS32 volume from NSS32VOL to NSS32VOL_32.
Rename the NSS64 volume from NSS64VOL to NSS32VOL.
Set ndsHomeDirectory and Directory map objects to NSS64VOL from NSS32VOL.
Display the change in volume names.
Migrate NSS32VOL to NSS64VOL
Volume names have been changed for this operation as: NSS32VOL (source volume) has been changed to NSS32VOL_32 NSS64VOL (target volume) has been changed to NSS32VOL
Migrate NSS32VOL to NSS64POOL
Volume names have been changed for this operation as: NSS32VOL (source volume) has been changed to NSS32VOL_32 NSS32VOL_64 (target volume) has been changed to NSS32VOL
Display the existing and modified resource scripts.
Create a directory (._NSSDataMigration) with two sub-directories for existing scripts (savedResourceScripts) and modified scripts (modifiedResourceScripts) in this location: /var/opt/novell/nss/.
Update the resource scripts to create a cluster shadow volume.
Sample Resource Scripts
We have modified the cluster resource scripts of NSS64POOL_SERVER by borrowing from the resource scripts of NSS32POOL_SERVER. Before Modification Load Script for resource NSS64POOL_SERVER: #!/bin/bash . /opt/novell/ncs/lib/ncsfuncs exit_on_error nss /poolact=NSS64POOL exit_on_error ncpcon mount NSS32VOL=253 exit_on_error add_secondary_ipaddress 10.10.10.42 exit_on_error ncpcon bind --ncpservername=cluster-NSS64POOL-SERVER --ipaddress=10.10.10.42 exit 0 After Modification Load Script for resource NSS64POOL_SERVER: #!/bin/bash . /opt/novell/ncs/lib/ncsfuncs exit_on_error nss /poolact=NSS32POOL exit_on_error nss /poolact=NSS64POOL exit_on_error ncpcon mount NSS32VOL=253,shadowvolume=NSS32VOL_32 exit_on_error add_secondary_ipaddress 10.10.10.41 exit_on_error ncpcon bind --ncpservername=cluster-NSS32POOL-SERVER --ipaddress=10.10.10.41 exit_on_error add_secondary_ipaddress 10.10.10.42 exit_on_error ncpcon bind --ncpservername=cluster-NSS64POOL-SERVER --ipaddress=10.10.10.42 exit 0 Before Modification Unload Script for resource NSS64POOL_SERVER: #!/bin/bash . /opt/novell/ncs/lib/ncsfuncs ignore_error ncpcon unbind --ncpservername=NSS32TO64-CLP64-SERVER --ipaddress=10.10.10.42 ignore_error del_secondary_ipaddress 10.10.10.42 ignore_error nss /pooldeact=NSS64POOL exit 0 After Modification Unload Script for resource NSS64POOL_SERVER: #!/bin/bash . /opt/novell/ncs/lib/ncsfuncs ignore_error ncpcon unbind --ncpservername=cluster-NSS64POOL-SERVER --ipaddress=10.10.10.42 ignore_error del_secondary_ipaddress 10.10.10.42 ignore_error ncpcon unbind --ncpservername=cluster-NSS32POOL-SERVER --ipaddress=10.10.10.41 ignore_error del_secondary_ipaddress 10.10.10.41 ignore_error nss /pooldeact=NSS64POOL ignore_error nss /pooldeact=NSS32POOL exit 0 Before Modification Monitor Script for resource NSS64POOL_SERVER: #!/bin/bash . /opt/novell/ncs/lib/ncsfuncs exit_on_error status_fs /dev/pool/NSS64POOL /opt/novell/nss/mnt/.pools/NSS64POOL nsspool exit_on_error status_secondary_ipaddress 10.10.10.42 exit_on_error ncpcon volume NSS32VOL exit 0 After Modification Monitor Script for resource NSS64POOL_SERVER: #!/bin/bash . /opt/novell/ncs/lib/ncsfuncs exit_on_error status_fs /dev/pool/NSS64POOL /opt/novell/nss/mnt/.pools/NSS64POOL nsspool exit_on_error status_fs /dev/pool/NSS32POOL /opt/novell/nss/mnt/.pools/NSS32POOL nsspool exit_on_error status_secondary_ipaddress 10.10.10.41 exit_on_error status_secondary_ipaddress 10.10.10.42 exit_on_error ncpcon volume NSS32VOL exit 0 Modify the scripts at /var/opt/novell/nss/._NSSDataMigration/modifiedResourceScripts to include any other commands from the corresponding scripts of NSS32POOL_SERVER. Enter "continue" to proceed after reviewing/modifying the script(s) or enter "discard" to discard the changes and abort the operation:
(Optional) Edit the modified scripts located at: /var/opt/novell/nss/modifiedResourceScripts.
Type continue to accept the changes and start the migration.
(Optional) Verify the migration status.
Check the shadow status for a given volume.
nss32to64 shadow-status NSS32VOL
or
nss32to64 shadow-status NSS32VOL_32
Sample Shadow Volume Status
nss32to64 shadow-status NSS32VOL The volume "NSS32VOL" is a primary volume of a DST pair with "NSS32VOL_32" as secondary volume nss32to64 shadow-status NSS32VOL_32 The volume "NSS32VOL_32" is a secondary volume of a DST pair with "NSS32VOL" as primary volume
Check the status of migration for a specific volume.
nss32to64 migration-status NSS32VOL
Sample Migration Status
Total Files Migrated: 1000/1000 Total File Size Migrated (in kB): 1024000/1024000
Check the status of all migrations.
nss32to64 list-migrations
Sample List Migrations
NSS32VOL_32 --> NSS32VOL (% migrated: 100)
The list shows the percentage completion status, both completed and in progress.
If service issues or other problems cause the migration to fail, the migration is halted and you must resume the migration.
nss32to64 resume-migration NSS32VOL
Remove the DST pair.
During migration, if you try to remove the DST pair, a warning message appears.
nss32to64 remove-shadow NSS32VOL A migration is already in progress for this volume. Do you want to continue anyway? (yes/no): no Aborting the operation...
Type yes to remove the DST pair or no to continue the migration.
Ensure to remove the DST pair only after a successful migration.
nss32to64 remove-shadow NSS32VOL
Sample Resource Scripts
We have modified the cluster resource scripts of NSS64POOL_SERVER. Before Modification Load Script for resource NSS64POOL_SERVER: #!/bin/bash . /opt/novell/ncs/lib/ncsfuncs exit_on_error nss /poolact=NSS32POOL exit_on_error nss /poolact=NSS64POOL exit_on_error ncpcon mount NSS32VOL=253,shadowvolume=NSS32VOL_32 exit_on_error add_secondary_ipaddress 164.99.117.208 exit_on_error ncpcon bind --ncpservername=NSS32TO64-CLP32-SERVER --ipaddress=164.99.117.208 exit_on_error add_secondary_ipaddress 164.99.117.209 exit_on_error ncpcon bind --ncpservername=NSS32TO64-CLP64-SERVER --ipaddress=164.99.117.209 exit 0 After Modification Load Script for resource NSS64POOL_SERVER: #!/bin/bash . /opt/novell/ncs/lib/ncsfuncs exit_on_error nss /poolact=NSS64POOL exit_on_error ncpcon mount NSS32VOL=253 exit_on_error add_secondary_ipaddress 164.99.117.209 exit_on_error ncpcon bind --ncpservername=NSS32TO64-CLP64-SERVER --ipaddress=164.99.117.209 exit 0 Before Modification Unload Script for resource NSS64POOL_SERVER: #!/bin/bash . /opt/novell/ncs/lib/ncsfuncs ignore_error ncpcon unbind --ncpservername=NSS32TO64-CLP64-SERVER --ipaddress=164.99.117.209 ignore_error del_secondary_ipaddress 164.99.117.209 ignore_error ncpcon unbind --ncpservername=NSS32TO64-CLP32-SERVER --ipaddress=164.99.117.208 ignore_error del_secondary_ipaddress 164.99.117.208 ignore_error nss /pooldeact=NSS64POOL ignore_error nss /pooldeact=NSS32POOL exit 0 After Modification Unload Script for resource NSS64POOL_SERVER: #!/bin/bash . /opt/novell/ncs/lib/ncsfuncs ignore_error ncpcon unbind --ncpservername=NSS32TO64-CLP64-SERVER --ipaddress=164.99.117.209 ignore_error del_secondary_ipaddress 164.99.117.209 ignore_error nss /pooldeact=NSS64POOL exit 0 Before Modification Monitor Script for resource NSS64POOL_SERVER: #!/bin/bash . /opt/novell/ncs/lib/ncsfuncs exit_on_error status_fs /dev/pool/NSS64POOL /opt/novell/nss/mnt/.pools/NSS64POOL nsspool exit_on_error status_fs /dev/pool/NSS32POOL /opt/novell/nss/mnt/.pools/NSS32POOL nsspool exit_on_error status_secondary_ipaddress 164.99.117.208 exit_on_error status_secondary_ipaddress 164.99.117.209 exit_on_error ncpcon volume NSS32VOL exit 0 After Modification Monitor Script for resource NSS64POOL_SERVER: #!/bin/bash . /opt/novell/ncs/lib/ncsfuncs exit_on_error status_fs /dev/pool/NSS64POOL /opt/novell/nss/mnt/.pools/NSS64POOL nsspool exit_on_error status_secondary_ipaddress 164.99.117.209 exit_on_error ncpcon volume NSS32VOL exit 0 Modify the scripts at /var/opt/novell/nss/._NSSDataMigration/modifiedResourceScripts to remove any other commands. Enter "continue" to proceed after reviewing/modifying the script(s) or enter "discard" to discard the changes and abort the operation:
(Optional) Edit the modified scripts located here: /var/opt/novell/nss/modifiedResourceScripts.
Type continue to accept the changes and remove the DST pair.
For more information about nss32to64 command line utility, see Section B.6, nss32to64.