[Bug 1371634] Re: block devices appear twice [install does not use multipath]
Scott Moser
smoser at ubuntu.com
Mon Jun 22 15:19:39 UTC 2015
** Description changed:
+ === Begin SRU Information ===
+ [Description]
+ When curtin installs to a system that has multipath devices, it does not recognize this and enable them.
+ The result is that a system that has multipath devices installed will have Ubuntu installed to one of the non-multipath paths. The end user is then confused because they see root installed on /dev/sda1 and another device /dev/sdg1 (or other name) that has the same content as /dev/sda1. In addition to this confusion, if the user decides to use /dev/sdg1 and format it, they'll have shot themselves in the foot by destroying their root partition.
+
+ The general solution is to install multipath-tools-boot when the system is detected to have multipath devices. To do this, curtin does:
+ curtin currently does:
+ a.) installs multipath-boot *only* when multipath devices are found, avoiding bug 1463046.
+ b.) writes /etc/multipath.conf to use user_friendly_names, avoiding bug 1432062.
+ c.) writes /etc/multipath/bindings file to provide a consistent named /dev/mapper/mpath name (solving bug 1429327)
+
+ [Impact]
+ Without this fix, most power 8 systems will install to /dev/sda1 and let the user modify /dev/sdg1 (or whatever device name that multipath device appears as). This is not very user friendly, and quite confusing.
+
+ [Test Case]
+ Positive case:
+ a.) install system that has multipath
+ b.) verify that multipath-tools-boot is installed.
+ c.) verify that system is booted with root=/dev/mapper/mpath0-part2
+
+ Negative case:
+ a.) install system with 2 disks without multipath
+ b.) verify that no multipath-tools-boot is installed.
+
+ [Regression Potential]
+ The regression potential falls into 2 places:
+ a.) a system with multipath that installed without multipath fails to install or work after this
+ this is really a bug in multipath in kenrel or the package if we get here. We've done fairly significant testing to show that we're reliably installing.
+
+ b.) a system without multipath is identified as multipath
+ The detection of multipath basically consists of looking for 2 devices that have a filesystem with the same UUID on them after creating a filesystem with that UUID. This is essentially not more than a check for a random sequence of bytes on all disks rather than a fully determinable identification of multipath. So, the failure case is:
+ 1.) we install to system and 'mkfs' the root partition
+ 2.) we find 2 disks that have the same UUID as the root device (the root device and one other)
+ In all likelyhood, that would mean that a filesytem with this UUID already existed on the system. That seems quite unlikley.
+
+ In the event that the user does not have multipath systems and just wants to disable multipath to avoid that scenario, they can do so by config in maas setting the following in /etc/maas/preseeds/curtin_userdata will disable multipath and boot quite reliably without multipath.
+ multipath:
+ mode: false
+
+ [Other]
+ Related bugs:
+ * bug 1432062 : multipath-tools-boot: support booting without user_friendly_names on devices with spaces in identifiers
+ * bug 1463043 : some SM15K systems fail to boot after deployment - drop into initramfs shell
+ * bug 1462530 : multipath errors on vivid, wily kernel
+ * bug 1463046 : installation of multipath-tools-boot can break boot
+ * bug 1447167 : [d-i] multipath-install: Installing with multipath enabled does not install multipath-tools
+ * bug 1429327 : Boot from an unique, stable, multipath-dependent symlink
+
+ === End SRU Information ===
+
+ === Original bug report ===
$ sudo blkid
/dev/sr0: LABEL="Ubuntu-Server 14.04 LTS ppc64el" TYPE="iso9660"
/dev/sda2: UUID="795a6e14-ea4e-4718-9e98-c6df3696920c" TYPE="ext4"
/dev/sda3: UUID="0a91d81f-6a16-4b96-a92c-11ca8bdc4bf4" TYPE="swap"
/dev/sdb2: UUID="1d14c1f3-716f-4fb8-9070-d321b39ffcb3" TYPE="ext4"
/dev/sdb3: UUID="9c228177-d65c-4d19-a462-db1891e9781e" TYPE="swap"
/dev/sdg2: UUID="795a6e14-ea4e-4718-9e98-c6df3696920c" TYPE="ext4"
/dev/sdg3: UUID="0a91d81f-6a16-4b96-a92c-11ca8bdc4bf4" TYPE="swap"
/dev/sdh2: UUID="1d14c1f3-716f-4fb8-9070-d321b39ffcb3" TYPE="ext4"
/dev/sdh3: UUID="9c228177-d65c-4d19-a462-db1891e9781e" TYPE="swap"
I'm not sure what exactly those block devices are (as in if they're
raided in hardware or they actually represent physical spinning disks).
But I do know that writing data to sda causes that data to be readable
from sdg.
The same is true:
sda -> sdg
sdb -> sdh
That is what causes those UUIDs to be similar. Everything is
functional, you just have to know that if your root device is /dev/sdg
that you should probably not write data to /dev/sda thinking you can use
it as a disk.
-
- Related bugs:
- * bug 1432062 : multipath-tools-boot: support booting without user_friendly_names on devices with spaces in identifiers
- * bug 1463043 : some SM15K systems fail to boot after deployment - drop into initramfs shell
- * bug 1462530 : multipath errors on vivid, wily kernel
- * bug 1463046 : installation of multipath-tools-boot can break boot
- * bug 1447167 : [d-i] multipath-install: Installing with multipath enabled does not install multipath-tools
- * bug 1429327 : Boot from an unique, stable, multipath-dependent symlink
-
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: linux-image-3.13.0-35-generic 3.13.0-35.62
ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
Uname: Linux 3.13.0-35-generic ppc64le
AlsaDevices: Error: command ['ls', '-l', '/dev/snd/'] failed with exit code 2: ls: cannot access /dev/snd/: No such file or directory
AplayDevices: Error: [Errno 2] No such file or directory: 'aplay'
ApportVersion: 2.14.1-0ubuntu3.4
Architecture: ppc64el
ArecordDevices: Error: [Errno 2] No such file or directory: 'arecord'
CRDA: Error: [Errno 2] No such file or directory: 'iw'
CurrentDmesg: [ 88.736220] init: plymouth-upstart-bridge main process ended, respawning
Date: Fri Sep 19 14:31:20 2014
HibernationDevice: RESUME=UUID=9c228177-d65c-4d19-a462-db1891e9781e
Lsusb:
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
ProcEnviron:
TERM=screen
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcFB: 0 radeondrmfb
ProcKernelCmdLine: root=UUID=1d14c1f3-716f-4fb8-9070-d321b39ffcb3 ro console=hvc0 BOOTIF=01-6c-ae-8b-6a-a0-88 quiet
RelatedPackageVersions:
linux-restricted-modules-3.13.0-35-generic N/A
linux-backports-modules-3.13.0-35-generic N/A
linux-firmware 1.127.6
RfKill: Error: [Errno 2] No such file or directory: 'rfkill'
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to curtin in Ubuntu.
https://bugs.launchpad.net/bugs/1371634
Title:
block devices appear twice [install does not use multipath]
To manage notifications about this bug go to:
https://bugs.launchpad.net/curtin/+bug/1371634/+subscriptions
More information about the Ubuntu-server-bugs
mailing list