Article ID: 115732, created on Mar 15, 2013, last review on May 11, 2014

  • Applies to:
  • Virtuozzo hypervisor 5.0

Symptoms

After a recent PSBM update, no virtual machines can be started and this error is shown:

Failed to start the VM: Unable to allocate memory for VMM purposes  VMname. Parallels Server cannot allocate enough memory for running the virtual machine. Suspend or stop one or more of the virtual machines currently running on the server and try again. If the problem persists, contact your Parallels Server administrator for assistance.

Cause

There were some problems during the update which resulted in an inconsistency in the Parallels package versions.

Resolution

To solve this issue, you need to make sure that the latest kernel was installed on the server, grub is configured to boot under the latest kernel, and the kmod package of the latest version is installed on the server. This package contains kernel modules for virtualization.

Refer to this example:
  1. Check the current kernel:
    [root@mypvc]# uname -r
    2.6.32-042stab049.7
  2. Check the version of the kmod package:
    [root@mypvc ~]# rpm -qa | grep parallels-kmod
    parallels-kmod-5.0.13321.740033-1.2.6.32_042stab053.5.x86_64
    parallels-kmod-5.0.13352.765396-1.2.6.32_042stab055.12.x86_64
    parallels-kmod-5.0.13321.740033-1.2.6.32_042stab049.7.x86_64

    You can see that parallels-kmod-5.0.13352.765396-1.2.6.32_042stab055.12.x86_64 is the latest package, but the loaded kernel is 2.6.32-042stab049.7. Since the kmod package should be of the same kernel version, you need to boot under the kernel 2.6.32_042stab055.12. If you find that the kmod package of the required version is missing, you need to install it. For example:
    [root@mypvc]# uname -r
    2.6.32-042stab055.12
    [root@mypvc ~]# rpm -qa | grep kmod
    parallels-kmod-5.0.13253.694417-1.2.6.32_042stab036.6.x86_64
    parallels-kmod-5.0.13321.740033-1.2.6.32_042stab053.5.x86_64
    parallels-kmod-5.0.13321.740033-1.2.6.32_042stab049.7.x86_64
    From this output, we can see that there is no kmod package installed that matches the kernel 2.6.32-042stab055.12.
    Install it running the following:
    [root@mypvc ~]# rpm -ivh /vz/vzup2date/psbm/linux/x86_64/5.0.0/CU-2.6.32-042stab055.12/parallels-kmod-5.0.13352.765396-1.2.6.32_042stab055.12.x86_64.rpm
    and reboot the server.
    If for some reason this does not resolve the problem, reinstall the latest kernel with all modules:
    # rpm -ihv /vz/vzup2date/psbm/linux/x86_64/5.0.0/CU-2.6.32-042stab055.12/vzkernel-2.6.32-042stab055.10.x86_64.rpm --force
    # rpm -ihv /vz/vzup2date/psbm/linux/x86_64/5.0.0/CU-2.6.32-042stab055.12/parallels-kmod-5.0.13343.759717-1.2.6.32_042stab055.10.x86_64.rpm --force
    # rpm -ihv /vz/vzup2date/psbm/linux/x86_64/5.0.0/CU-2.6.32-042stab055.12/vzkernel-devel-2.6.32-042stab055.10.x86_64.rpm --force
    # rpm -ihv /vz/vzup2date/psbm/linux/x86_64/5.0.0/CU-2.6.32-042stab055.12/vzmodules-2.6.32-042stab055.10.x86_64.rpm --force

  3. Check kernel availability:
    [root@mypvc ~]# ls /boot/vmlinuz*
    /boot/vmlinuz-2.6.32-042stab036.6
    /boot/vmlinuz-2.6.32-042stab049.7
    /boot/vmlinuz-2.6.32-042stab053.5
    /boot/vmlinuz-2.6.32-042stab055.12 - proper kernel is available

  4. Make sure that grub is set up to boot the server under the latest kernel:
    [root@mypvc]# cat /boot/grub/menu.lst
    default=0
    timeout=5
    splashimage=(hd0,0)/grub/splash.xpm.gz
    hiddenmenu
    title Parallels Server Bare Metal (2.6.32-042stab055.12)
      root (hd0,0)
      kernel /vmlinuz-2.6.32-042stab055.12 ro root=/dev/mapper/vg_jvs-lv_root rd_DM_UUID=ddf1_4c5349202020202080862925000000004711471100001e78 rd_LVM_LV=vg_jvs/lv_root rd_LVM_LV=vg_jvs/lv_swap rd_NO_LUKS rd_NO_MD LANG=es_ES.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=es crashkernel=auto psbm debug
      initrd /initrd-2.6.32-042stab055.12.img
    title Parallels Server Bare Metal (2.6.32-042stab049.7)
      root (hd0,0)
      kernel /vmlinuz-2.6.32-042stab053.5 ro root=/dev/mapper/vg_jvs-lv_root rd_DM_UUID=ddf1_4c5349202020202080862925000000004711471100001e78 rd_LVM_LV=vg_jvs/lv_root rd_LVM_LV=vg_jvs/lv_swap rd_NO_LUKS rd_NO_MD LANG=es_ES.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=es crashkernel=auto psbm
      initrd /initrd-2.6.32-042stab053.5.img
    default=0 means that by default grub will always load the first kernel in the list, which is 2.6.32-042stab055.12 in this case.

  5. Now reboot the server, and once kernel 2.6.32-042stab055.12 is loaded, you should be able to start all virtual machines.

    Please note that the full path to the packages will vary depending on the kernel.

2897d76d56d2010f4e3a28f864d69223 a26b38f94253cdfbf1028d72cf3a498b c662da62f00df94fd77ba7a2c9eff4b4

Email subscription for changes to this article
Save as PDF