DestaqueGuias

LXC: Ambientes virtuais em Linux

Introdução

LXC é uma relativamente recente, tecnologia em Linux que permite ter um ambiente virtual, fechado e limitado, com programas ou distribuições inteiras desses ambientes.
LXC usa cgroups, uma tecnologia que permite parametrizar limites dentro de Linux e que apareceu no Kernel 2.6.29 e que tem gerado novas possibilidades dentro do mundo Linux.

Existem outras tecnologias parecidas noutros sistemas operativos, como Solaris Zones e mesmo em Linux, como OpenVZ ou Vserver, mas não estão integrados no Kernel de Linux como está o LXC.
No entanto, quem conhecer estas tecnologias, é muito mais simples de perceber LXC, pois a filosofia é a mesma.

Para quem não está familiarizado com LXC, o primeiro mito que tem que colocar de lado é que não se trata de máquinas virtuais.
É algo completamente nativo e na verdade, dentro de LXC pode estar a correr só um programa e não uma distribuição inteira.
Isto tem os seus contras e os seus pontos a favor.

A favor está a flexibilidade que dá em Linux, a segurança de um ambiente isolado e a performance nativa de um container LXC. Além destes pontos, a tecnologia integra bem com outras tecnologias em Linux, como Lvm ou o novo filesystem Btrfs. O principal contra é estarmos restringidos ao mundo Linux. Como não são máquinas virtuais, tudo o que corre por baixo de LXC tem que ser do mundo Linux.
Outros pontos negativos são as de ainda não haver muitos ambientes gráficos para gerir LXC por ser uma tecnologia ainda muito recente.

Neste pequeno artigo vou usar ubuntu 12.04, pois considero que tem a melhor implementação de LXC, onde não tem que se andar com grandes “hacks” para ter um ambiente a funcionar.

 

Instalação

Lxc 01

Para este artigo, criei uma máquina virtual com Ubuntu 12.04 em Virtualbox, visto ser apenas uma pequena demonstração. No entanto, no mundo real, pode-se e até se deve usar uma máquina física, pela performance e para não ser preciso alguns “hacks”, como colocar a placa de rede virtual em “promiscuous mode” como tive que fazer na imagem acima.

Lxc 02

Durante a instalação do Ubuntu 12.04 Server, não é preciso fazer nada fora do comum. Aqui coloco o nome da máquina como “lxc”.

Lxc 03

Quase no fim da instalação, coloco como funcionalidade o “Openssh Server”, para poder aceder remotamente.

Lxc 04

No fim da instalação, já no sistema operativo, para não ter que colocar sempre o comando “sudo”, mudo a password do utilizador root e uso-o durante esta demonstração. Para mudar a password, coloco o comando:

sudo passwd

Em seguida, para instalar o LXC, passo apenas o comando:

apt-get install lxc

Lxc 05

São resolvidas as dependências e algumas delas são importantes, como o “daemon” do sistema de ficheiros cgroup, a ferramenta para criar “bridges” com as placas de rede, entre outras.

Lxc 06

A instalação é feita em poucos segundos e sem qualquer erros. No fim, temos quase tudo o que precisamos para correr ambientes virtuais com LXC.

1 2 3 4Página seguinte

Artigos Relacionados

Botão Voltar ao Topo