Installer VirtualBox à l'intérieur d'OpenVZ - sources manquantes

9

J'essaie d'installer VirtualBox à l'intérieur d'une instance OpenVZ hors site sur laquelle j'ai obtenu une bonne affaire. Le point étant d'exécuter une petite boîte Windows XP pour une sorte de serveur Windows.

  • Oui, c'est une expérience.
  • Non, ce n'est pas pour la production.

Il semble que tout fonctionnerait bien, mais l'installateur ne trouve pas les sources de ma distribution. Mon instance a installé Debian 6. La course uname -rme donne 2.6.32-042stab061.2. J'ai cherché tout au long de mon apt-cache quelque chose de similaire, j'ai essayé d'installer linux-sources-2.6.32 et une variété d'en-têtes linux, mais je n'ai pas de chance.

Est-ce que quelqu'un sait comment obtenir les sources appropriées pour cette instance afin que VirtualBox puisse se compiler? Merci.

jocull
la source
1
Openvz n'est pas une vraie machine virtuelle. Vous exécutez le noyau de l'hôte et non le vôtre. Vous ne pouvez pas charger de modules de noyau dans votre noyau à partir d'un conteneur. Ce noyau ressemble au noyau RHEL / Centos 6 fourni par Openvz.
jordanm
Est-ce à dire que c'est un objectif impossible? Et si le conteneur exécutait également CentOS 6 - serait-ce une correspondance suffisante pour le faire fonctionner?
jocull
2
Oui, c'est un objectif impossible à l'intérieur d'un conteneur. Si vous ne pouvez pas charger les modules du noyau, vous ne pouvez pas exécuter virtualbox.
jordanm
Merci. Si vous voulez ajouter cela comme réponse, je vous en rendrai hommage.
jocull

Réponses:

7

Dans OpenVZ, vous n'avez aucun contrôle sur le noyau. En effet, OpenVZ ne virtualise pas le matériel et est un "conteneur" plutôt qu'une machine virtuelle sur le nœud hôte. Comme vous ne pourrez pas charger de modules dans le noyau de l'hôte, cela ne sera pas possible.

jordanm
la source
5

La solution pour exécuter VirtualBox dans OpenVZ (dans un conteneur OpenVZ) est simple. Cette procédure a été testée sur ProxMox VE 2.2

  1. En supposant que vous avez le contrôle sur l'hôte OpenVZ (en utilisant votre installation Proxmox privée, par exemple)
  2. Installez VirtualBox à partir de backports sur la machine hôte OpenVZ, version 4.0.10 (les modules du noyau seront construits automatiquement):
  3. Attachez les nœuds de périphérique virtualbox au conteneur dans lequel vous souhaitez exécuter virtualbox:
    • vzctl set <VEID> --devnodes vboxdrv:rw --devnodes vboxnetctl:rw --save
  4. Installez VirtualBox à partir de backports à l'intérieur du conteneur de la même manière que le point n ° 1 ci-dessus.
  5. Exécutez VirtualBox à l'intérieur du conteneur. La mise en réseau NAT fonctionne, la redirection de port fonctionne, la mise en réseau hôte uniquement ne fonctionne pas.
Vyacheslav Stetskevych
la source
Merci pour l'information! Malheureusement, dans ce cas, je n'ai aucun contrôle sur l'hôte OpenVZ, juste l'instance :(
jocull
1
Parfois, l'installation de VirtualBox installera également un noyau à l'intérieur du conteneur. Cela ne fonctionnera évidemment pas et laissera dpkg dans un état cassé - vous devrez supprimer manuellement le noyau pour qu'il fonctionne à nouveau correctement.
Léo Lam