[Bug 686832] Re: multipath-tools-boot, root mount failed - Device or resource busy

Serge Hallyn 686832 at bugs.launchpad.net
Mon Jan 10 18:11:25 UTC 2011


** Description changed:

+ SRU Justification:
+ 1. Impact: servers with multipath-tools-boot installed cannot mount root on boot
+ 2. How bug addressed: The initramfs local-top script for multipath-tools waits for udev to handle all device renames resulting from multipath starting up before continuing on to mountroot.
+ 3. Patch: is attached as a debdiff
+ 4. To reproduce: install a server with multipath storage controller, install multipath-tools-boot, and reboot.
+ 5. Regression potential: the fix is localized to an initramfs script shipped with multipath-tools-boot, so if there are regressions they should only affect multipath users, who cannot boot without some fix anyway.
+ 
  Binary package hint: multipath-tools-boot
  
  After installing "multipath-tools-boot", initramfs fails to mount /root
  by uuid with error: "failed: Device or resource busy".  And boot process
  falls into (initramfs) prompt.
  
  **Boot/Screen Output:**
  Begin: Running /scripts/local-premount ... done.
  mount: mounting /dev/disk/by-uuid/082f71b9-47dc-4d4b-bdfa-d5ca61f1e045 on /root
  failed: Device or resource busy
  Begin: Running /scripts/local-bottom ... done.
  done.
  <....> other failure messages mounting (dev, sys, proc, etc.) <....>
- (initramfs) 
- 
+ (initramfs)
  
  **Further Debugging & Info:**
  Procedures & commands, run shortly after (initramfs) prompt appears.
  (initramfs) ls -l /dev/disk/by-uuid/
  lrwxrwxrwx    1       10 082f71b9-47dc-4d4b-bdfa-d5ca61f1e045 -> ../../dm1
  [ This appears correct!?! ]
  
  (initramfs) mount /dev/disk/by-uuid/082f71b9-47dc-4d4b-bdfa-d5ca61f1e045 /root
  [ SUCCESS ! ]
- 
  
  **WORKAROUND:**
  I have created an initramfs script to slow-down the root mounting attempt:
  
  File: /usr/share/initramfs-tools/scripts/local-top/waitfor-multipath
  Content:
  #!/bin/sh
  VERBOSITY=0
  PREREQ="multipath"
  prereqs() { echo "$PREREQ"; }
  case $1 in
  prereqs)
- 	prereqs
- 	exit 0
- 	;;
+  prereqs
+  exit 0
+  ;;
  esac
  
  echo "Waiting 5 seconds for multipaths & udev?? to settle down..."
  sleep 5
  exit 0
  <----END---->
  
  My guess for a general/global bug-fix is multipath-tools-boot script to
  include a slight delay/hold-down timer; to allow outside device-mapping
  procedures to complete.  ..or a confirmation that dm devices have
  finished mapping.
  
- 
  **Observations:**
  It appears multipath-tools-boot initramfs script executes successfully VERY quickly, and initramfs scripts continue with attempting to mount the root file system.  Although, dm-# /dev/disk/by-uuid mappings are not instantly ready.  This is why manually typing the same mount command at prompt is immediately successful.
  
  _To duplicate error in a non-boot scenario:_
  This exact same behavior can be observed & duplicated on running servers; when mounting a multipath (SAN) volume.  As example; mounting multipath-SAN targets will create: /dev/sda, /dev/sdb, /dev/sdc, etc....   And multipath-tools+devmapper will then create the shared/linked /dev/dm-# mappings.  You are then only supposed to use the /dev/dm-# virtual devices to access multipathed SAN devices (multipaths.)
  
  .... If you then attempt to mount a direct SAN volume /dev/sd?# an error
  is raised: "mount: /dev/sd?# already mounted or /<mount_point> busy"
  
- 
  **Software & Versions:**
-  OS: Ubuntu 10.10 (Maverick - server)
-  Related Packages & versions:
-   multipath-tools  0.4.8-14ubuntu4
-   multipath-tools-boot  0.4.8-14ubuntu4
-   udev  162-2.1
-   initramfs-tools  0.98.1ubuntu6
-   initramfs-tools-bin  0.98.1ubuntu6
-   open-iscsi  2.0.871-0ubuntu5
-   open-iscsi-utils  2.0.871-0ubuntu5
-   libdevmapper1.02.1  2:1.02.39-1ubuntu6
+  OS: Ubuntu 10.10 (Maverick - server)
+  Related Packages & versions:
+   multipath-tools  0.4.8-14ubuntu4
+   multipath-tools-boot  0.4.8-14ubuntu4
+   udev  162-2.1
+   initramfs-tools  0.98.1ubuntu6
+   initramfs-tools-bin  0.98.1ubuntu6
+   open-iscsi  2.0.871-0ubuntu5
+   open-iscsi-utils  2.0.871-0ubuntu5
+   libdevmapper1.02.1  2:1.02.39-1ubuntu6
  
  **Hardware Details:**
-  Servers affected: HP Proliant DL385 (G5, G5p, G6) (and others I'm sure.)
-  Storage/SAN Type: iSCSI
-  Storage/SAN Hardware: HP StorageWorks MSA2312i (and others I'm sure.)
-  
-  This problem affects servers with iSCSI-boot NICs, AND servers which have a USB-Key with /boot partition.
+  Servers affected: HP Proliant DL385 (G5, G5p, G6) (and others I'm sure.)
+  Storage/SAN Type: iSCSI
+  Storage/SAN Hardware: HP StorageWorks MSA2312i (and others I'm sure.)
  
+  This problem affects servers with iSCSI-boot NICs, AND servers which
+ have a USB-Key with /boot partition.
  
  Please let me know if more information is necessary!

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to multipath-tools in ubuntu.
https://bugs.launchpad.net/bugs/686832

Title:
  multipath-tools-boot, root mount failed - Device or resource busy



More information about the Ubuntu-server-bugs mailing list