OpenVZ

Origem: Wikipédia, a enciclopédia livre.


OpenVZ
Desenvolvedor Projeto comunitário, suportado pela Parallels, Inc.
Plataforma x86, x86-64
Lançamento 2005 (18–19 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 (podendo conviver diferentes distribuições Linux em diferentes containers). 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

  1. «Cópia arquivada». Consultado em 29 de junho de 2014. Arquivado do original em 28 de junho de 2014 


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