cluster compute instances do not see ephemeral storage

Bug #690286 reported by Scott Moser
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

I just booted our first hvm (cluster compute) instance:
  us-east-1 ami-2470864d canonical hvm/ubuntu-natty-daily-amd64-server-20101214

I was able to ssh in, but it is missing ephemeral storage devices:

$ cat /proc/partitions
major minor #blocks name

   8 0 8388608 sda
   8 1 8377897 sda1

There should be 2 other block devices totalling 1690 G.

On a amazon created CentOS image (ami-aa30c7c3 "EC2 CentOS 5.5 GPU HVM AMI"), we see:
major minor #blocks name

   3 0 20971520 hda
   3 1 104391 hda1
   3 2 20860402 hda2
 253 0 10715136 dm-0
 253 1 10125312 dm-1
 202 16 880736768 xvdb
 202 32 880736768 xvdc

Note, that in order to boot, I have added 'xen_emul_unplug=unnecessary' to the command line.

That may be causing part of the problem . That argument was added without testing its necessity but due to seeing bug 684875.

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: linux-image-2.6.37-9-virtual 2.6.37-9.22
Regression: No
Reproducible: Yes
ProcVersionSignature: User Name 2.6.37-9.22-virtual 2.6.37-rc5
Uname: Linux 2.6.37-9-virtual x86_64
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
Architecture: amd64
ArecordDevices: Error: [Errno 2] No such file or directory
CurrentDmesg: [ 19.560109] eth0: no IPv6 routers present
Date: Tue Dec 14 18:20:24 2010
Ec2AMI: ami-2470864d
Ec2AMIManifest: (unknown)
Ec2AvailabilityZone: us-east-1b
Ec2InstanceType: cc1.4xlarge
Ec2Kernel: unavailable
Ec2Ramdisk: unavailable
Lsusb: Error: command ['lsusb'] failed with exit code 1:
MachineType: Xen HVM domU
PciMultimedia:

ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.37-9-virtual root=UUID=38acefdd-ec07-4419-82dc-6a9d8af657f0 ro console=ttyS0 xen_emul_unplug=unnecessary
SourcePackage: linux
dmi.bios.date: 04/14/2010
dmi.bios.vendor: Xen
dmi.bios.version: 3.4.2
dmi.chassis.type: 1
dmi.chassis.vendor: Xen
dmi.modalias: dmi:bvnXen:bvr3.4.2:bd04/14/2010:svnXen:pnHVMdomU:pvr3.4.2:cvnXen:ct1:cvr:
dmi.product.name: HVM domU
dmi.product.version: 3.4.2
dmi.sys.vendor: Xen

Revision history for this message
Scott Moser (smoser) wrote :
Revision history for this message
Scott Moser (smoser) wrote :
Revision history for this message
Scott Moser (smoser) wrote :

see attachment in comment 2. If you boot without xen_emul_unplug=unnecessary , then kernel doesn't find root device.

Revision history for this message
Jeremy Foshee (jeremyfoshee) wrote :

Hi Scott,

If you could also please test the latest upstream kernel available that would be great. It will allow additional upstream developers to examine the issue. Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag. This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text. Please let us know your results.

Thanks in advance.

    [This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

tags: added: kj-triage
Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
Nick Barcet (nijaba)
Changed in linux (Ubuntu):
status: Expired → Confirmed
status: Confirmed → Incomplete
Revision history for this message
Scott Moser (smoser) wrote :

I'm marking this as 'Invalid'. As it surely seems to me that this is not a bug in the kernel or in the ec2 publishing scripts, but rather on Amazon's side (with ec2-register of hvm types and accepting the block-device-mapping arguments). Below is pasted a message I sent to ubuntu-cloud on the topic.

It seems to me, that this is a bug on amazon's side. When we register
images (with code at [1]), we do so with '--block-device-mapping' flags,
so that a single ephemeral device will be present by default.

It looks like that does not work for hvm instance types. Unless there is
a bug that I'm not seeing in the code there, we' *are* invoking
ec2-register for hvm types with:
  --block-device-mapping /dev/sdb=ephemeral0
  --block-device-mapping /dev/sdc=ephemeral1

I just tested, and, using
  us-east-1 ami-1cad5275 hvm/ubuntu-natty-11.04-amd64-server-20110426

and different arguments for block-device-mapping to ec2-run-instances:
- fails: <no block-device-mapping args>
- works:
  --block-device-mapping sdb=ephemeral0 --block-device-mapping sdc=ephemeral1
- works:
  --block-device-mapping /dev/sdb=ephemeral0 --block-device-mapping /dev/sdc=ephemeral1

So, in short, use one of the above 2 block-device-mapping arguments if you
want ephemeral storage to be seen.

When I launch instances with ec2-run-instances, I use the code snippit at [2]
to get the right block-device-mapping flags. See [3] for more info.

--
[1] http://bazaar.launchpad.net/~ubuntu-on-ec2/ubuntu-on-ec2/ec2-publishing-scripts/view/head:/ec2-image2ebs
[2] https://gist.github.com/809587
[3] http://ubuntu-smoser.blogspot.com/2011/02/getting-ephemeral-devices-on-ebs-images.html

Changed in linux (Ubuntu):
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.