O que é o LXC e como começar?

37

Apreciaria se alguém pudesse me apresentar o LXC e me dizer como começar com esta tecnologia? Em quais casos faz sentido usar e em quais devo me afastar?

dhojgaard
fonte
3
Se você assiste ao filme Inception, tem uma boa idéia do lxc. imdb.com/title/tt1375666 Trailer.
Qasim

Respostas:

53

_________________________________________________ LXC _________________________________________________________

                           Linux Containers ( Ubuntu )

visão global

O Linux Containers (LXC) é uma tecnologia de virtualização leve e fornece um sistema de virtualização de software gratuito para computadores executando o GNU / Linux. Isso é realizado através do isolamento no nível do kernel. Permite executar várias unidades virtuais (contêineres) simultaneamente no mesmo host.

Um contêiner é uma maneira de isolar um grupo de processos dos outros em um sistema Linux em execução. Ao usar a funcionalidade existente, como os novos recursos de gerenciamento de recursos e isolamento de recursos do kernel Linux (Cgroups e espaços de nomes), esses processos podem ter sua própria visão privada do sistema operacional, com seu próprio espaço de identificação do processo (PID), estrutura do sistema de arquivos e interfaces de rede.

Os contêineres compartilham o mesmo kernel com qualquer outra coisa em execução, mas podem ser limitados a usar apenas uma quantidade definida de recursos, como CPU, memória ou E / S. Combinando contêineres com outros recursos, como o sistema de arquivos Btrfs, será possível configurar rapidamente várias instâncias leves e isoladas do Linux em um único host. Portanto, os contêineres são melhores em comparação com as zonas Solaris ou prisões BSD.

insira a descrição da imagem aqui

Instalação

Facilitando o LXC

Um dos principais focos do Ubuntu LTS era tornar o LXC morto fácil de usar, para conseguir isso. Criando um contêiner básico e iniciando-o no Ubuntu

 sudo apt-get install lxc
 sudo lxc-create -t ubuntu -n my-container
 sudo lxc-start -n my-container

Entrar

sudo lxc-console -n my-container -t 1

Por padrão, usará a mesma versão e arquitetura da sua máquina; obviamente, opções adicionais estão disponíveis (a ajuda as listará). Login / Senha são ubuntu / ubuntu.

Para configuração detalhada do host


Para mais informações sobre o LXC

Debian

Oráculo

sourceforge


Painel da Web LXC

Para o novato, recomendo usar o LXC Webpanel. A parte boa é que, se você criar um contêiner pelo modo CLI, ele será exibido no painel da Web do LXC.

  sudo apt-get install lxc debootstrap bridge-utils -y
  sudo su
  wget https://lxc-webpanel.github.com/tools/install.sh -O - | bash

Abra o navegador da Web e conecte

                       http://your_ip_address:5000/
                Login with user admin and password admin

visão global

insira a descrição da imagem aqui

Visão geral de contêineres

insira a descrição da imagem aqui

Rede LXC

insira a descrição da imagem aqui

Configurações de contêiner

insira a descrição da imagem aqui

Limitação de Recursos

insira a descrição da imagem aqui

Modificação do usuário (criar, excluir modificar)

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Qasim
fonte
11
Eu tive que instalar sudo apt-get install debootstrapantes sudo lxc-create -t ubuntu -n my-containerfuncionaria (Ubuntu 14.04 LTS).
CivMeierFan
quais são os recursos do btrfs que tornam o provisionamento de contêiner mais rápido?
chad
11

LXC

O LXC, que é uma maneira abreviada de dizer que LinuX Containers é um método de virtualização em nível de sistema operacional para executar vários sistemas Linux isolados, chamados de contêineres em um único host de controle. Como o LXC fornece virtualização no nível do sistema operacional, não é através de uma máquina virtual completa, mas fornece seu próprio ambiente virtual que possui seu próprio processo e espaço de rede.

O LXC depende dos cgroups de kernel do Linux ( Grupos de Controle ), desenvolvidos como parte do LXC, que é um recurso para limitar, contabilizar e isolar o uso de recursos (CPU, memória, E / S de disco, etc.) de grupos de processos. Ele também conta com outros tipos de funcionalidade de isolamento de namespace, que foram desenvolvidos e integrados ao kernel Linux principal.

No Ubuntu, você pode encontrar ferramentas como o Juju que são usadas com o LXC. Você pode até encontrar vários tutoriais:

Para usar o LXC e seus benefícios, recomendo a leitura do Ubuntu Guide for Juju

Site oficial - https://linuxcontainers.org/

As listas de discussão estão hospedadas aqui

Luis Alvarado
fonte
2

Eu acho que uma pergunta melhor é o que você quer fazer com o LXC?

Começava com a documentação da comunidade e fazia perguntas específicas sobre coisas específicas que você não entende.

https://help.ubuntu.com/12.04/serverguide/lxc.html

https://help.ubuntu.com/community/LXC

O LXC pode ser usado para isolar serviços ou outros processos do host, embora o isolamento nem sempre seja perfeito.

O LXC está em rápido desenvolvimento e pode ajudar se você se inscrever na lista de discussão.

http://lxc.sourceforge.net/index.php/about/lxc-development/

Distrowatch também fez uma boa visão geral na semana passada

http://distrowatch.com/weekly.php?issue=20130429#qa

Pantera
fonte