If the system has been booted from an internal disk (such as hdisk0), you can configure an alternate root disk on the attached SAN storage before you put it under DMP control.
In this example, a SAN boot disk with multiple paths is created by cloning the existing root disk, and then enabling multi-pathing support by DMP.
To migrate an internal root disk to a SAN root disk under DMP control
# vxdiskunsetup ams_wms0_1
# vxdisk rm ams_wms0_1
# vxdmpadm getsubpaths dmpnodename=ams_wms0_1
NAME STATE[A] PATH-TYPE[M] CTLR-NAME ENCLR-TYPE ENCLR-NAME ATTRS ===================================================================== hdisk542 ENABLED(A) PRIMARY fscsi0 AMS_WMS ams_wms0 - hdisk557 ENABLED SECONDARY fscsi0 AMS_WMS ams_wms0 - hdisk558 ENABLED(A) PRIMARY fscsi1 AMS_WMS ams_wms0 - hdisk559 ENABLED SECONDARY fscsi1 AMS_WMS ams_wms0 -
Clear the PVIDs of all these paths.
# chdev -l hdisk542 -a pv=clear hdisk542 changed # chdev -l hdisk557 -a pv=clear hdisk557 changed # chdev -l hdisk558 -a pv=clear hdisk558 changed # chdev -l hdisk559 -a pv=clear hdisk559 changed
Note that unless the disk is under VM control, the clear command may not work for secondary paths.
If a path has the reserve_policy attribute set, change the reserve_policy attribute to no_reserve for all the paths.
# lsattr -E1 hdisk557 | grep res reserve_policy single_path Reserve Policy True
# chdev -l hdisk557 -a reserve_policy=no_reserve -P hdisk557 changed
If a path has the reserve_lock attribute set, change the reserve_lock attribute to no.
# lsattr -E1 hdisk558 | grep reserve_lock reserve_lock yes Reserve Device on open True
# chdev -l hdisk558 -a reserve_lock=no -P hdisk558 changed
rootvg
to the SAN boot disk. You can use any of the paths, but preferably use the primary path.# alt_disk_install -C -P all hdisk542 +-------------------------------------------------------------+ ATTENTION: calling new module /usr/sbin/alt_disk_copy. Please see the alt_disk_copy man page and documentation for more details. Executing command: /usr/sbin/alt_disk_copy -P "all" -d "hdisk542" +-------------------------------------------------------------+ Calling mkszfile to create new /image.data file. Checking disk sizes. Creating cloned rootvg volume group and associated logical volumes. Creating logical volume alt_hd5. Creating logical volume alt_hd6. Creating logical volume alt_hd8. Creating logical volume alt_hd4. Creating logical volume alt_hd2. Creating logical volume alt_hd9var. Creating logical volume alt_hd3. Creating logical volume alt_hd1. Creating logical volume alt_hd10opt. Creating logical volume alt_lg_dumplv. Creating /alt_inst/ file system. Creating /alt_inst/home file system. Creating /alt_inst/opt file system. Creating /alt_inst/tmp file system. Creating /alt_inst/usr file system. Creating /alt_inst/var file system. Generating a list of files for backup and restore into the alternate file system... Backing-up the rootvg files and restoring them to the alternate file system... Modifying ODM on cloned disk. Building boot image on cloned disk. forced unmount of /alt_inst/var forced unmount of /alt_inst/usr forced unmount of /alt_inst/tmp forced unmount of /alt_inst/opt forced unmount of /alt_inst/home forced unmount of /alt_inst forced unmount of /alt_inst Changing logical volume names in volume group descriptor area. Fixing LV control blocks... Fixing file system superblocks... Bootlist is set to the boot disk: hdisk542
altinst_rootvg
has been created for one of the paths to the SAN disk:# lspv | grep rootvg hdisk125 00cdee4fd0e3b3da rootvg active hdisk542 00cdee4f5b103e98 altinst_rootvg
altinst_rootvg
information:# chdev -l hdisk557 -a pv=yes hdisk557 changed # chdev -l hdisk558 -a pv=yes hdisk558 changed # chdev -l hdisk559 -a pv=yes hdisk559 changed # lspv | grep rootvg hdisk125 00cdee4fd0e3b3da rootvg active hdisk542 00cdee4f5b103e98 altinst_rootvg hdisk557 00cdee4f5b103e98 altinst_rootvg hdisk558 00cdee4f5b103e98 altinst_rootvg hdisk559 00cdee4f5b103e98 altinst_rootvg
# bootlist -m normal -o hdisk542 blv=hd5
# bootlist -m normal hdisk542 hdisk557 hdisk558 hdisk559 blv=hd5 # bootlist -m normal -o hdisk542 blv=hd5 hdisk557 blv=hd5 hdisk558 blv=hd5 hdisk559 blv=hd5
The recommended method is to turn on DMP support for LVM volumes, including the root volume.
# vxdmpadm settune dmp_native_support=on
The following command enables DMP support for LVM volumes only for the root disk. This method will be deprecated in a future release.
# vxdmpadm native enable vgname=rootvg
# bootinfo -b hdisk542 # bootlist -m normal -o hdisk542 blv=hd5 hdisk557 blv=hd5 hdisk558 blv=hd5 hdisk559 blv=hd5 # lspv | grep rootvg hdisk125 00cdee4fd0e3b3da old_rootvg ams_wms0_1 00cdee4f5b103e98 rootvg active
# vxdmpadm native list vgname=rootvg PATH DMPNODENAME ======================== hdisk542 ams_wms0_1 hdisk557 ams_wms0_1 hdisk558 ams_wms0_1 hdisk559 ams_wms0_1