Instalación de VirtualBox dentro de OpenVZ - faltan fuentes

9

Estoy intentando instalar VirtualBox dentro de una instancia de OpenVZ externa en la que obtuve un buen trato. El punto es ejecutar un pequeño cuadro de Windows XP para algún tipo de servidor de Windows.

  • Si, es un experimento.
  • No, no es para producción.

Parece que todo funcionaría bien, pero el instalador no puede encontrar las fuentes de mi distribución. Mi instancia tiene instalado Debian 6. Correr uname -rme da 2.6.32-042stab061.2. He buscado en todo mi apt-cache algo similar, intenté instalar linux-sources-2.6.32 y una variedad de encabezados de linux, pero no tengo suerte.

¿Alguien sabe cómo puedo obtener las fuentes adecuadas para esta instancia para que VirtualBox pueda compilarse? Gracias.

jocull
fuente
1
Openvz no es una máquina virtual real. Huyes del núcleo del host y no del tuyo. No puede cargar módulos del núcleo en su núcleo desde un contenedor. Ese núcleo se parece al núcleo RHEL / Centos 6 proporcionado por Openvz.
jordanm
¿Eso significa que este es un objetivo imposible? ¿Qué pasaría si el contenedor también ejecutara CentOS 6? ¿Sería una combinación suficiente para que funcione?
Jocull
2
Sí, es un objetivo imposible desde un contenedor. Si no puede cargar los módulos del kernel, no puede ejecutar virtualbox.
jordanm
Gracias. Si desea agregar eso como respuesta, le daré el crédito por ello.
jocull

Respuestas:

7

En OpenVZ, no tienes ningún control sobre el kernel. Esto se debe a que OpenVZ no virtualiza hardware, y es un "contenedor", en lugar de una máquina virtual en el nodo host. Como no podrá cargar módulos en el núcleo del host, esto no será posible.

jordanm
fuente
5

La solución para ejecutar VirtualBox dentro de OpenVZ (en un contenedor OpenVZ) es simple. Este procedimiento ha sido probado en ProxMox VE 2.2

  1. Asumiendo que tiene control sobre el host OpenVZ (usando su instalación privada de Proxmox, por ejemplo)
  2. Instale VirtualBox desde backports en la máquina host OpenVZ, versión 4.0.10 (los módulos del núcleo se construirán automáticamente):
  3. Adjunte los nodos del dispositivo virtualbox al contenedor en el que desea ejecutar virtualbox:
    • vzctl set <VEID> --devnodes vboxdrv:rw --devnodes vboxnetctl:rw --save
  4. Instale VirtualBox desde backports dentro del contenedor de la misma manera que el punto # 1 anterior.
  5. Ejecute VirtualBox dentro del contenedor. La red NAT funciona, el reenvío de puertos funciona, la red de solo host no funciona.
Vyacheslav Stetskevych
fuente
¡Gracias por la información! Desafortunadamente, en este caso no tengo ningún control sobre el host OpenVZ, solo la instancia :(
jocull
1
A veces, la instalación de VirtualBox también instalará un núcleo dentro del contenedor. Obviamente, esto no funcionará y dejará dpkg en un estado roto: tendrá que eliminar manualmente el núcleo para que vuelva a funcionar correctamente.
Léo Lam