Virtualização Utilizando O KVM
Ensaios: Virtualização Utilizando O KVM. Pesquise 862.000+ trabalhos acadêmicosPor: brunotruick • 14/5/2014 • 2.288 Palavras (10 Páginas) • 363 Visualizações
Tecnologias em Redes de Computadores
Alunos: Alberto Ricardo
André Maciel
Anderson Vizoto
Bruno Henrique
Luciano José
Virtualização com o KVM
Introdução
Virtualização significa a utilização de um sistema operacional real sobre uma máquina virtual. Isto é, qualquer sistema operacional pode ser instalado sobre uma máquina virtual emulando o comportamento de uma máquina real. Assim, o sistema operacional funciona sem conhecimento, na maioria das vezes, de que está sobre uma camada de software, e não diretamente sobre o hardware.
A virtualização de sistemas operacionais tem inúmeras utilidades, entre elas:
• Flexibilidade: Algumas vezes é necessário utilizar um software que só existe para uma determinada plataforma (por exemplo o Windows 2000, ou XP). Neste caso, pode-se manter uma máquina virtual com o SO específico instalado e ligá-la somente quando houver necessidade
• Consolidação: No caso de possuir várias máquinas físicas diferentes, pode-se substituí-las por somente um servidor mais potente com várias máquinas virtuais, economizando o custo com hardware, eletricidade e espaço físico; além de facilitar a administração
• Segurança: Ao invés de concentrar vários serviços (banco de dados, web server, servidor de e-mail) em um só servidor, pode-se criar uma máquina virtual para cada um, garantindo, assim, que caso ocorra uma invasão os outros serviços permanecerão intactos
• Testes e desenvolvimento de software: Um desenvolvedor web, por exemplo, pode usar máquinas virtuais para testar um site em vários sistemas operacionais e navegadores diferentes sem precisar reiniciar o computador ou trocar de máquina
Fundamentos da virtualização com o KVM
KVM é implementado como um módulo do kernel que converte o kernel Linux em um hypervisor bare metal.
Existem dois princípios fundamentais de projeto, que o KVM adotou que o ajudaram a amadurecer rapidamente e ter um desempenho estável, e assim ultrapassar outros hypervisores de código aberto.
Em primeiro lugar, porque KVM foi projetado após a virtualização de hardware assistida, que não teve que implementar recursos que foram fornecidos pelo hardware. O hypervisor KVM requer Intel VT- x ou AMD- V CPUs habilitadas que aproveita esses recursos para virtualizar a CPU.
Ao exigir o suporte de hardware ao invés de otimizar ele se disponível, o KVM foi capaz de projetar uma otimizada solução hypervisor sem a necessidade da "bagagem" de apoiar hardware legado ou exigindo modificações no sistema operacional convidado.
Existem muitos componentes que requerem um hypervisor além da capacidade de virtualizar a CPU e memória, por exemplo: um gerenciador de memória, um processo agendado, uma pilha de I / O, drivers de dispositivo, a segurança, uma pilha de rede, etc....
Na verdade, um hypervisor é realmente um sistema operacional especializado, diferindo apenas dele é que parte do propósito geral que ele é executado máquinas virtuais ao invés de aplicações.
Uma vez que o kernel do Linux já inclui os principais recursos exigidos por um hypervisor e tem sido amadurecido em uma plataforma robusta e estável por mais de 15 anos de apoio e desenvolvimento, é mais eficiente para construir sobre essa base, em vez de escrever todos os componentes necessários, como um gerenciador de memória,agendamento, etc.... a partir do zero.
ARQUITETURA KVM
Na arquitetura KVM a máquina virtual é implementada como um processo Linux, feita pelo padrão Linux. De fato, cada CPU virtual aparece como um processo Linux padrão. Isto permite o KVM se beneficiar de todas as características do kernel Linux.
Emulação de dispositivo é lidar com uma versão modificada do QEMU que fornece uma BIOS emulada, PCI bus, barramento USB e um conjunto padrão de dispositivos, tais como controladores de discos IDE e SCSI e placas de rede, uma vez que uma máquina virtual é implementada como um processo Linux que utiliza o modelo padrão de segurança Linux para fornecer isolamento e controles de recursos.
Desempenho e Escalabilidade
KVM herda o desempenho e escalabilidade do Linux, suportando máquinas virtuais com até 16 CPUs virtuais e 256GB de memória RAM e sistemas host com 256 núcleos.
Com até 95% de desempenho em relação ao bare metal para cargas de trabalho empresariais do mundo real, como SAP,Oracle, LAMP e Microsoft Exchange, mais de um milhão de mensagens por segundo e sub 200 microssegundos latência em máquinas virtuais rodando em um servidor padrão, e as mais altas taxas de consolidação com mais de 600 máquinas virtuais em execução de cargas de trabalho corporativas em um único servidor , o KVM permite que até mesmo as mais exigentes cargas de trabalho de aplicativos possam ser virtualizadas .
Melhoria da programação e controle de recursos
No modelo de KVM, uma máquina virtual (Windows ou Linux) é um processo Linux. Ela está programada e gerida pelo kernel Linux padrão. Ao longo dos últimos anos, a comunidade avançou o núcleo do kernel Linux a um ponto onde ele tem as características principais da indústria, a estabilidade, desempenho, segurança e robustez.
Uma vantagem do KVM em se tratando de Desktops, é a facilidade de instalação e de criação das máquina virtuais, que se comparado com o VMware por exemplo, tem um desempenho melhor, enquanto o VMware ocupa todo tempo de processamento enquanto a VM está ativa, o KVM gerencia isso melhor de forma que não use todo o tempo do processador.
O KVM trabalha junto com o QEMU. O QEMU é um software de emulação, e não precisa de suporte de hardware a virtualização (VT-x,Vsm), mas em conjunto com o KVM que dá suporte a virtualização diretamente no kernel, em substituto ao qemu, para aceleração, usado para virtualizar instruções, o ganho na performance é significativa.
Na Virtualização temos o conceito de Host (hospedeiro) e Guest máquina virtualizada. O papel de Host será o servidor com KVM, e o papel de Guest será feito pelo Qemu, que será vista como um, ou mais processos na maquina host, dependendo da quantidade de
...