cluster compute instances do not see ephemeral storage

Bug #690286 reported by Scott Moser on 2010-12-14
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
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

Scott Moser (smoser) wrote :
Scott Moser (smoser) wrote :

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

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
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) on 2011-06-01
Changed in linux (Ubuntu):
status: Expired → Confirmed
status: Confirmed → Incomplete
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  Edit
Everyone can see this information.

Other bug subscribers