Como em várias vezes escutamos expressões desconhecidas sobre virtualização, uma dessas vezes escutamos sobre os Monitores de Máquinas Virtuais que também podem ser chamados de Hypervisor ou Machine Monitor Virtual. O hypervisor é uma plataforma de virtualização que possibilita a execução de vários sistemas operacionais em um único hardware. Cada instância de um sistema operacional convidado é chamado de máquina virtual (VM), já que o seu hardware é virtualizado, trabalhando de forma dedicada entre as máquinas virtuais.
Arquitetura simples que ilustra uma virtualização do hardware.
Na figura acima, o monitor de máquinas virtuais é a camada de software que fornece o hardware virtualizado às máquinas subjacentes. Nem todas as soluções de virtualização utilizam o mesmo estilo. Os sistemas operacionais virtualizam acesso aos recursos subjacentes da máquina aos processos. Os monitores de máquinas virtuais fazem a mesma coisa mas, em vez dos processos, eles executam essa tarefa para os sistemas operacionais convidados inteiros. Citrix e Vmware são exemplos de hypervisors, porem, existem várias soluções para varias situações. Como já postado anteriormente, existem 3 tipos de soluções em virtualização (Emulation, Full-Virtualization e Para-Virtualization), cada desenvolvedor fabrica seus monitores de máquinas virtuais para trabalharem com um tipo de virtualização, resta escolher a ferramente ideal para a solução desejada.
Embora muitas soluções de virtualização sejam livres, ferramentas de gestão apropriadas são geralmente caras. Além disso, muitas vezes é necessário para cada solução de virtualização uma ferramenta de gestão diferente. Para resolver estes problemas, a biblioteca libvirt foi desenvolvida. Libvirt é uma API desenvolvida em linguagem C, que é executada entre o software de virtualização e a ferramenta de gestão, que oferece um conjunto de ferramentas de gerenciamento. Exemplos destas ferramentas são Virt-Manager e virsh. Até o primeiro semestre de 2011, o libvirt oferece suporte aos seguintes monitores de máquinas virtuais:
• Xen, hypervisor linux e Solaris.
• QEMU, emulador e KVM, hypervisor Linux.
• LXC, sistema de container Linux.
• OpenVZ, sistema de container Linux.
• User Mode Linux, kernel para-virtualizados.
• VirtualBox, hypervisor com suporte a vários Sistemas Operacionais.
• VMware ESX e GSX, hypervisor.
Na Figura abaixo, é ilustrado o funcionamento da biblioteca libvirt juntamente aos monitores de máquinas virtuais distintos, sendo gerenciado por três ferramentas de gerenciamento distintas, porém todos compatibilizados pelo libvirt.
A biblioteca libvirt permite o acesso a monitores de máquinas virtuais que estiverem remotos, através de conexões devidamente autenticadas e encriptadas. Na máquina remota, o daemon libvirtd deve estar em execução, e é necessário informar à ferramenta de gerenciamento local que você desejar acessar um recurso remoto. Para isso, deve-se informar o nome do host ou IP a ser acessado, que em seguida é passado ao virConnectOpen. De um ponto de vista da API, além da mudança de onde se estará acessando as informações, é necessário que as chamadas comuns sejam encaminhadas através da conexão remota de forma transparente e que os valores ou erros do lado remoto sejam devolvidos como se estivessem acontecido localmente.
Fonte:
JONES, M. T. Anatomia de um hypervisor linux.
Disponível em: http://www.ibm.com/developerworks/br/library- /l-hypervisor/
LIBVIRT. libvirt Virtualization API.
Disponível em: http://libvirt-.org/goals.html
You must be logged in to post a comment.