Migrating an internal root disk to a SAN root disk under DMP control

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

  1. Choose a disk to use for the SAN root disk. If the disk is under VM control, then remove the disk from VM control before proceeding:.
    # vxdiskunsetup ams_wms0_1
    # vxdisk rm ams_wms0_1
  2. Clear the PVIDs of all the paths to the SAN boot disk. If the SAN disk is under VM control, then you can get multi-pathing information using the vxdmpadm command:
    # 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.

  3. If any path to the target disk has SCSI reserve ODM attribute set, then change the attributes to release the SCSI reservation from the paths, on a restart.
    • 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
  4. Use the alt_disk_install command to clone the 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
  5. Use the lspv command to confirm that the 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
  6. Update the remaining paths to the SAN disk to include the correct 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
  7. The bootlist command verifies that the boot device has been updated for only one of the paths to the SAN disk:
    # bootlist -m normal -o
    hdisk542 blv=hd5
  8. Use the bootlist command to include the other paths to the new boot device:
    # 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
  9. Reboot the system from the SAN disk.
  10. Enable DMP on the root disk, using one of the following commands.
    • 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
  11. Reboot the system to enable DMP rootability.
  12. Confirm that the system is booted from the new multi-pathed SAN disk. Use the following commands:
    # 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
  13. Verify whether DMP controls the root disk..
    # vxdmpadm native list vgname=rootvg
    PATH        DMPNODENAME
    ========================
    hdisk542    ams_wms0_1
    hdisk557    ams_wms0_1
    hdisk558    ams_wms0_1
    hdisk559    ams_wms0_1