[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