I’m building a 6-node cluster, using Xen at the moment. For the last few days, I tried my setup in a virtual machine, simply because VM’s boot much faster than the real hardware. However, certain things you can only replicate on the real hardware (for example, the InfiniBand interfaces, as well as certain nfs-stuff).
So I spent most of the day to replicate my configurations onto the hardware. After getting all done, the moment of the first boot … kaput! Doesn’t boot, just keeps hanging before booting the real kernel. Now what ? I removed the Xen vga parameters and rebooted (waited ~2 minutes in the process) until I finally saw the root cause for my trouble:
1 2 |
Low bootmem alloc of 67108864 bytes failed! Kernel panic - not syncing: Out of low memory |
I was like *wtf* … My tftp setup _worked_ inside the VM’s, why ain’t it working here ? Quick look at the pxelinux.cfg for the mac address revealed this:
1 2 3 4 5 6 |
label Xen AMD64 MENU LABEL ^xen-3.2-1-amd64 KERNEL mboot.c32 APPEND xen/xen-3.2-1-amd64.gz console=vga vga=gfx-1024x768x16 dom0_mem=64M noreboot --- xen/vmlinuz-2.6.26-2-xen-amd64 rw console=tty0 rootdelay=5 root=/dev/nfs nfsroot=172.30.10.1:/srv/nfs/xen2 ip=dhcp --- xen/initrd.img-2.6.26-2-xen-amd64 |
As you can see, I had devised 64M for the dom0, which apparently wasn’t enough. After tuning the memory limit to 256M, everything is honky-dory!