[Bug 1075313] Re: no reliable way to boot from iscsi root
Scott Moser
smoser at ubuntu.com
Mon Feb 4 15:02:58 UTC 2013
I'm not really sure when it gets run. Heres the time-line I'm generally
familiar with. The parties involved are kernel, udev, initramfs-tools
and open-iscsi's local-top hook (/usr/share/initramfs-tools/scripts
/local-top/iscsi).
a. initramfs is built
b. kernel boot with set of command line parameters
c. initramfs calls 'local-top' scripts (see initramfs-tools(8))
d. open-iscsi reads kernel parameters, and if parameters are there,
i. starts networking
ii. sets up the iscsi target device
e. something (I'm pretty sure its udev) puts an entry into /dev/by-path for this new device that the kernel knows about. [1]
f. initramfs code takes over again, and calls 'mountroot' which does 'wait-for-root'. wait-for-root blocks for up to 30 seconds for the provided ROOT= device to appear.
We do block for up to 30 seconds, and also there is 'wait_for_udev', so
there should not be any race involved in using this.
So, if the path is consistent/reliable, then this seem safe to me.
--
[1] https://wiki.archlinux.org/index.php/Persistent_block_device_naming#by-id_and_by-path
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to open-iscsi in Ubuntu.
https://bugs.launchpad.net/bugs/1075313
Title:
no reliable way to boot from iscsi root
Status in MAAS:
Confirmed
Status in “open-iscsi” package in Ubuntu:
Triaged
Bug description:
In order to boot from iscsi root via kernel parameters, the user would provide kernel parameters something like:
iscsi_target_name=some-iscsi-target-name iscsi_target_port=3260 iscsi_target_ip=some.host root=LABEL=SOME_LABEL
or potentially the same above but with root=UUID=SOME_UUID.
The issue here is that this both LABEL and UUID could collide with a
local filesystem. Perhaps a previous install left a filesystem
labeled "rootfs" that happened to match the filesystem of the
iscsi_target_name and now using "root=LABEL=rootfs". The same is
possible with UUID.
There needs to be some way to specify explicitly:
root=iscsi_target_name=some-iscsi-target-name that would make the iscsi initialization code guaranteed to boot with the appropriate root device independent of whatever local filesystems might have.
ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: open-iscsi 2.0.873-3ubuntu5
ProcVersionSignature: Ubuntu 3.5.0-17.28-generic 3.5.5
Uname: Linux 3.5.0-17-generic x86_64
ApportVersion: 2.6.1-0ubuntu6
Architecture: amd64
Date: Mon Nov 5 15:25:48 2012
MarkForUpload: True
ProcEnviron:
LANGUAGE=en_US:
TERM=screen
PATH=(custom, no user)
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: open-iscsi
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/maas/+bug/1075313/+subscriptions
More information about the foundations-bugs
mailing list