• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer navigation

The Geek Diary

  • OS
    • Linux
    • CentOS/RHEL
    • Solaris
    • Oracle Linux
    • VCS
  • Interview Questions
  • Database
    • oracle
    • oracle 12c
    • ASM
    • mysql
    • MariaDB
  • DevOps
    • Docker
    • Shell Scripting
  • Big Data
    • Hadoop
    • Cloudera
    • Hortonworks HDP

Process are stuck in D-state due to multipathd

by admin

For multipaths with queueing enabled and with all paths down, the kernel will store submitted IOs in a queue and resubmit them upon path recovery. Process submitting IOs to these multipath are stuck in D-state (uninterruptible sleep). The ‘no_path_retry 4‘ multipath parameter will instruct the kernel to unplug the queue after 4 failed path-tests.

Unplugging the queue will fail all stored IOs. If the outage will last, the admin might wish to unplug the queues right-away. The following multipathd CLI command does just that:

The following commands can be used in interactive mode “multipathd -k”.

– mode disable queueing maps|multipaths
– Disable queueing on all multipath devices.
– restore queueing maps|multipaths
– Restore queueing on all multipath devices.
– Original situation gets restored with enable queueing maps

[root@~]# multipathd -k
multipathd> disablequeueing m
map maps multipath multipaths
multipathd> disablequeueing maps

multipathd –k: Puts your session into interactive mode. Commands can be used to list the current configuration or to change the configuration. For example, lists the current configuration, and gets the latest configuration from the configuration file (etc/multipath.conf).

list|show paths:- Show the paths that multipathd is monitoring, and their state.

multipathd> show paths
hcil dev dev_t pri dm_st chk_st dev_st next_check
0:0:0:0 sda 8:0 1 undef ready running orphan
#:#:#:# pgpwde 253:0 -1 undef faulty running orphan
6:0:0:7 sdc 8:32 1 active ready running XXXXXXXXX. 19/20
multipathd>
# multipathd -k "show paths"
hcil dev dev_t pri dm_st chk_st dev_st next_check
0:2:1:0 sdb 8:16 1 active ready running XXXXXX.... 12/20
7:0:0:0 sdc 8:32 1 undef ready running orphan
12:0:0:2 sdf 8:80 50 active ready running XXXXXXXXXX 20/20
12:0:0:1 sde 8:64 50 active ready running XXXXXXXXXX 20/20
12:0:0:3 sdg 8:96 50 active ready running XXXXXXXXXX 20/20
12:0:0:0 sdd 8:48 50 active ready running XXXXXXXXXX 20/20
13:0:0:1 sdh 8:112 50 active ready running .......... 1/20
[root@ovcacn12r1 ~]#

list|show status: Show the number of monitored paths in each path checker state.

multipathd> show status
path checker states:
down 1
up 2

paths: 1
busy: False
multipathd>

list|show maps: Show the multipath devices that the multipathd is monitoring.

multipathd> show maps
name sysfs uuid
mpathk dm-8 3600144f0f1f283fa000058e3b573000a
multipathd>
# multipathd -k"show maps"
name sysfs uuid
3600605b00a15ddc020260a750a6e5b93 dm-0 3600605b00a15ddc020260a750a6e5b93
3600144f0adb8c09200005547f5bd0003 dm-1 3600144f0adb8c09200005547f5bd0003
3600144f0b5d60bb10000587005a10003 dm-2 3600144f0b5d60bb10000587005a10003
3600144f0b5d60bb1000058766e74000a dm-3 3600144f0b5d60bb1000058766e74000a
3600144f0adb8c09200005547f5e80004 dm-4 3600144f0adb8c09200005547f5e80004

list|show topology: Show the current multipath topology. Same as “multipath -ll”.

multipathd> show topology
create: mpathk (3600144f0f1f283fa000058e3b573000a) dm-8 SUN ,ZFS Storage 7120
size=999G features='0' hwhandler='0' wp=rw
'-+- policy='service-time 0' prio=1 status=active
'- 6:0:0:7 sdc 8:32 active ready running
multipathd>

list|show wildcards: Show the format wildcards used in interactive commands taking $format:

multipathd> show wildcards
multipath format wildcards:
%n name
%w uuid
%d sysfs
%F failback
%Q queueing
%N paths
%r write_prot
%t dm-st
%S size
%f features
%h hwhandler
%A action
%0 path_faults
%1 switch_grp
%2 map_loads
%3 total_q_time
%4 q_timeouts
%s vend/prod/rev

path format wildcards:
%w uuid
%i hcil
%d dev
%D dev_t
%t dm_st
%o dev_st
%T chk_st
%s vend/prod/rev
%c checker
%C next_check
%p pri
%S size
%z serial
%m multipath
%N host WWNN
%n target WWNN
%R host WWPN
%r target WWPN
%a host adapter

pathgroup format wildcards:
%s selector
%p pri
%t dm_st
multipathd>

list|show config: Show the currently used configuration, derived from default values and values specified within the configuration file /etc/multipath.conf.

list|show blacklist: Show the currently used blacklist rules, derived from default values and values specified within the configuration file /etc/multipath.conf.

multipathd> show blacklist
device node rules:
- blacklist:
(config file rule) ^(sdb|ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*
(config file rule) ^hd[a-z]
(default rule) ^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*
(default rule) ^(td|hd|vd)[a-z]
(default rule) ^dcssblk[0-9]*
- exceptions:
[empty]
wwid rules:
- blacklist:
(config file rule) 26353900f02796769
- exceptions:
[empty]
device rules:
- blacklist:
(default rule) DGC:LUNZ
(default rule) EMC:LUNZ
(default rule) IBM:Universal Xport
(default rule) IBM:S/390.*
(default rule) DELL:Universal Xport
(default rule) SGI:Universal Xport
(default rule) STK:Universal Xport
(default rule) SUN:Universal Xport
(default rule) (NETAPP|LSI|ENGENIO):Universal Xport
- exceptions:
[empty]
multipathd>

list|show devices: Show all available block devices by name including the information if they are blacklisted or not.

multipathd> show devices
available block devices:
sda devnode whitelisted, monitored
sdb devnode blacklisted, unmonitored
sdc devnode whitelisted, monitored
dm-0 devnode blacklisted, unmonitored
dm-1 devnode blacklisted, unmonitored
dm-2 devnode blacklisted, unmonitored
dm-3 devnode blacklisted, unmonitored
dm-4 devnode blacklisted, unmonitored
dm-5 devnode blacklisted, unmonitored
dm-6 devnode blacklisted, unmonitored
dm-7 devnode blacklisted, unmonitored
dm-8 devnode blacklisted, unmonitored
dm-9 devnode blacklisted, unmonitored
pgpwde devnode whitelisted, monitored

list | fail path $path: Sets path $path into failed state.

multipathd> fail path $path
fail
multipathd>

For more information about multipathd command use the help subcommnad:

# multipathd -k"help"

Filed Under: CentOS/RHEL

Some more articles you might also be interested in …

  1. ping not working on a Newly Built CentOS/RHEL server
  2. How to Stop “sudo” from Sending Emails on Failures in CentOS/RHEL
  3. Error: Can’t open display: hostname:x.y when running xclock
  4. How to Convert a Directory to Partition in Linux
  5. Hostname change not reflecting in sar report for CentOS/RHEL
  6. How to Migrate virtual machines from one host to another in the Red Hat Virtualization environment
  7. How to calculate recommended value of vm.min_free_kbytes Kernel Tuning Parameter
  8. How To Enforce Password Complexity For All Users, Including “root”, By Using the “passwdqc” PAM Module CentOS/RHEL
  9. How To Change Engine Database Password for RHVM Engine
  10. CentOS/RHEL7 – Tuned Profiles Oracle

You May Also Like

Primary Sidebar

Recent Posts

  • protonvpn-cli Command Examples in Linux
  • protonvpn-cli connect Command Examples
  • procs Command Examples in Linux
  • prlimit: command not found

© 2023 · The Geek Diary

  • Archives
  • Contact Us
  • Copyright