block devices appear twice [install does not use multipath]
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
curtin |
Fix Released
|
High
|
Unassigned | ||
curtin (Ubuntu) |
Fix Released
|
Critical
|
Unassigned | ||
Trusty |
Fix Released
|
High
|
Unassigned | ||
Utopic |
Won't Fix
|
Undecided
|
Unassigned | ||
Vivid |
Fix Released
|
High
|
Unassigned |
Bug Description
=== 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-
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_
c.) writes /etc/multipath/
[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-
c.) verify that system is booted with root=/dev/
Negative case:
a.) install system with 2 disks without multipath
b.) verify that no multipath-
[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/
multipath:
mode: false
[Other]
Related bugs:
* bug 1432062 : multipath-
* 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-
* 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="
/dev/sda2: UUID="795a6e14-
/dev/sda3: UUID="0a91d81f-
/dev/sdb2: UUID="1d14c1f3-
/dev/sdb3: UUID="9c228177-
/dev/sdg2: UUID="795a6e14-
/dev/sdg3: UUID="0a91d81f-
/dev/sdh2: UUID="1d14c1f3-
/dev/sdh3: UUID="9c228177-
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.
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: linux-image-
ProcVersionSign
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-
Date: Fri Sep 19 14:31:20 2014
HibernationDevice: RESUME=
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_
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcFB: 0 radeondrmfb
ProcKernelCmdLine: root=UUID=
RelatedPackageV
linux-
linux-
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)
Related branches
- curtin developers: Pending requested
-
Diff: 141 lines (+95/-0)3 files modifiedcurtin/block/__init__.py (+53/-0)
curtin/commands/block_meta.py (+5/-0)
curtin/commands/curthooks.py (+37/-0)
Changed in linux (Ubuntu): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu): | |
status: | Confirmed → Invalid |
description: | updated |
description: | updated |
no longer affects: | linux (Ubuntu Trusty) |
summary: |
- block devices appear twice + block devices appear twice [install does not use multipath] |
no longer affects: | multipath-tools (Ubuntu Trusty) |
no longer affects: | multipath-tools (Ubuntu Vivid) |
Changed in curtin: | |
status: | New → Fix Committed |
importance: | Undecided → Medium |
importance: | Medium → High |
no longer affects: | linux (Ubuntu) |
no longer affects: | multipath-tools (Ubuntu) |
description: | updated |
Changed in curtin (Ubuntu Utopic): | |
status: | New → Won't Fix |
description: | updated |
description: | updated |
This change was made by a bot.