[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-users] PV on Centos 5 64-bit



Hi,
 
I'm having a very difficult time getting paravirtualized Xen running on
Centos 5 64bit and I'm hoping someone can spot what I'm doing wrong.
I've been attemping to do this for a few days now and I'm really not
seeing what I'm doing wrong.
 
Here's what I've done:
 
1. Installed Centos 5 64-bit on the Dom0
2. Installed a fully virtualized DomU running Centos 5 64-bit.
3. Created a new configuration file that will create a paravirtualized
DomU.
 
The DomU boots and runs in fully virtualized mode. However, the
paravirutalized DomU refuses to boot.
 
Here are the relevant configurations:
 
1. The fully virtualized config

# Automatically generated xen config file
name = "vm_oracle"
builder = "hvm"
memory = "2000"
disk = [ 'phy:/dev/BigMamaVolGroup/VMOracleSysDisk,hda,w', ]
vif = [ 'type=ioemu, mac=00:16:3e:67:38:e4, bridge=xenbr0', ]
uuid = "d0e7d705-aa8c-c2c0-8926-bc03d3f9d56a"
device_model = "/usr/lib64/xen/bin/qemu-dm"
kernel = "/usr/lib/xen/boot/hvmloader"
vnc=1
vncunused=1
apic=1
acpi=1
pae=1
 
vcpus=2
serial = "pty" # enable serial console
on_reboot   = 'restart'
on_crash    = 'restart'

2. The paravirtualized config

# Automatically generated xen config file
name = "vm_oracle_para"
builder = "linux"
memory = "2000"
disk = [ 'phy:/dev/BigMamaVolGroup/VMOracleSysDisk,hda,w', ]
vif = [ 'type=ioemu, mac=00:16:3e:67:38:e4, bridge=xenbr0', ]
uuid = "d0e7d705-aa8c-c2c0-8926-bc03d3f9d56a"
#pae=1
kernel="/boot/vmlinuz-2.6.18-8.1.15.el5.centos.plusxen"
bootloader="/usr/bin/pygrub"
 
vcpus=2
serial = "pty" # enable serial console
on_reboot   = 'restart'
on_crash    = 'preserve'


Also on Dom0:
[root@bigmama xen]# uname -a
Linux bigmama.secana.local 2.6.18-8.1.15.el5.centos.plusxen #1 SMP Thu
Oct 25 07:21:34 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
[root@bigmama xen]# arch
x86_64




Then, I try to create the vm_oracle_para DomU, choosing the same kernel
as the Dom0. (The vm_oracle is of course not running)

[root@bigmama xen]# xm create -c vm_oracle_para
Using config file "./vm_oracle_para".
Going to boot CentOS (2.6.18-8.1.15.el5.centos.plusxen)
  kernel: /xen.gz-2.6.18-8.1.15.el5.centos.plus
Error: (22, 'Invalid argument')

Hmm! Let's look at the logs:

[root@bigmama xen]# xm log | tail -100
....
[2007-11-14 10:44:53 xend.XendDomainInfo 8352] DEBUG
(XendDomainInfo:190) XendDomainInfo.create([\047vm\047, [\047name\047,
\047vm_oracle_para\047], [\047memory\047, \0472000\047],
[\047on_reboot\047, \047restart\047], [\047on_crash\047,
\047preserve\047], [\047vcpus\047, 2], [\047uuid\047,
\047d0e7d705-aa8c-c2c0-8926-bc03d3f9d56a\047], [\047bootloader\047,
\047/usr/bin/pygrub\047], [\047image\047, [\047linux\047,
[\047kernel\047, \047/var/lib/xen/vmlinuz.wLlJ26\047], [\047args\047,
\047None\047]]], [\047device\047, [\047vbd\047, [\047uname\047,
\047phy:/dev/BigMamaVolGroup/VMOracleSysDisk\047], [\047dev\047,
\047hda\047], [\047mode\047, \047w\047]]], [\047device\047,
[\047vif\047, [\047bridge\047, \047xenbr0\047], [\047mac\047,
\04700:16:3e:67:38:e4\047], [\047type\047, \047ioemu\047]]]])
[2007-11-14 10:44:53 xend.XendDomainInfo 8352] DEBUG
(XendDomainInfo:296) parseConfig: config is [\047vm\047, [\047name\047,
\047vm_oracle_para\047], [\047memory\047, \0472000\047],
[\047on_reboot\047, \047restart\047], [\047on_crash\047,
\047preserve\047], [\047vcpus\047, 2], [\047uuid\047,
\047d0e7d705-aa8c-c2c0-8926-bc03d3f9d56a\047], [\047bootloader\047,
\047/usr/bin/pygrub\047], [\047image\047, [\047linux\047,
[\047kernel\047, \047/var/lib/xen/vmlinuz.wLlJ26\047], [\047args\047,
\047None\047]]], [\047device\047, [\047vbd\047, [\047uname\047,
\047phy:/dev/BigMamaVolGroup/VMOracleSysDisk\047], [\047dev\047,
\047hda\047], [\047mode\047, \047w\047]]], [\047device\047,
[\047vif\047, [\047bridge\047, \047xenbr0\047], [\047mac\047,
\04700:16:3e:67:38:e4\047], [\047type\047, \047ioemu\047]]]]
[2007-11-14 10:44:53 xend.XendDomainInfo 8352] DEBUG
(XendDomainInfo:397) parseConfig: result is {\047shadow_memory\047:
None, \047start_time\047: None, \047uuid\047:
\047d0e7d705-aa8c-c2c0-8926-bc03d3f9d56a\047, \047on_crash\047:
\047preserve\047, \047on_reboot\047: \047restart\047, \047localtime\047:
None, \047image\047: [\047linux\047, [\047kernel\047,
\047/var/lib/xen/vmlinuz.wLlJ26\047], [\047args\047, \047None\047]],
\047on_poweroff\047: None, \047bootloader_args\047: None, \047cpus\047:
None, \047name\047: \047vm_oracle_para\047, \047backend\047: [],
\047vcpus\047: 2, \047cpu_weight\047: None, \047features\047: None,
\047vcpu_avail\047: None, \047memory\047: 2000, \047device\047:
[(\047vbd\047, [\047vbd\047, [\047uname\047,
\047phy:/dev/BigMamaVolGroup/VMOracleSysDisk\047], [\047dev\047,
\047hda\047], [\047mode\047, \047w\047]]), (\047vif\047, [\047vif\047,
[\047bridge\047, \047xenbr0\047], [\047mac\047,
\04700:16:3e:67:38:e4\047], [\047type\047, \047ioemu\047]])],
\047bootloader\047: \047/usr/bin/pygrub\047, \047cpu\047: None,
\047maxmem\047: None}
[2007-11-14 10:44:53 xend.XendDomainInfo 8352] DEBUG
(XendDomainInfo:1264) XendDomainInfo.construct: None
[2007-11-14 10:44:53 xend.XendDomainInfo 8352] DEBUG
(XendDomainInfo:1296) XendDomainInfo.initDomain: 70 1.0
[2007-11-14 10:44:53 xend 8352] DEBUG (balloon:127) Balloon: 4125180 KiB
free; need 2048000; done.
[2007-11-14 10:44:53 xend 8352] INFO (image:136) buildDomain os=linux
dom=70 vcpus=2
[2007-11-14 10:44:53 xend 8352] DEBUG (image:199) dom            = 70
[2007-11-14 10:44:53 xend 8352] DEBUG (image:200) image          =
/var/lib/xen/vmlinuz.wLlJ26
[2007-11-14 10:44:53 xend 8352] DEBUG (image:201) store_evtchn   = 1
[2007-11-14 10:44:53 xend 8352] DEBUG (image:202) console_evtchn = 2
[2007-11-14 10:44:53 xend 8352] DEBUG (image:203) cmdline        =  None
[2007-11-14 10:44:53 xend 8352] DEBUG (image:204) ramdisk        =
[2007-11-14 10:44:53 xend 8352] DEBUG (image:205) vcpus          = 2
[2007-11-14 10:44:53 xend 8352] DEBUG (image:206) features       =
[2007-11-14 10:44:53 xend.XendDomainInfo 8352] ERROR
(XendDomainInfo:202) Domain construction failed
Traceback (most recent call last):
  File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
line 195, in create
    vm.initDomain()
  File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
line 1377, in initDomain
    raise VmError(str(exn))
VmError: (22, \047Invalid argument\047)
[2007-11-14 10:44:53 xend.XendDomainInfo 8352] DEBUG
(XendDomainInfo:1463) XendDomainInfo.destroy: domid=70
[2007-11-14 10:44:53 xend.XendDomainInfo 8352] DEBUG
(XendDomainInfo:1471) XendDomainInfo.destroyDomain(70)

.. and.. 

[root@bigmama xen]# tail -2 /var/log/xen/xend-debug.log
ERROR: Kernel not a Xen-compatible Elf image.
ERROR: Error constructing guest OS




If I start vm_oracle (not vm_oracle_para), I'll get this:

[root@vm-oracle ~]# uname -a
Linux vm-oracle.secana.local 2.6.18-8.1.15.el5.centos.plus #1 SMP Thu
Oct 25 06:48:46 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
[root@vm-oracle ~]# arch
x86_64

I've set up grub to boot by defailt non-xen kernel in order to
accomodate booting both in fully virtualized and paravirtualized mode. I
use pygrub to boot the xen-kernel when trying to boot in paravirtualized
mode.

As you probably spotted, I'm using LVM on the Dom0 to provide physical
storage for my virtual block devices.



Can anyone provide a link til a guide, or can anyone tell me what I'm
doing wrong, please?

Best regards,
Jens-Petter Salvesen

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.