Instalando o VirtualBox dentro do OpenVZ - fontes ausentes

9

Estou tentando instalar o VirtualBox dentro de uma instância externa do OpenVZ em que tenho bastante. O ponto é executar uma pequena caixa do Windows XP para algum tipo de Windows Server.

  • Sim, é um experimento.
  • Não, não é para produção.

Parece que tudo funcionaria bem, mas o instalador não consegue encontrar as fontes da minha distribuição. Minha instância tem o Debian 6 instalado. Correr uname -rme dá 2.6.32-042stab061.2. Procurei em todo o meu apt-cache algo semelhante, tentei instalar o linux-sources-2.6.32 e uma variedade de cabeçalhos do linux, mas não estou tendo sorte.

Alguém sabe como eu posso obter as fontes apropriadas para esta instância para que o VirtualBox possa se compilar? Obrigado.

jocull
fonte
11
Openvz não é uma máquina virtual real. Você executa o kernel do host e não o seu. Você não pode carregar módulos do kernel no seu kernel de dentro de um contêiner. Esse kernel se parece com o kernel RHEL / Centos 6 fornecido pelo Openvz.
Jordanm # 23/12
Isso significa que esse é um objetivo impossível? E se o contêiner também estivesse executando o CentOS 6 - seria uma correspondência suficiente para fazê-lo funcionar?
Jocull # 23/12
2
Sim, é uma meta impossível de dentro de um contêiner. Se você não pode carregar os módulos do kernel, não pode executar o virtualbox.
Jordanm # 23/12
Obrigado. Se você quiser adicionar isso como resposta, eu darei o crédito por isso.
jocull

Respostas:

7

No OpenVZ, você não tem controle sobre o kernel. Isso ocorre porque o OpenVZ não virtualiza o hardware e é um "contêiner", em vez de uma máquina virtual no nó host. Como você não poderá carregar módulos no kernel do host, isso não será possível.

jordanm
fonte
5

A solução para executar o VirtualBox dentro do OpenVZ (em um contêiner OpenVZ) é simples. Este procedimento foi testado no ProxMox VE 2.2

  1. Supondo que você tenha controle sobre o host OpenVZ (usando sua instalação privada do Proxmox, por exemplo)
  2. Instale o VirtualBox a partir de backports na máquina host OpenVZ, versão 4.0.10 (os módulos do kernel serão criados automaticamente):
  3. Anexe nós do dispositivo de caixa virtual ao contêiner em que você deseja executar o caixa virtual:
    • vzctl set <VEID> --devnodes vboxdrv:rw --devnodes vboxnetctl:rw --save
  4. Instale o VirtualBox a partir de backports dentro do contêiner da mesma maneira que o ponto 1 acima.
  5. Execute o VirtualBox dentro do contêiner. A rede NAT funciona, o encaminhamento de porta funciona, a rede somente host não funciona.
Vyacheslav Stetskevych
fonte
Obrigado pela informação! Infelizmente, neste caso, não tenho controle sobre o host OpenVZ, apenas a instância :(
jocull
11
Às vezes, a instalação do VirtualBox também instalará um kernel dentro do contêiner. Obviamente, isso não funcionará e deixará o dpkg em um estado quebrado - você precisará remover manualmente o kernel para que funcione corretamente novamente.
Léo Lam