OpenVZ

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa


OpenVZ
OpenVZ-logo.png
Desenvolvedor Projeto comunitário, suportado pela Parallels, Inc.
Plataforma x86, x86-64
Lançamento 2005 (8–9 anos)
Idioma(s) Inglês
Escrito em C
Sistema operacional Linux
Gênero(s) Virtualização de nível de sistema operacional
Licença GNU GPL v.2
Página oficial openvz.org

OpenVZ (Open Virtuozzo) é uma tecnologia de virtualização de nível de sistema operacional baseada no kernel e no sistema operacional do Linux. Ele permite que um servidor físico execute múltiplas instâncias de sistema operacional, conhecidas como recipientes (containers), sevidores virtuais privados (SVP - ou em inglês virtual private servers) ou ambientes virtuais (AV - ou em inglês virtual environments - VEs). É similar ao FreeBSD jail e ao Solaris Containers.[1] .

OpenVZ comparado com outras tecnologias de virtualização[editar | editar código-fonte]

Quando comparado a máquinas virtuais tais como VMware e paravirtualização tais como Xen, o OpenVZ é limitado: Exige que tanto o host quanto o SO convidado sejam Linux (apesar das distribuições Linux serem diferentes em containers diferentes). Contudo, OpenVZ possui uma vantagem em relação ao desempenho: De acordo com seu site web, há apenas uma perda de desempenho de 1 a 3% para o OpenVZ comparado com a utilização de um servidor standalone. Uma avaliação independente de desempenho confirma isto. Outra mostra mais perdas significantes dependendo da métrica utilizada. O OpenVZ é uma base do Parallels Virtuozzo Containers, um software proprietário fornecido pela Parallels. O OpenVZ é licenciado sob a versão 2 da GPL. O projeto OpenVZ é assistido e patrocinado pela Parallels (o suporte comercial ao usuário não é disponibilizado pela Parallels). O OpenVZ é dividido em um núcleo padrão e ferramentas do nível de usuário.

Kernel[editar | editar código-fonte]

O kernel do OpenVZ é um kernel do Linux modificado para adicionar suporte aos recipientes OpenVZ. O kernel modificado fornece virtualização, isolamento, gerenciamento de recurso e ponto de inspeção. A partir do vzctl 4.0, o OpenVZ pode trabalhar com Linux de kernels 3.x sem atualização, com um conjunto reduzido de funcionalidades.

Virtualização e isolamento[editar | editar código-fonte]

Cada recipiente é uma entidade separada e comporta-se, em grande parte, como um servidor físico. Cada um tem seus próprios:

Arquivos
Bibliotecas do sistema, aplicações, /proc e /sys virtualizados, bloqueios virtualizados, etc.
Usuários e grupos
Cada recipiente possui seu próprio usuário raiz, bem como outros usuários e grupos.
Árvore de processos
Um recipiente enxerga apenas seus próprios processos (começando do init). PIDs são virtualizados, desta forma o PID init é 1 como deveria ser.
Rede
Dispositivo de rede virtual, que permite que um recipiente tenha seus próprios endereços IP, bem como um conjunto de netfilter (iptables) e regras de roteamento.
Dispositivos
Se necessários, qualquer recipiente pode ser concedido acesso a dispositivos reais como interfaces de rede, portas seriais, partições de disco, etc.
Objetos IPC
Memória compartilhada, semáforos, mensagens.

Gerenciamento de recursos[editar | editar código-fonte]

O gerenciamento de recursos do OpenVZ consiste de quatro componentes: quota de disco de dois níveis, escalonador razoável de CPU, escalonador de E/S de disco e beancounters de usuários. Estes recursos podem ser alterados durante o tempo de execução de recipiente, eliminando a necessidades de reinicialização.

Quota de disco de dois níveis[editar | editar código-fonte]

Cada recipiente pode ter suas próprias quotas de disco, medidas em termos de blocos de disco e inodes (cerca de número de arquivos). Dentro do recipiente, é possível usar ferramentas padrões para definir quotas de disco UNIX por usuário e por grupo.

Escalonador de UCP[editar | editar código-fonte]

O escalonador de UCP no OpenVZ é uma implementação de dois níveis de estratégia de escalonamento.

Referências


Ícone de esboço Este artigo sobre software livre é um esboço. Você pode ajudar a Wikipédia expandindo-o.