[one-users] Failure to launch Xen VM

Steven Timm timm at fnal.gov
Tue Jan 18 14:08:14 PST 2011


It's obvious once you figure it out.
When you install a xen kernel on top of a running KVM VM, it
thinks you are on the xen dom0 and configures grub accordingly,
i.e. to boot a hypervisor xen.gz instead of just the paravirtualized
xen kernel.
Once grub is configured directly for a xen client and
an appropriate ramdisk is found that seeks sda via the xen_blk device
and not the real hardware sda, all is well.

Steve


On Tue, 18 Jan 2011, Steven Timm wrote:

> Now getting
>
> [root at fcl010 xen]# xm create -c test
> Using config file "./test".
> Error: (2, 'Invalid kernel', "elf_xen_note_check: ERROR: Not a Xen-ELF image: 
> No ELF notes or '__xen_guest' section found.\n")
>
> Any idea what might be happening here?
>
> Steve
>
>
> On Tue, 18 Jan 2011, Steven Timm wrote:
>
>> The error of "ELF image has no shstrtab" happens
>> when you try to get paravirtualized xen to boot a non-Xen kernel
>> which was the default kernel in grub.conf.
>> Now trying to figure out what is wrong with the vmlinuz/initrd
>> combo of my actual Xen kernel.
>> 
>> Steve
>> 
>> 
>> On Tue, 18 Jan 2011, Steven Timm wrote:
>> 
>>> Now I get the following error:
>>> 
>>> Tue Jan 18 15:08:35 2011 [VMM][I]: Command execution fail: 
>>> /tmp/one/vmm/xen/deploy /var/lib/one/258/images/deployment.0
>>> Tue Jan 18 15:08:35 2011 [VMM][I]: STDERR follows.
>>> Tue Jan 18 15:08:35 2011 [VMM][I]: Warning: No xauth data; using fake 
>>> authentication data for X11 forwarding.
>>> Tue Jan 18 15:08:35 2011 [VMM][I]: Error: (2, 'Invalid kernel', 
>>> 'xc_dom_parse_elf_kernel: ELF image has no shstrtab\n')
>>> Tue Jan 18 15:08:35 2011 [VMM][I]: ExitCode: 1
>>> Tue Jan 18 15:08:35 2011 [VMM][E]: Error deploying virtual machine
>>> Tue Jan 18 15:08:35 2011 [DiM][I]: New VM state is FAILED
>>> Tue Jan 18 15:08:45 2011 [TM][W]: Ignored: LOG - 258 tm_delete.sh: 
>>> Deleting /var/lib/one/258/images
>>> 
>>> Tue Jan 18 15:08:45 2011 [TM][W]: Ignored: LOG - 258 tm_delete.sh: 
>>> Executed "/usr/bin/ssh fcl010 rm -rf /var/lib/one/258/images".
>>> 
>>> Tue Jan 18 15:08:45 2011 [TM][W]: Ignored: TRANSFER SUCCESS 258
>>> 
>>> ----------------------
>>> My question is the following--it looks like from the dump below, the
>>> xen is trying to boot with a kernel and ramdisk in dom0
>>> even though I specified bootloader=/usr/bin/pygrub and wanted
>>> it to take the xen kernel from inside the image.  Are there
>>> other things I need to do to make that happen?  I am presuming
>>> that if I specify a KERNEL= and RAMDISK= in the template
>>> then it will try to find those kernel and ramdisk in dom0.
>>> 
>>> These are the relevant entries from my template
>>> 
>>> OS      =   [ bootloader = "/usr/bin/pygrub" ]
>>> 
>>> DISK   = [ image = "cloudmysql-hybrid" ]
>>> 
>>> 
>>> Steve Timm
>>> 
>>> 
>>> 
>>> ----------------------------
>>> Here is the dump of the xend log from the VM host:
>>> 
>>> 
>>> [2011-01-18 15:08:35 xend.XendDomainInfo 5136] DEBUG (XendDomainInfo:207) 
>>> XendDo
>>> mainInfo.create(['vm', ['name', 'one-258'], ['memory', '2048'], ['vcpus', 
>>> '2'],
>>> ['bootloader', '/usr/bin/pygrub'], ['image', ['linux', ['ramdisk', 
>>> '/var/lib/xen
>>> /boot_ramdisk.zm8X_R'], ['kernel', '/var/lib/xen/boot_kernel.A0CMTy'], 
>>> ['args',
>>> 'ro root=LABEL=/ console=xvc0']]], ['device', ['tap', ['uname', 
>>> 'tap:aio:/var/li
>>> b/one/258/images/disk.0'], ['dev', 'sda'], ['mode', 'w']]], ['device', 
>>> ['tap', [
>>> 'uname', 'tap:aio:/var/lib/one/258/images/disk.1'], ['dev', 'sdb'], 
>>> ['mode', 'w'
>>> ]]], ['device', ['tap', ['uname', 
>>> 'tap:aio:/var/lib/one/258/images/disk.2'], ['d
>>> ev', 'sdc'], ['mode', 'w']]], ['device', ['tap', ['uname', 
>>> 'tap:aio:/var/lib/one
>>> /258/images/disk.3'], ['dev', 'hdc'], ['mode', 'r']]], ['device', ['vif', 
>>> ['brid
>>> ge', 'xenbr0'], ['mac', '00:16:3E:02:03:04']]], ['device', ['vkbd']], 
>>> ['device',
>>> ['vfb', ['vnclisten', '127.0.0.1'], ['type', 'vnc'], ['vncdisplay', '14'], 
>>> ['di
>>> splay', 'localhost:11.0'], ['xauthority', '/var/lib/one/.Xauthority']]]])
>>> [2011-01-18 15:08:35 xend.XendDomainInfo 5136] DEBUG (XendDomainInfo:329) 
>>> parseC
>>> onfig: config is ['vm', ['name', 'one-258'], ['memory', '2048'], ['vcpus', 
>>> '2'],
>>> ['bootloader', '/usr/bin/pygrub'], ['image', ['linux', ['ramdisk', 
>>> '/var/lib/xe
>>> n/boot_ramdisk.zm8X_R'], ['kernel', '/var/lib/xen/boot_kernel.A0CMTy'], 
>>> ['args',
>>> 'ro root=LABEL=/ console=xvc0']]], ['device', ['tap', ['uname', 
>>> 'tap:aio:/var/l
>>> ib/one/258/images/disk.0'], ['dev', 'sda'], ['mode', 'w']]], ['device', 
>>> ['tap',
>>> ['uname', 'tap:aio:/var/lib/one/258/images/disk.1'], ['dev', 'sdb'], 
>>> ['mode', 'w
>>> ']]], ['device', ['tap', ['uname', 
>>> 'tap:aio:/var/lib/one/258/images/disk.2'], ['
>>> dev', 'sdc'], ['mode', 'w']]], ['device', ['tap', ['uname', 
>>> 'tap:aio:/var/lib/on
>>> e/258/images/disk.3'], ['dev', 'hdc'], ['mode', 'r']]], ['device', ['vif', 
>>> ['bri
>>> dge', 'xenbr0'], ['mac', '00:16:3E:02:03:04']]], ['device', ['vkbd']], 
>>> ['device'
>>> , ['vfb', ['vnclisten', '127.0.0.1'], ['type', 'vnc'], ['vncdisplay', 
>>> '14'], ['d
>>> isplay', 'localhost:11.0'], ['xauthority', '/var/lib/one/.Xauthority']]]]
>>> [2011-01-18 15:08:35 xend.XendDomainInfo 5136] DEBUG (XendDomainInfo:446) 
>>> parseC
>>> onfig: result is {'features': None, 'image': ['linux', ['ramdisk', 
>>> '/var/lib/xen
>>> /boot_ramdisk.zm8X_R'], ['kernel', '/var/lib/xen/boot_kernel.A0CMTy'], 
>>> ['args',
>>> 'ro root=LABEL=/ console=xvc0']], 'cpus': None, 'vcpu_avail': None, 
>>> 'backend': [
>>> ], 'uuid': None, 'on_reboot': None, 'cpu_weight': None, 'memory': 2048, 
>>> 'cpu_cap
>>> ': None, 'localtime': None, 'timer_mode': None, 'start_time': None, 
>>> 'on_poweroff
>>> ': None, 'on_crash': None, 'device': [('tap', ['tap', ['uname', 
>>> 'tap:aio:/var/li
>>> b/one/258/images/disk.0'], ['dev', 'sda'], ['mode', 'w']]), ('tap', 
>>> ['tap', ['un
>>> ame', 'tap:aio:/var/lib/one/258/images/disk.1'], ['dev', 'sdb'], ['mode', 
>>> 'w']])
>>> , ('tap', ['tap', ['uname', 'tap:aio:/var/lib/one/258/images/disk.2'], 
>>> ['dev', '
>>> sdc'], ['mode', 'w']]), ('tap', ['tap', ['uname', 
>>> 'tap:aio:/var/lib/one/258/imag
>>> es/disk.3'], ['dev', 'hdc'], ['mode', 'r']]), ('vif', ['vif', ['bridge', 
>>> 'xenbr0
>>> '], ['mac', '00:16:3E:02:03:04']]), ('vkbd', ['vkbd']), ('vfb', ['vfb', 
>>> ['vnclis
>>> ten', '127.0.0.1'], ['type', 'vnc'], ['vncdisplay', '14'], ['display', 
>>> 'localhos
>>> t:11.0'], ['xauthority', '/var/lib/one/.Xauthority']])], 'bootloader': 
>>> '/usr/bin
>>> /pygrub', 'maxmem': None, 'shadow_memory': None, 'name': 'one-258', 
>>> 'bootloader_
>>> args': None, 'vcpus': 2, 'cpu': None}
>>> [2011-01-18 15:08:35 xend.XendDomainInfo 5136] DEBUG (XendDomainInfo:1784) 
>>> XendD
>>> omainInfo.construct: None
>>> [2011-01-18 15:08:35 xend 5136] DEBUG (balloon:145) Balloon: 22650992 KiB 
>>> free;
>>> need 4096; done.
>>> [2011-01-18 15:08:35 xend.XendDomainInfo 5136] DEBUG (XendDomainInfo:1953) 
>>> XendD
>>> omainInfo.initDomain: 1 256
>>> [2011-01-18 15:08:35 xend.XendDomainInfo 5136] DEBUG (XendDomainInfo:1994) 
>>> _init
>>> Domain:shadow_memory=0x0, maxmem=0x800, memory=0x800.
>>> [2011-01-18 15:08:35 xend 5136] DEBUG (balloon:145) Balloon: 22650984 KiB 
>>> free;
>>> need 2097152; done.
>>> [2011-01-18 15:08:35 xend 5136] INFO (image:139) buildDomain os=linux 
>>> dom=1 vcpu
>>> s=2
>>> [2011-01-18 15:08:35 xend 5136] DEBUG (image:208) domid          = 1
>>> [2011-01-18 15:08:35 xend 5136] DEBUG (image:209) memsize        = 2048
>>> [2011-01-18 15:08:35 xend 5136] DEBUG (image:210) image          = 
>>> /var/lib/xen/
>>> boot_kernel.A0CMTy
>>> [2011-01-18 15:08:35 xend 5136] DEBUG (image:211) store_evtchn   = 1
>>> [2011-01-18 15:08:35 xend 5136] DEBUG (image:212) console_evtchn = 2
>>> [2011-01-18 15:08:35 xend 5136] DEBUG (image:213) cmdline        =  ro 
>>> root=LABE
>>> L=/ console=xvc0
>>> [2011-01-18 15:08:35 xend 5136] DEBUG (image:214) ramdisk        = 
>>> /var/lib/xen/
>>> boot_ramdisk.zm8X_R
>>> [2011-01-18 15:08:35 xend 5136] DEBUG (image:215) vcpus          = 2
>>> [2011-01-18 15:08:35 xend 5136] DEBUG (image:216) features       =
>>> [2011-01-18 15:08:35 xend.XendDomainInfo 5136] ERROR (XendDomainInfo:219) 
>>> Domain
>>> construction failed
>>> Traceback (most recent call last):
>>>  File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", 
>>> line 212
>>> , in create
>>>    vm.initDomain()
>>>  File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", 
>>> line 203
>>> 9, in initDomain
>>>    raise VmError(str(exn))
>>> VmError: (2, 'Invalid kernel', 'xc_dom_parse_elf_kernel: ELF image has no 
>>> shstrt
>>> ab\n')
>>> ------------------
>>> 
>>> 
>>> 
>>> 
>>> On Tue, 18 Jan 2011, Steven Timm wrote:
>>> 
>>>> 
>>>> Docs show that I need the "bootloader" option in the OS section.
>>>> Adding that got me past the error mentioned below.
>>>> 
>>>> Steve
>>>> 
>>>> On Tue, 18 Jan 2011, Steven Timm wrote:
>>>> 
>>>>> 
>>>>> Is there a worked example somewhere of how to successfully launch
>>>>> a Xen VM in opennebula?
>>>>> 
>>>>> Right now ONE copies the OS image and the other disks to
>>>>> my Xen host, tries to launch, but fails with the error
>>>>> 
>>>>> Tue Jan 18 13:18:33 2011 [VMM][I]: Generating deployment file: 
>>>>> /var/lib/one/249/deployment.0
>>>>> Tue Jan 18 13:18:33 2011 [VMM][E]: No kernel or bootloader defined and 
>>>>> no default provided.
>>>>> Tue Jan 18 13:18:33 2011 [VMM][E]: deploy_action, error generating 
>>>>> deployment file: /var/lib/one/249/deployment.0
>>>>> Tue Jan 18 13:18:33 2011 [DiM][I]: New VM state is FAILED
>>>>> 
>>>>> ------------
>>>>> 
>>>>> My OS image has a kernel-xen loaded in it but is otherwise
>>>>> the same format as the KVM images I have been using,
>>>>> i.e. it has a boot sector and one partition which is supposed to mount
>>>>> as /dev/sda1.
>>>>> 
>>>>> As far as I can tell, I never got as far as trying to launch the
>>>>> Xen VM.
>>>>> 
>>>>> Steve
>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>>> 
>> 
>> 
>
>

-- 
------------------------------------------------------------------
Steven C. Timm, Ph.D  (630) 840-8525
timm at fnal.gov  http://home.fnal.gov/~timm/
Fermilab Computing Division, Scientific Computing Facilities,
Grid Facilities Department, FermiGrid Services Group, Group Leader.
Lead of FermiCloud project.



More information about the Users mailing list