Como criar um contêiner LXC no LVM a partir de um modelo OpenVZ?

1

Tenho muita experiência com o OpenVZ, mas quero testar o LXC em um servidor em que o isolamento perfeito não é uma preocupação. O principal motivo para o switch é preferir o Ubuntu Server LTS como o SO base, mas o projeto OpenVZ atualmente suporta apenas o kernel do RHEL e o patch mais recente do kernel é para o 2.6.32.

Este novo servidor está executando o Ubuntu 12.04 LTS. Achei muito simples criar um contêiner usando os modelos de contêiner fornecidos, por exemplo, lxc-create -t ubuntu -n testvps -B lvm --vgname vps --fssize 20G --fstype ext4 . No entanto, ainda não encontrei nenhuma informação substancial que explique como usar um modelo OpenVZ pré-criado e usá-lo como base para um contêiner LXC. Os artigos que eu vi basicamente recomendam modelos OpenVZ como uma boa opção para contêineres LXC. Mas como? Este artigo chega perto , mas ele usa os caminhos O Ubuntu 12.04 não e extrai diretamente para o sistema de arquivos em vez de um volume lógico LVM. Sendo tão novo no LXC, tenho certeza que devo estar perdendo alguma coisa. Eu preciso saber onde devo colocar o tarball de modelo do OpenVZ (ou extraí-lo) para que o comando lxc-create -t 'possa inicializar a partir dele.

Eu preciso criar um contêiner LXC, em um volume LVM, no Ubuntu 12.04 do modelo do CentOS 6 pré-criado pelo OpenVZ . Qualquer ajuda que me indicasse na direção certa seria muito apreciada. Obrigada!

    
por jimp 13.12.2012 / 09:00

1 resposta

3

Eu faço isso o tempo todo usando o LXC e os modelos do OpenVZ CentOS.

Os dois guias que eu segui inicialmente são aqui e aqui .

Normalmente, coloco meus contêineres em /srv/ ou /srv/lxc/ . Eu não me incomodo com o LVM, mas se você quiser, basta montar o seu novo volume LVM em /srv/lxc/container_name per-container. Isso faz sentido, né?

Neste exemplo, eu tenho uma montagem ZFS-on-Linux no local onde eu quero que o contêiner resida em /srv :

[root@Lancaster_Mirror1 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/cciss/c0d0p2      12G  1.9G  9.4G  17% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/cciss/c0d0p1     291M   59M  218M  22% /boot
/dev/cciss/c0d0p7     2.0G  119M  1.8G   7% /tmp
/dev/cciss/c0d0p3     9.9G  1.9G  7.5G  20% /usr
/dev/cciss/c0d0p6     6.0G  321M  5.3G   6% /var
vol2/images            98G   43G   56G  44% /images
vol3/Lancaster_Test    98G   22G   77G  22% /srv/Lancaster_Test <<--container

Quanto à instalação do LXC, eu pego a imagem OpenVZ pré-configurada e a coloco no diretório do container de destino, depois descompacto - tar -ztvf centos-6-x86_64-devel.tar.gz . Nada precisa ser modificado no modelo para que isso funcione.

  426  wget http://downloads.sourceforge.net/project/lxc/lxc/lxc-0.7.3/lxc-0.7.3.tar.gz
  427  rpmbuild -ta lxc-0.7.3.tar.gz
  429  rpmbuild -ta lxc-0.7.3.tar.gz
  434  yum --nogpg install lxc-0.7.3-1.x86_64.rpm libvirt
  437  lxc-create -f /etc/lxc/Lancaster_Test.conf -n Lancaster_Test
  438  lxc-checkconfig
  441  screen -dmS init-Lancaster_Test /usr/bin/lxc-start -n Lancaster_Test
  442  screen -dmS console-Lancaster_Test /usr/bin/lxc-console -n Lancaster_Test

Talvez eu esteja fora, mas escolho usar os contêineres diretamente em um sistema de arquivos. Você está fazendo algo diferente?

Eu posso fornecer trechos dos arquivos de configuração do lxc, mas você não parece ter um problema com isso.

    
por 13.12.2012 / 13:51