|
dave spink toolset |
|
POWERPATH: |
|||
INSTALL | UNINSTALL | VERITAS | TEST |
HBA REPLACE | CLEAN UP | COMMANDS |
INSTALLSee host below that has no PowerPath installed. This host has one HBA and one CX LUN mapped via both SP's i.e. one active path. # format AVAILABLE DISK SELECTIONS: 0. c1t0d0 SUN72G cyl 14087 alt 2 hd 24 sec 424 /pci@1f,700000/scsi@2/sd@0,0 1. c1t1d0 SUN72G cyl 14087 alt 2 hd 24 sec 424 /pci@1f,700000/scsi@2/sd@1,0 2. c3t0d0 drive type unknown /pci@1d,700000/fibre-channel@1/sd@0,0 3. c3t2d0 DGC-RAID10-0219 cyl 61438 alt 2 hd 256 sec 16 /pci@1d,700000/fibre-channel@1/sd@2,0 If planning to use Veritas; install it before PowerPath. If Veritas is already installed ensure /etc/system entries for vx* drivers are above the entries for PowerPath drivers. # vi /etc/system set sd:sd_max_throttle = 20 set sd:sd_io_time = 0x3C # vi /kernel/drv/qla2300.conf hba0-link-down-error=1; hba0-link-down-timeout=60; hba0-fast-error-reporting=1; Installing PowerPath. # mount -F hsfs -r /dev/dsk/cXtXdXzX /cdrom/cdrom0 # cd /cdrom/cdrom/UNIX/SOLARIS # /usr/sbin/pkgadd -d . Register PowerPath on the host. # /etc/emcpreg -install # umount /cdrom/cdrom0 # reboot -- -r Verify PowerPath is installed. # pkginfo -l EMCpower PKGINST: EMCpower NAME: EMC PowerPath CATEGORY: system ARCH: sparc VERSION: 5.2.0_b146 BASEDIR: /opt VENDOR: EMC Corporation PSTAMP: beavis951018123443 INSTDATE: Aug 06 2008 17:05 STATUS: completely installed FILES: 318 installed pathnames 42 directories 127 executables 183371 blocks used (approx) Verify PowerPath kernel extension is loaded on the host. # modinfo | grep emcp 39 13b6ebf 3686 247 1 emcpsf (PP SF 5.2.0.0.0) 40 13b9f85 28d18 236 1 emcp (PP Driver 5.2.0.0.0) 52 13fca02 2abb - 1 emcpgpx (PP GPX Ext 5.2.0.0.0) 53 784d6000 28ed7 - 1 emcpmpx (PP MPX Ext 5.2.0.0.0) 54 78502000 d6eee - 1 emcpsapi (PP SAPI Ext 5.2.0.0.0) 55 785da000 10d49 - 1 emcpcg (PP CG Ext 5.2.0.0.0) 56 785ea000 6c7f - 1 emcpvlumd (PP VLUMD Manager 5.2.0.0.0) 57 785f0000 1b9b0 - 1 emcpxcrypt (PP XCRYPT Manager 5.2.0.0.0) 58 7860a000 b587 - 1 emcpdm (PP DM Manager 5.2.0.0.0) 59 7837fdd0 4c1 - 1 emcpioc (PP PIOC 5.2.0.0.0) Verify PowerPath Devices Are Configured on the host. # format AVAILABLE DISK SELECTIONS: 0. c1t0d0 SUN72G cyl 14087 alt 2 hd 24 sec 424 /pci@1f,700000/scsi@2/sd@0,0 1. c1t1d0 SUN72G cyl 14087 alt 2 hd 24 sec 424 /pci@1f,700000/scsi@2/sd@1,0 2. c3t0d0 DGC-RAID10-0219 cyl 61438 alt 2 hd 256 sec 16 /pci@1d,700000/fibre-channel@1/sd@0,0 3. c3t2d0 DGC-RAID10-0219 cyl 61438 alt 2 hd 256 sec 16 /pci@1d,700000/fibre-channel@1/sd@2,0 4. emcpower0a DGC-RAID10-0219 cyl 61438 alt 2 hd 256 sec 16 /pseudo/emcp@0 Check powerpath policy is set, if not run "powermnt set policy". # powermt display dev=all Disable the setup script (optional) - the PowerPath setup script may interfere with other applications. # vi /etc/profile ###/opt/EMCpower/scripts/emcp_setup.sh # vi /etc/.login ###source /opt/EMCpower/scripts/emcp_setup.csh Update profile. MANPATH=$MANPATH:/opt/EMCpower/man PATH=$PATH:/opt/EMCpower/bin/sparcv9 PATH=$PATH:/etc/emc/bin Ensure sufficient stack size - the minimum required is 0x6000. If you ever install another application that modifies this setting make sure it is at least 0x6000. A stack size too small can cause a kernel panic and or stack overflow error messages. # cat /etc/system ... set emcp:bPxEnableInit=1 set lwp_default_stksize=0x6000 set rpcmod:svc_default_stksize=0x6000 UNINSTALLBefore removing devices from a server remove them from PowerPath with powermt remove. Then unmask/unmap. This way when the devices are presented back to the host they are brought in correctly for PowerPath to configure. When removing devices from PowerPath control it may complain about the devices being opened. Powerpath counts the number of open and close requests. If open requests exceeds close requests then the device can't be removed without first rebooting. # umount /test # vxvol -g netbdg stopall # vxdg deport netbdg # vxdisk list # vxdisk rm c3t2d0 # powermt remove dev=c3t2d0 Remove packages. # /usr/sbin/pkgrm EMCpower # /etc/emcpv_cleanup # reboot -- -r VERITASDMP and Powerpath both control devices, but powerpath is really solely controlling it. In a dual environment, both systems will show that they have control of all of the luns (hence "both controlling") But because of the way the multipathing works, only one of the softwares can truly control how the I/O is split, and when a path is marked dead. In the case, powerpath sits significantly lower on the I/O tree than veritas does, so by agreement when both are present powerpath does all of the actual heavy lifting- the multipathing and failover. It reports any changes it makes to veritas, further on the i/o tree so that customers get the benefit of seeing it clearly from the VG level in addition to the driver level. The ability to set both DMP and PP to control failover separately no longer exists on any of the currently supported software. DMP 3.5 and above is "powerpath aware" so no matter what you set it to, if powerpath is installed, it will defer to powerpath. The procedure below applies to old versions of Veritas. The pseudo devices are now recommend and automatically detected. # format AVAILABLE DISK SELECTIONS: 0. c1t0d0 SUN72G cyl 14087 alt 2 hd 24 sec 424 /pci@1f,700000/scsi@2/sd@0,0 1. c1t1d0 SUN72G cyl 14087 alt 2 hd 24 sec 424 /pci@1f,700000/scsi@2/sd@1,0 2. c3t0d0 DGC-RAID10-0219 cyl 61438 alt 2 hd 256 sec 16 /pci@1d,700000/fibre-channel@1/sd@0,0 3. c3t2d0 DGC-RAID10-0219 cyl 61438 alt 2 hd 256 sec 16 /pci@1d,700000/fibre-channel@1/sd@2,0 4. emcpower0a DGC-RAID10-0219 cyl 61438 alt 2 hd 256 sec 16 /pseudo/emcp@0 # vxdisk list DEVICE TYPE DISK GROUP STATUS c1t0d0s2 auto:sliced rootdisk rootdg online c1t1d0s2 auto:sliced rootmirror rootdg online c3t2d0s2 auto - - error c3t2d0s2 auto - - error c3t2d0s2 auto - - error Use the following procedure to prevent a duplicate disk ID that can cause VERITAS commands to fail. # vxddladm listjbod VID PID Opcode Page Code Page Offset SNO length Policy ========================================================================== SEAGATE ALL PIDs 18 -1 36 12 Disk SUN SESS01 18 -1 36 12 Disk # vxddladm addjbod vid=DGC pagecode=0x83 offset=8 length=16 # reboot -- -r # vxddladm listjbod VID PID Opcode Page Code Page Offset SNO length Policy ========================================================================== SEAGATE ALL PIDs 18 -1 36 12 Disk SUN SESS01 18 -1 36 12 Disk DGC ALL PIDs 18 131 8 16 Disk # vxdisk list DEVICE TYPE DISK GROUP STATUS c1t0d0s2 auto:sliced rootdisk rootdg online c1t1d0s2 auto:sliced rootmirror rootdg online c3t2d0s2 auto:cdsdisk - - online If you remove PowerPath from the host, return to VERITAS DMP to its default state. # vxddladm rmjbod vid=DGC # init 6 TESTPrepare a couple of scripts for read and write tests. Remove cables and perform SP LUN trespass. Use the following PowerPath commands during these tests: # powermt display dev=all # powermt display dev=all every=2 # powermt restore Write failover test - the following script writes a bunch of 10M files. Run the script and via Navisphere trespass the LUN. The writes will continue without any disruption in service. # cd /dspinkA # vi t.sh typeset -i num num=200 cnt=1 while (( cnt < num )) do mkfile 10M testfile$cnt (( cnt = cnt + 1 )) done # ./t.sh Read failover test - the following script reads the files created by the write script. Run the script and repeat the LUN trespass via exercise. The reads will continue without any disruption in service. # cd /dspinkA # vi t.sh typeset -i num num=200 cnt=1 while (( cnt < num )) do ls -l -R (( cnt = cnt + 1 )) done # ./t.sh If you have caused LUNs to trespass, restore LUNs to their original SP with the following PowerPath command: # powermt restore Message File Warnings - LUN trespasses can cause Solaris disk driver to log warning and or error messages. You can ignore these messages as PowerPath intercepts them and hides them from the application sending IO. See extract of /var/adm/messages when a LUN is trespassed. Dec 29 14:51:35 d1pr9tmp Error for Command: write Error Level: Fatal Dec 29 14:51:35 d1pr9tmp scsi: [ID 107833 kern.notice] Requested Block: 170848 Error Block: 170848 Dec 29 14:51:35 d1pr9tmp scsi: [ID 107833 kern.notice] Vendor: DGC Serial Number: 030000DAC9CL Dec 29 14:51:35 d1pr9tmp scsi: [ID 107833 kern.notice] Sense Key: Not Ready Dec 29 14:51:35 d1pr9tmp scsi: [ID 107833 kern.notice] ASC: 0x4 ASCQ: 0x3, FRU: 0x0 Dec 29 14:51:35 d1pr9tmp emcp: [ID 801593 kern.notice] Info: Volume ...FE860673DA11 followed to SPA HBA REPLACELets assume you had previously configured the host with a single zone to SP B and created a storage group with LUN access. You later add a zone for SP A and confirm the host has connectivity to both ports. In order for the HBA LUN Masking software to get access via SP A you must register PowerPath on the alternate path. Sometimes you need this procedure when replacing a failed HBA. Windows on CX HBA replacement
From Windows server command prompt verify boths paths are active. # powermt display dev=all # powermt config # powermt check # powermt save Verify LUNs have trespassed back via Navisphere. CLEAN UPPowerPath sits on top of the kernel and acts as a traffic cop. However, it's configuration files are compiled at boot. Therefore, online commands do not always work and sometimes these files need to be recompiled and PowerPath needs to be reloaded. The easiest and most effective way to do this is through a reboot. There aren't any other methods that are EMC approved besides remove the powermt.custom file and run powermt config. This hardly ever works. This is why EMC recommends a reboot. If PowerPath gets duplicates pseudo entries caused by incorrect unmapping and remapping, first move ALL of the powermt.custom files to a backup location. # cd /etc # mkdir powermt_dirback # mv powermt.custom* powermt_dirback Reboot host with configuration. # reboot -- -r When the server comes back up. # powercf -q # powermt config # powermt save Then run powermt display and confirm everything is correct, finally save configuration. # powermt display dev=all ;check pseudo names exist e.g. Pseudo name=emcpower20a # powermt display ;check I/O paths match and are optimal |
COMMANDS | |
emcpreg -list | ;see capabilities |
emcpreg -check key | ;check valid |
powercf | ;configure all detected emcpower devices, executed on boot |
powermt config | ;configure all detected logical devices, executed on boot |
powermt display | ;see logical device count, number of paths, errors etc |
powermt display dev=all | ;see pseudo devices, paths alive or dead, errors |
powermt display dev=all every=2 | ;see pseudo devices, paths alive or dead, every 2 seconds |
powermt display ports | ;see status of SP ports |
powermt display paths | ;see status of host paths |
powermt remove | ;removes devices from PowerPath control |
powermt check | ;check each path, if path is dead you will be prompted to remove it |
powermt remove force dev=xxxx | ;force delete of device with dead path |
powermt check force | ;deletes all dead paths |
powermt save | ;saves configuration across reboots /etc/powermt.custom file |
powermt restore | ;manually reconfigures path is dead path passes a test to alive |
powermt set policy=co dev=all | ;set policy on full license for CLARiion to overcome inactive paths due to license bug |
powermt set policy=so dev=all | ;set policy on full license for DMX to overcome inactive paths due to license bug |
powermt set policy=re dev=all | ;set policy on base license to overcome inactive paths due to license bug |
powermt set mode=active dev=all | ;set active mode, only works with Fibre Channel Devices |
powermt display options | ;to display storage class and state, see powermt manage |
powermt manage class=clariion | ;to place storage class under powerpath control, need reboot to take affect |
| |