Linux Config.fm Draft Document for Review March 28, 2011 12:24 pm
614  IBM System Storage DS3500: Introduction and Implementation Guide
lrwxrwxrwx 1 root root   9 Aug 12 07:07 scsi-35000c500009c6dcb -> ../../sda
lrwxrwxrwx 1 root root  10 Aug 12 07:07 scsi-35000c500009c6dcb-part1 -> ../../sda1
lrwxrwxrwx 1 root root  10 Aug 12 07:07 scsi-35000c500009c6dcb-part2 -> ../../sda2
lrwxrwxrwx 1 root root   9 Aug 12 07:07 scsi-360080e50001b0c9e00000f694c60d855 -> 
../../sdb
The RDAC driver installs three additional scripts to interact with the logical drives:
ň° mppBusRescan
This script allows the addition of new logical drives without having to reboot the server. It is 
possible to discover new array devices, to delete unmapped or disconnected devices and 
to update the size of the devices.
ň° mppUpdate
This script uses the mppUtil utility to discover the RDAC assigned virtual target IDs of the 
attached arrays. It then updates the RDAC driver configuration file 
(/var/mpp/devicemapping) so the entries will be persistent after a reboot. The first time the 
RDAC driver sees a storage array, it will arbitrarily assign a target ID for the virtual target 
that represents the storage array. At this point the target ID assignment is not persistent 
and it could change on a reboot. The mppUpdate utility updates the RDAC driver 
configuration files so that these target ID assignments are persistent and won't change 
across reboots. Once made persistent, the user does not have to worry about the 
possibility of device names changing and invalidating mount points. mppUpdate needs to 
be executed after an array is added to or removed from the system. If an array is added to 
the system, mppBusRescan also needs to be run before mppUpdate is run. It also needs 
to be executed whenever user changes the RDAC configuration file /etc/mpp.conf to 
rebuild the new configuration file into RAM Disk image that will be used for the next reboot.
ň° mppUtil
This general purpose script is used with the RDAC driver to perform the various functions 
provided by the driver. With this script it is possible to:
â Display the information about all the arrays currently detected by the host.
â Set the current debug reporting level to debug.
â Report the Up/Down state of the controllers and paths for each lun in real-time.
Probably, the most used parameters with this script is in the Example 20-6. It is 
showing the same info as displayed in Figure 20-13 on page 612 but from an operating 
system perspective.
Example 20-6   mppUtil -g 0 output to see the available paths to the logical drive
# mppUtil -g 0
Controller 'A' Path
    --------------------
   NumLunObjects: 2                         RoundRobinIndex: 0
         Path #1: LunPathDevice: present
       DevState: OPTIMAL
    RemoveState: 0x0  StartState: 0x1  PowerState: 0x0
         Path #2: LunPathDevice: present
       DevState: OPTIMAL
    RemoveState: 0x0  StartState: 0x1  PowerState: 0x0
    Controller 'B' Path
    --------------------