SDD (subsystem device driver):
It designed to support the multipath configuration in the ESS.
The software used to balance ESS I/O traffic across all adapters. It provides multiple access to data from the host.
when using sdd cfgmgr is run 3 times (cfgmgr -l fcs0, cfgmgr -l fcs1, cfgmgr (the third one builds the vpaths))
3 policies exist for load balancing:
-default: selecting the path with the least number of current I/O operations
-round robin: choosing the path, that was not used for the last operation (alternating if 2 pathes exist)
-failover: all I/O sent ove the most preferred path, until a failure is detected.
SDDSRV:
SDD has a server daemon running in the background: lssrc/stopsrc/startsrc -s sddsrv
If sddsrv is stopped, the feature that automatically recovers failed paths disabled.
vpath:
A logical disk defined in ESS and recognized by AIX. AIX uses vpath instead of hdisk as a unit of physical storage.
root@aix40: /dev # lsattr -El vpath0
active_hdisk hdisk20/00527461/fscsi1 Active hdisk False
active_hdisk hdisk4/00527461/fscsi0 Active hdisk False
policy df Scheduling Policy True <-path selection policy
pvid 0056db9a77baebb90000000000000000 Physical volume identifier False
qdepth_enable yes Queue Depth Control True
serial_number 00527461 LUN serial number False
unique_id 1D080052746107210580003IBMfcp Device Unique Identification False
policy:
fo: failover only - all I/O operations sent to the same paths until the path fails
lb: load balancing - the path is chosen by the number of I/O operations currently in process
lbs: load balancing sequential - same as before with optimization for sequential I/O
rr: round ropbin - path is chosen at random from the not used paths
rrs: round robin sequential - same as before with optimization for sequential I/O
df: default - the default policy is load balancing
datapath set device N policy change the SDD path selection policy dynamically
DPO (Data Path Optimizer):
it is a pseudo device (lsdev | grep dpo), which is the pseudo parent of the vpaths
root@aix40: / # lsattr -El dpo
SDD_maxlun 1200 Maximum LUNS allowed for SDD False
persistent_resv yes Subsystem Supports Persistent Reserve Command False
--------------------------------
software requirements for SDD:
-host attachment for SDD (ibm2105.rte, devices.fcp.disk.ibm.rte) - this is the ODM extension
The host attachments for SDD add 2105 (ESS)/2145 (SVC)/1750 (DS6000)/2107 (DS8000) device information to allow AIX to properly configure 2105/2145/1750/2107 hdisks.
The 2105/2145/1750/2107 device information allows AIX to:
- Identify the hdisk(s) as a 2105/2145/1750/2107 hdisk.
- Set default hdisk attributes such as queue_depth and timeout values.
- Indicate to the configure method to configure 2105/2145/1750/2107 hdisk as non-MPIO-capable devices
ibm2105.rte: for 2105 devices
devices.fcp.disk.ibm.rte: for DS8000, DS6000 and SAN Volume Controller)
-devices.sdd.53.rte - this is the driver (sdd)
it provides the multipath configuration environment support
--------------------------------
addpaths dynamically adds more paths to SDD vpath devices (before addpaths, run cfgmgr)
(running cfgmgr alone does not add new paths to SDD vpath devices)
cfgdpo configures dpo
cfgvpath configures vpaths
cfallvpath configures dpo+vpaths
dpovgfix <vgname> fixes a vg that has mixed vpath and hdisk physical volumes
extenfvg4vp this can be used insteadof extendvg (it will move pvid from hdisk to vpath)
datapath query version shows sdd version
datapath query essmap shows vpaths and their hdisks in a list
datapath query portmap shows vpaths and ports
---------------------------------------
datapath query adapter information about the adapters
State:
-Normal adapter is in use.
-Degraded one or more paths are not functioning.
-Failed the adapter is no longer being used by SDD.
datapath query device information about the devices 8datapath query device 0)
State:
-Open path is in use
-Close path is not being used
-Failed due to errors path has been removed from service
-Close_Failed path was detected to be broken and failed to open when the device was opened
-Invalid path is failed to open, but the MPIO device is opened
---------------------------------------
datapath remove device X path Y removes path# Y from device# X (datapath query device, will show X and Y)
datapath set device N policy change the SDD path selection policy dynamically
datapath set adapter 1 offline
lsvpcfg list vpaths and their hdisks
lsvp -a displays vpath, vg, disk informations
lquerypr reads and releases the persistent reservation key
lquerypr -h/dev/vpath30 queries the persistent resrevation on the device (0:if it is reserved by current host, 1: if another host)
lquerypr -vh/dev/vpath30 query and display the persistent reservation on a device
lquerypr -rh/dev/vpath30 release the persisten reservation if the device is reserved by the current host
(0: if the command succeeds or not reserved, 2: if the command fails)
lquerypr -ch/dev/vpath30 reset any persistent reserve and clear all reservation key registrations
lquerypr -ph/dev/vpath30 remove the persisten reservation if the device is reserved by another host
---------------------------------------
Removing SDD (after install a new one):
-umount fs on ESS
-varyoffvg
(if HACMP and RG is online on other host: vp2hd <vgname>) <--it converts vpaths to hdisks)
-rmdev -dl dpo -R <--removes all the SDD vpath devices
-stopsrc -s sddsrv <--stops SDD server
-if needed: rmdev -dl hdiskX <--removes hdisks
(lsdev -C -t 2105* -F name | xargs -n1 rmdev -dl)
-smitty remove -- devices.sdd.52.rte
-smitty install -- devices.sdd.53.rte (/mnt/Storage-Treiber/ESS/SDD-1.7)
-cfgmgr
---------------------------------------
Removing SDD Host Attachment:
-lsdev -C -t 2105* -F name | xargs -n1 rmdev -dl <--removes hdisk devices
-smitty remove -- ibm2105.rte (devices.fcp.disk.ibm)
---------------------------------------
Change adapter settings (Un/re-configure paths):
-datapath set adapter 1 offline
-datapath remove adapter 1
-rmdev -Rl fcs0
(if needed: for i in `lsdev -Cc disk | grep -i defined | awk '{ print $1 }'`; do rmdev -Rdl $i; done)
-chdev -l fscsi0 -a dyntrk=yes -a fc_err_recov=fast_fail
-chdev -l fcs0 -a init_link=pt2pt
-cfgmgr; addpaths
---------------------------------------
Reconfigure vpaths:
-datapath remove device 2 path 0
-datapath remove device 1 path 0
-datapath remove device 0 path 0
-cfgmgr; addpaths
-rmdev -Rdl vpath0
-cfgmgr;addpaths
---------------------------------------
Can't give pvid for a vpath:
root@aix40: / # chdev -l vpath6 -a pv=yes
Method error (/usr/lib/methods/chgvpath):
0514-047 Cannot access a device.
in errpt:DEVICE LOCKED BY ANOTHER USER
RELEASE DEVICE PERSISTENT RESERVATION
# lquerypr -Vh /dev/vpath6 <--it will show the host key
# lquerypr -Vph /dev/vpath6 <--it will clear the reservation lock
# lquerypr -Vh /dev/vpath6 <--checking again will show it is OK now
2 comments:
Could you please explain briefly about vpath and what is the difference between MPIO and vpath.
Regards,
Siva
Hi Siva,
If you check a little above on this page, you will find a brief description about vpath.
MPIO description can be found at my blog: Main Menu -> Storage -> MPIO
Regards,
Balazs
Post a Comment