Re: [opensuse-virtual] Problems with Xen-installation resp.configuration
Hi Jason, thanks for your exact explanations.
There are two different 32-bit xen kernels shipped with openSUSE 10.3: kernel-xen and kernel-xenpae. (Note that there are different hypervisor versions that match these kernel versions as well [xen.gz and xen-pae.gz]). These kernels mirror the kernel-smp and kernel-bigsmp that are typical in SuSE distributions, and they are installed automatically based on the amount of memory in your system (basically <= 2GB installs the kernel-xen; > 2G installs the kernel-xenpae). The kernel within the guest* has to match the flavor of the kernel that is running on the host (i.e. if you are running -xenpae, your guest must be running -xenpae).
Yes, you're right. I've checked that meanwhile, and I didn't get two absolutely identical machines. One has 4 GB, the other 2 GB... (trust only in what you did yourself)
NOTE: I am only speaking of paravirtualized guests in this case. The kernel in a fully virtualized guest does not need to match the "flavor" of the hypervisor/dom0 kernel with the exception that you have to be running a 64-bit xen in order to run any 64-bit guest.
Ok, thats clear. But I want to run it paravirtualized.
How can I harmonize this??
There are a couple of different approaches that you can take here. One option is to make both hosts run the same flavor of xen. Since there are only a handful of processors newer than the Pentium Pro that do not have PAE support, my recommendation would be to install the kernel-xenpae package into your host that is currently running the -xen kernel. This will automatically create a new entry in your grub menu that will load the right hypervisor as well.
However, if you choose this route, you will want to install the kernel-xenpae kernel into all of your guests BEFORE you move to the xenpae kernel on the host. Otherwise, your VM won't boot on either system and you'll have to use some tricks to install the correct kernel in the vm (read "Requires you to be somewhat of a Linux expert"). You'll also need to change your config file to point at the -xenpae kernel, but I'll explain that in a moment.
The other option seems to be easier to me, so I'll omit the first one.
This leads me to the second option which is to install BOTH kernels in your VM. That way, by changing a single line in your vm config file, you'll be able to boot the VM on either machine without changing the hypervisor that is currently running. The line that you'll need to change is the one that references /boot/kernel-xen and /boot/initrd-xen (I believe it is the bootargs line, but without looking at your config file, I can't be sure).
Here's the config file of the VM: name="test2" ostype="opensuse" uuid="e8fa2bfb-54c9-440a-43fa-a58b361ce80e" memory=512 vcpus=1 on_crash="destroy" on_poweroff="destroy" on_reboot="restart" localtime=0 builder="linux" bootloader="/usr/lib/xen/boot/domUloader.py" bootargs="--entry=xvda2:/boot/vmlinuz-xen,/boot/initrd-xen" extra=" " disk=[ 'file:/var/lib/xen/images/mpichxentest2/disk0,xvda,w', ] vif=[ 'mac=00:16:3e:00:00:02', ] vfb=['type=vnc,vncunused=1'] So I have to change the line bootargs="--entry=xvda2:/boot/vmlinuz-xen,/boot/initrd-xen" to bootargs="--entry=xvda2:/boot/vmlinuz-xen-pae,/boot/initrd-xen-pae" ?
Once you have installed the kernel-xenpae package into the guest, you can copy it to the PAE host and change those entries to -xenpae.
Stupid question: How do I install that kernel? Via Yast on the original system? If I may summarize: I install both kernels in the VM. Via the bootargs-line in the config file, I can refer to one of the kernels. On the PAE-host, it refers to the PAE-kernel, on the non-PAE-host, it refers the non-PAE-kernel. So I could have a local version of the config file on each host, and just copy the diskfile, when I change the installation. Did I get it??
If you have problems with this, attach your vm config file and any error messages, and I'll take a look.
Have a lot of fun!
Jason
P.S. If you are interested in actual VM migration (movement of the VM while it is still running), you'll need to have both hosts running the same flavor of xen, and you'll need the VM disk to be accessible to both machines in the exact same way (i.e. iscsi target, nfs mount, or other). But for now, this should be plenty to get you started. Good luck!
No, at the moment I only need cold migration for my work. I'll possibly get back to that lateron. Kind regards Stephan -- Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger -- To unsubscribe, e-mail: opensuse-virtual+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-virtual+help@opensuse.org
On Mon, May 19, 2008 at 1:55 PM, in message <20080519195547.17820@gmx.net>, <gildo.rex@gmx.de> wrote: Here's the config file of the VM:
name="test2" ostype="opensuse" uuid="e8fa2bfb-54c9-440a-43fa-a58b361ce80e" memory=512 vcpus=1 on_crash="destroy" on_poweroff="destroy" on_reboot="restart" localtime=0 builder="linux" bootloader="/usr/lib/xen/boot/domUloader.py" bootargs="--entry=xvda2:/boot/vmlinuz-xen,/boot/initrd-xen" extra=" " disk=[ 'file:/var/lib/xen/images/mpichxentest2/disk0,xvda,w', ] vif=[ 'mac=00:16:3e:00:00:02', ] vfb=['type=vnc,vncunused=1']
So I have to change the line
bootargs="--entry=xvda2:/boot/vmlinuz-xen,/boot/initrd-xen"
to
bootargs="--entry=xvda2:/boot/vmlinuz-xen-pae,/boot/initrd-xen-pae"
?
Almost. There is no hyphen between xen and pae, so it will look like this: bootargs="--entry=xvda2:/boot/vmlinuz-xenpae,/boot/initrd-xenpae"
Once you have installed the kernel-xenpae package into the guest, you can copy it to the PAE host and change those entries to -xenpae.
Stupid question: How do I install that kernel? Via Yast on the original system?
via Yast in the VM running on the original system is probably the easiest. I don't remember exactly how things look on openSUSE 10.3, but basically you would launch the software management yast module, search for kernel-xenpae, and install it.
If I may summarize: I install both kernels in the VM. Via the bootargs-line in the config file, I can refer to one of the kernels. On the PAE-host, it refers to the PAE-kernel, on the non-PAE-host, it refers the non-PAE-kernel. So I could have a local version of the config file on each host, and just copy the diskfile, when I change the installation.
Did I get it??
That's it. Let me know how things turn out. Jason -- To unsubscribe, e-mail: opensuse-virtual+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-virtual+help@opensuse.org
participants (2)
-
gildo.rex@gmx.de
-
Jason Douglas