Storage Migration on Solaris server

Hi All,

I need your help urgently.

Below I have given the brief description of the Architecture and the Problem.

The brief details of the architecture:

We have 5 Containers(Non-Global Zones) running on one T5220 Box. The Global Zone is running Solaris 10.
The Non-global Zones are running Solaris 8/9/10.
All the Non-Global zones are present in /Npbsunh2 File-system on the Global Zone.
We are planning to follow the following steps in order to migrate the /Npbsunh2 filesystem from one storage to another.
Bring down all Non-Global Zones(running on /Npbsunh2 file-system).
Take the cold-backup of /Npbsunh2 Filesystem.
Unmount the /Npbsunh2 File-system.
Mount the new LUN(disk) on /Npbsunh2.
Restore the cold Backup on /Npbsunh2.
Bring up all Non-Global Zones.
Please let me know, if this procedure seems fool-proof.
Please suggest if there's some better way to perform the migration.

Thanks a lot in advance.

Regards,
Kamaldeep Singh

Assuming the cold backup is done properly, sounds okay to me.

It the new LUN is on external storage why not do it the way you said but just mount it somewhere else, copy the contents, then remount it where you want. That would save doing a backup & restore.

Thanks jlliagre...

Actually reborg you are right, but can you suggest us a better way with minimal downtime for the Non-Global Zones.

Any help will be truly appreciated.

Hi, I would try the following to minimize the downtime

I will asume that the filesystem /Npbsunh2 corresponds for example to c5t6d0s4

0) Stop your non-global-zones (Start your maintenance window)
1) Umount Filesystem
2) Create a concat metadevice
metainit -f d51 1 1 /dev/rdsk/c5t6d0s4
3) Create a simple mirror
metainit d50 -m d51
4) Mount the filesystem but pointing to the mirrror metadevice
mount /dev/md/dsk/d50 /Npbsunh2
5) Start your non-global-zones (Here end your maintenance,window aprox 10 min)

6) Create new concat mirror to teh new disk/slice
metainit -f d52 1 1 /dev/rdsk/c10t0d0s1 (this is the new disk)
7) attach the second concat to the mirror
metattach d50 d52
8) monitoring the sync progress
9) when the sync is at 100% dettach the original disk
metadetach d50 d51
10) Now the filesystem live in the new disk

Notes:
Obviously you first need create the metadb slice if not exist
Later yo can grow the filesystem if is needed,

Thanks cerber0 for your response.

The procedure sent by you looks good. But, I have a doubt in this... Once we tried the same thing, the mirroring was also complete, but after sometime the server got crashed due to some inconsistency in the Mirrored Volumes.

So, do you suggest to let the syncing run while the non-global zones are up and running? Have you tested the same thing in your environment?

Here is a suggestion with a minimal downtime:

  • Shutdown the zones
  • Create a snapshot of the /Npbsunh2 filesystem. Depending on which filesystem type you use, this is done with one of "zfs snapshot pool/npbsunh@before" or "fssnap ..." or "mount -F vxfs -o snapof=/dev/... /dev/... /mnt".
  • Reboot the zones
  • Copy the snapshot to the new filesystem "cp -RP <snapshot> <new>"
  • Shutdown the zones
  • Unmount the old filesystem and mount the new filesystem instead
  • Reboot the zones