Contact Us | Products/Services | Korn Shell | MicroEMACS

Mt Xia:
Business Continuity/Disaster Recovery Methodologies


VIO HDLM Boot Disks

Contact Mt Xia for assistance with your Business Continuity, Disaster Recovery, and High Availability planning and implementation projects at 615.556.0456 or

Current:VIO HDLM Boot Disks
Previous:VIO Server
Home Page

Power 5: VIO configuration to support HDLM boot disks

This document describes the procedure to configure the HDLM driver and SAN disks on multiple VIO servers for the purpose of serving virtual "rootvg" boot disks to client LPARs. This procedure requires multiple parameter settings that must be performed in a specific sequence in order for the values to take effect.

NOTE: This procedure assumes an entire HDLM disk is used as the backend device, not a logical volume on an HDLM disk.

Login to the VIO server as "padmin" and change to the "root" prompt. From the VIO "root" prompt, switch to korn shell 93:


Install the following HDLM software on each VIO Server:


If the Hitachi MPIO driver is installed, remove it.

Remove any vhost adapter configuration setttings:

for (( i=0; i<=48; ++i ))
  /usr/ios/cli/ioscli rmdev -pdev vhost${i}

Remove all HDLM disks:

for i in $( lsdev -Cc disk -F name | grep dlmfdrv )
  rmdev -Rdl ${i}

Remove all hdisks except for hdisk0 and hdisk1 - assumed to be rootvg:

for i in $( lsdev -Cc disk -F name | grep hdisk | egrep -v 'hdisk0$|hdisk1$' )
    rmdev -Rdl ${i}

If an HDLM unconfig file exists, rename it :

[[ -f /usr/DynamicLinkManager/drv/dlmfdrv.unconf ]] &&
    mv /usr/DynamicLinkManager/drv/dlmfdrv.unconf /usr/DynamicLinkManager/drv/$( date +"%Y%m%d").dlmfdrv.unconf
ls /usr/DynamicLinkManager/drv

Set fast fail parameter for SCSI adapters and reconfigure FC adapters:

chdev -l fscsi0 -a fc_err_recov=fast_fail
chdev -l fscsi1 -a fc_err_recov=fast_fail
cfgmgr -vl fcs0
cfgmgr -vl fcs1

Change HDLM settings:

cd /usr/DynamicLinkManager/bin
print y | ./dlmodmset -e on
print y | ./dlmodmset -b 68608

Rediscover HDLM disks:


Turn off reserve settings:

./dlnkmgr set -rsv on 0 -s

Remove HDLM disks:

for i in $( lsdev -Cc disk -F name | grep dlmfdrv )
  rmdev -Rdl ${i}

Change reserve policy on hdisks to "no_reserve":

for i in $( lsdev -Cc disk -F name | grep hdisk | egrep -v 'hdisk0$|hdisk1$' )
  chdev -l ${i} -a reserve_policy=no_reserve

Rediscover HDLM disks:


Make sure all HDLM disks have a PVID:

for i in $( lsdev -Cc disk -F name | grep dlmfdrv )
  chdev -l ${i} -a pv=yes

Configure bootable vhost adapters, the following command are only an example. The actual commands will be dependent upon the SAN disks allocated to the the VIO server, and the LPAR's being configured:

/usr/ios/cli/ioscli rmdev -pdev vhost0
/usr/ios/cli/ioscli rmdev -pdev vhost1
/usr/ios/cli/ioscli rmdev -pdev vhost2
/usr/ios/cli/ioscli rmdev -pdev vhost3
/usr/ios/cli/ioscli rmdev -pdev vhost4
/usr/ios/cli/ioscli rmdev -pdev vhost5
/usr/ios/cli/ioscli rmdev -pdev vhost6
/usr/ios/cli/ioscli rmdev -pdev vhost7
/usr/ios/cli/ioscli rmdev -pdev vhost8
/usr/ios/cli/ioscli rmdev -pdev vhost9
/usr/ios/cli/ioscli rmdev -pdev vhost10
/usr/ios/cli/ioscli rmdev -pdev vhost11

/usr/ios/cli/ioscli mkvdev -vdev dlmfdrv0 -vadapter vhost0 -dev vdlmfdrv0
/usr/ios/cli/ioscli mkvdev -vdev dlmfdrv1 -vadapter vhost1 -dev vdlmfdrv1
/usr/ios/cli/ioscli mkvdev -vdev dlmfdrv2 -vadapter vhost2 -dev vdlmfdrv2
/usr/ios/cli/ioscli mkvdev -vdev dlmfdrv3 -vadapter vhost3 -dev vdlmfdrv3
/usr/ios/cli/ioscli mkvdev -vdev dlmfdrv4 -vadapter vhost4 -dev vdlmfdrv4
/usr/ios/cli/ioscli mkvdev -vdev dlmfdrv5 -vadapter vhost5 -dev vdlmfdrv5
/usr/ios/cli/ioscli mkvdev -vdev dlmfdrv6 -vadapter vhost6 -dev vdlmfdrv6
/usr/ios/cli/ioscli mkvdev -vdev dlmfdrv7 -vadapter vhost7 -dev vdlmfdrv7
/usr/ios/cli/ioscli mkvdev -vdev dlmfdrv8 -vadapter vhost8 -dev vdlmfdrv8
/usr/ios/cli/ioscli mkvdev -vdev dlmfdrv9 -vadapter vhost9 -dev vdlmfdrv9
/usr/ios/cli/ioscli mkvdev -vdev dlmfdrv10 -vadapter vhost10 -dev vdlmfdrv10
/usr/ios/cli/ioscli mkvdev -vdev dlmfdrv11 -vadapter vhost11 -dev vdlmfdrv11

/usr/ios/cli/ioscli lsmap -vadapter vhost0
/usr/ios/cli/ioscli lsmap -vadapter vhost1
/usr/ios/cli/ioscli lsmap -vadapter vhost2
/usr/ios/cli/ioscli lsmap -vadapter vhost3
/usr/ios/cli/ioscli lsmap -vadapter vhost4
/usr/ios/cli/ioscli lsmap -vadapter vhost5
/usr/ios/cli/ioscli lsmap -vadapter vhost6
/usr/ios/cli/ioscli lsmap -vadapter vhost7
/usr/ios/cli/ioscli lsmap -vadapter vhost8
/usr/ios/cli/ioscli lsmap -vadapter vhost9
/usr/ios/cli/ioscli lsmap -vadapter vhost10
/usr/ios/cli/ioscli lsmap -vadapter vhost11

On each LPAR enable the hcheck_interval parameter to perform automated health checks for all disks on all LPAR's:

for i in $( lsdev -Cc disk -F name )
  chdev -l ${i} -a hcheck_interval=20 -P
shutdown -Fr


For information regarding this page, contact Dana French ( )
Copyright 2008 by Mt Xia Inc, All Rights Reserved