Xen
From Noah.org
Revision as of 15:40, 28 August 2012 by Root (talk | contribs) (→dom0 can't handle too much memory)
I'm not a huge fan of Xen.
dom0 can't handle too much memory
Problem: you try to boot your Xen host and it locks up during boot with a message like this:
FATAL: Error inserting dm_mod (/lib/modules/2.6.32-5-xen-amd64/kernel/drivers/md/dm-mod.ko): Cannot allocate memory done. Begin: Waiting for root file system ... done Gave up waiting for root device.
The problem is that your physical machine has more memory than dom0 can handle. In my case I was working with a server with 384 GB of RAM. The solution was to set a max memory limit for the Xen hypervisor in the GRUB boot menu. The grub.cfg should have a line similar to this:
multiboot /xen-4.0-amd64.gz placeholder
It should be modified to something like this:
multiboot /xen-4.0-amd64.gz placeholder dom0_mem=512M,max:512M
See also: http://wiki.xen.org/wiki/Xen_Best_Practices#Xen_dom0_dedicated_memory_and_preventing_dom0_memory_ballooning and http://wiki.debian.org/Xen#Other_configuration_tweaks
The exact operations you need to update grub.cfg will vary from platform to platform. On Debian 6 I did this:
dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen sed -i -e '$aGRUB_CMDLINE_XEN="dom0_mem=2048M,max:2048M"' /etc/default/grub update-grub sed -i -e 's/(enable-dom0-ballooning .*)/(enable-dom0-ballooning no)/' -e 's/(dom0-min-mem .*)/(dom0-min-mem 2048)/' /etc/xen/xend-config.sxp reboot