Pages

Multipath -ll command output in detail


The multipath -ll command shows the current multipath topology, this includes information regarding which path is active, how the paths are grouped, and how the meta-devices will behave in case of a complete path loss

Sample Output is given below
-----------------------------------------------------------------------------------------------------------------------
    diskname (360014380056efd060000d00000510000) dm-3 Vendor,StorageModel
    [size=1.0G][features=1 queue_if_no_path][hwhandler=0][rw]
    \_ round-robin 0 [prio=100][active]
     \_ 0:0:0:1 sda 8:0   [active][ready]
     \_ 1:0:1:1 sdd 8:48  [active][ready]
    \_ round-robin 0 [prio=20][enabled]
     \_ 0:0:1:1 sdb 8:16  [active][ready]
     \_ 1:0:0:1 sdc 8:32  [active][ready]
-----------------------------------------------------------------------------------------------------------------------

Each multipath device is defined using the following format:
-----------------------------------------------------------------------------------------------------------------------
    action_if_any: alias (wwid_if_different_from_alias)
    [size][features][hardware_handler]
------------------------------------------------------------------------------- 



Where:
  • action_if_any: If multipath is performing an action, while running the command this action will be displayed here. An action can be "reload", "create" or "switchpg"
  • alias: is the name of the multipath device as can be found under /dev/mapper/
  • wwid_if_different_from_alias: is the scsi wwid, the unique identifier of the LUN
  • size: is the size of the multipath devices
  • features: is a list of all the options enabled for this multipath device (e.g. queue_if_no_path)
  • hardware_handler: This is 0 if no hardware handler is in use. This is 1 and the name of the hardware handler kernel module in use.
For each path group:

---------------------------------------------------------------------------------------------------------------------- 

\_ scheduling_policy [path_group_priority_if_known] [path_group_status_if_known]

-------------------------------------------------------------------------------
for example:
----------------------------------------------------------------------------------------------------------------------
    \_ round-robin 0 [prio=100][active]
-------------------------------------------------------------------------------
Where:
  • scheduling_policy: is the path selector algorithm in use for this path group
  • path_group_priority_if_known: Each path can have a priority assigned to it by a callout program. Path priorities can be used to group paths by priority and change their relative weights for the algorithm that defines the scheduling policy.
  • path_group_status_if_known: The status of the path can be one of the following:
    • active - Path group currently receiving I/O requests.
    • enabled - Path groups to try if the active path group has no paths in the ready state.
    • disabled - Path groups to try if the active path group and all enabled path groups have no paths in the active state.
For each path:
---------------------------------------------------------------------------------------------------------------------------
    \_ host:channel:id:lun devnode major:minor [dm_status_if_known] [path_status]
----------------------------------------------------------------------------------
for example:
---------------------------------------------------------------------------------------------------------------------------
    \_ 5:0:0:1 sdk 8:160 [active][ready]
----------------------------------------------------------------------------------



Where:
  • host:channel:id:lun: are the SCSI host, channel, id and lun values that identify the LUN
  • devnode: is the name of the device
  • major:minor: the major and minor number of the block device
  • dm_status_if_known: Is similiar to the path status, but from the  kernel's point of view. The dm status has two states: "failed", which is  analogous to "faulty", and "active" which covers all other path states.
  • path_status: the status of the path can be one of the following:
    • ready - Path is able to handle I/O requests.
    • shaky - Path is up, but temporarily not available for normal operations.
    • faulty - Path is unable to handle I/O requests.
    • ghost - Path is a passive path, on an active/passive controller.
  • dm_status_if_known: Is similiar to the path status, but from the kernel's point of view. The dm status has two states:
    • failed - which is analogous to "faulty", and
    • active - which covers all other path states.
 


No comments:

Post a Comment