Need to switch your root volume (vol0) to a different aggregate on a NetApp?
I performed the following on a NetApp FAS2020 running Data OnTap 7.3.5.1
WARNING: IF DONE INCORRECTLY THIS COULD RESULT IN YOUR NETAPP BEING UNABLE TO BOOT. PROCEED ARE YOUR OWN RISK. You may want to consider speaking with NetApp directly instead of following these instructions. They can be reached at 1-888-463-8277 if you are in Canada or the United States.
1. Determine the current size of vol0
netapp> vol size vol0 vol size: Flexible volume 'vol0' has size 30g.
2. Create a new vol0 of the same size on the new aggregate
netapp> vol create vol0new aggr1 30g
3. Verify NDMP is running on the NetApp
netapp> ndmpd status ndmpd ON. No ndmpd sessions active.
4. NDMP copy the contents of the original vol0 to the new vol0new
netapp> ndmpcopy /vol/vol0 /vol/vol0new
5. Set the new vol0 as the root for the filer
netapp> vol options vol0new root
6. Reboot the filer
netapp> reboot
7. Verify that vol0new is the root volume and the NetApp booted off it
netapp> vol options vol0 nosnap=off, nosnapdir=off, minra=off, no_atime_update=off, nvfail=off, ignore_inconsistent=off, snapmirrored=off, create_ucode=on, convert_ucode=on, maxdirsize=9175, schedsnapname=ordinal, fs_size_fixed=off, compression=off, guarantee=volume, svo_enable=off, svo_checksum=off, svo_allow_rman=off, svo_reject_errors=off, no_i2p=off, fractional_reserve=100, extent=off, try_first=volume_grow, read_realloc=off, snapshot_clone_dependency=off, netapp> vol options vol0new root, diskroot, nosnap=off, nosnapdir=off, minra=off, no_atime_update=off, nvfail=off, ignore_inconsistent=off, snapmirrored=off, create_ucode=on, convert_ucode=on, maxdirsize=9175, schedsnapname=ordinal, fs_size_fixed=off, compression=off, guarantee=volume, svo_enable=off, svo_checksum=off, svo_allow_rman=off, svo_reject_errors=off, no_i2p=off, fractional_reserve=100, extent=off, try_first=volume_grow, read_realloc=off, snapshot_clone_dependency=off
Verify that vol0new’s options start with “root, diskroot,” and that vol0 does not
8. Offline the old root volume (vol0)
netapp> vol offline vol0
9. Destroy the old root volume (vol0)
netapp> vol destroy vol0
10. Rename the new vol0new to vol0
netapp> vol rename vol0new vol0
11. Verify the rename took
netapp> df -sh
Thanks. This really helped a lot and made the root volume migration an easy step.
One thing of note is that after the migration, OnCommand System Manager will most likely receive an “Error 500 – Connection refused”.
To fix this, you need to redo the SSL signing by performing the following steps from the CLI:
secureadmin setup ssl
secureadmin enable ssl
Once this is done everything should be good.
Thanks for the tip!