Escrito por Agustín Malanco
Hoje vamos falar sobre uma aquisição recente da VMware, o Virsto. Vamos saber o que é o Virsto, como ele funciona e quais benefícios oferece.
Como todos sabemos, o mundo do data center está se convertendo em um ambiente controlado, em grande parte pelo software. Devido a isso, a VMware desenvolveu e adquiriu diversas tecnologias para controlar aspectos específicos, como o sistema de rede com o uso de Nicira, o autoprovisionamento e a automação com diferentes produtos — como vCloud Director, vCO, vCAC (antes Dynamic Ops). Mas, tínhamos um ponto fraco: o armazenamento; e nesse caso o Virsto chegou para cobrir vários aspectos que melhoram o uso de nosso armazenamento em um ambiente de nuvem.
O que é o Virsto?
Devemos compreender que o Virsto é 100% software, ou seja, a diferença entre o Virsto e as outras soluções do mercado é que ele não exige appliances físicos para acelerar o desempenho do armazenamento e oferecer todos os recursos. O Virsto pode trabalhar em qualquer armazenamento baseado em blocos, assim, se contamos com armazenamento centralizado, não devemos substituí-lo por algo diferente, e sim utilizá-lo com o Virsto.
O Virsto é um hypervisor de software. Para termos uma ideia melhor de suas características, vamos visualizar a imagem seguinte, que mostra o fluxo de operações em disco com o uso do Virsto:
Basicamente, o Virsto se encarrega de gerenciar todas as operações de E/S, através de um tipo de disco chamado vDisk, com o qual todas as gravações que uma máquina virtual faz em disco podem ser interceptadas, sendo organizadas e dispostas em sequência, para depois serem enviadas para o disco (vSpace). Isso é possível com um registro de operações. No momento que as gravações são recebidas e enviadas ao vLog, elas são organizadas para permitir que seu envio seja feito em porções, ou blocos sequenciais, em vez de ao acaso, no que se refere a E/S. As máquinas virtuais não sofrem impacto algum no modo como devem gravar em disco, pois uma vez que as operações são recebidas no registro, uma confirmação é enviada ratificando que essas operações foram gravadas em disco (mesmo que ainda continuem no vLog para serem reorganizadas e dispostas em sequência).
Arquitetura
Como comentamos anteriormente, o Virsto é 100% software e é composto pelo seguinte:
- vMaster: nessa máquina virtual, temos os serviços do Virsto. Ela é uma máquina virtual Windows 2008 R2 SP1 (que precisa ser criada com antecedência), na qual armazenamos os arquivos para poder criar as VMs de vIOServices (OVF C:Program FilesVirstoOVFs). No processo de instalação, o direcionamento é feito ao nosso vCenter Server, onde será registrado um plug-in do Virsto e de onde estaremos realizando o gerenciamento. Só é necessário ter uma vMaster por data center virtual no vCenter.
- Virsto Plugin: no momento da instalação do Virsto em nossa vMaster, é preciso especificar a instância do vCenter onde esse plug-in será instalado. Será criada uma entrada no MOB do vCenter (observe que haverá uma entrada no MOB para cada vMaster registrada, que é basicamente igual ao número de data centers virtuais). Depois de instalado o plug-in, surgirá uma nova guia no vCenter, de onde podemos oferecer os appliances virtuais de vIOServices, além de monitorar o espaço vSpace, o licenciamento, os snapshots etc.
- Virsto Namespace: é um appliance virtual criado no momento de fazer a entrega dos vIOServices ao cluster. Essa máquina virtual é um Linux (Ubuntu) com 1 GB de RAM e uma vCPU. Basicamente é um servidor NFS que reserva o espaço do vSpace, que será montado pelos appliances virtuais do vIOService através da rede.
- Virsto vIOService: esse tipo de VM também é fornecido no momento da configuração dos vIOServices no nível do cluster. Ele se encarrega de mapear os RDMs para o espaço do vLog e também monta a exportação fornecida pelo appliance virtual de Namespace através da rede. Esse último a envia ao host por meio de um porto de vmkernel privado que é criado como parte do processo de configuração dos vIOServices. Essa VM monitora todas as operações de leitura e gravação do vDisk, para que depois sejam redirecionadas ao vSpace. Há, então, um appliance virtual de vIOService para cada host ESXi que participa do cluster do Virsto.
- vDisk: é um arquivo que pode se apresentar em diversos formatos, VMDK, VHD etc. Basicamente, é uma abstração dele realizada pelo hypervisor de armazenamento, o Virsto. O interessante é que ele permite que os vIOServices interceptem as operações e as enviem ao vLog. O vSphere o verá como um VMDK tradicional, já que todas as soluções de apoio ou monitoramento que sejam compatíveis com VMDKs continuarão funcionando.
Depois de fornecer os serviços do Virsto ao cluster, obtemos uma exportação do NFS fornecida e montada em todos os nossos hosts ESXi (através de seus próprios vIOServices), e podemos monitorar o espaço pela guia de configuração > Storage do vSphere, ou através da guia do Virsto:
É importante notar que, já que estamos usando NFS, todos os discos (vDisk) são entregues em provisionamento simplificado, e o interessante é que, neste caso, não ocorre o problema que os discos em provisionamento simplificado tradicionais do vSphere apresentam (problema este que, apesar de ser muito pequeno, prejudica os aplicativos altamente transacionais).
Integração com o vSphere
Uma vez instalado o plug-in do Virsto no vCenter, além da guia do Virsto, temos também menus e assistentes para criar clones, vSnaps etc. Na imagem, podemos ver isso:
No momento, o Virsto não utiliza o VAAI para acelerar operações que poderiam se beneficiar desse recurso, mas, ele está na lista de funcionalidades da solução.
Snapshots e clones com o Virsto
Os clones e snapshots do Virsto foram projetados para ser dimensionáveis, já que sabemos que quanto maior for a quantidade de snapshots e clones (ex.: clones vinculados), menor será o desempenho. O Virsto nos oferece a capacidade de criar snaps e clones em provisionamento simplificado sem causar impacto no desempenho.
O Virsto cria um mapa no vLog onde vemos a relação entre blocos virtuais e blocos físicos de disco. Com esse mapa, podemos ter clones e snaps muito mais eficientes. No caso do snapshot (vSnap), temos apenas um marcador nesse “mapa”, com um tamanho de 4 KB, o que não causa impacto, e este definirá o que fica no snapshot e quais blocos ficam fora dele.
No caso dos clones (vClone), é criada uma cópia ou referência da máquina virtual mestra com permissões de leitura e gravação mas, assim como ocorre nos vSnaps, somente 4 KB são consumidos, já que tratam-se de apontadores (são muito parecidos com os composers do VMware Horizon View), mas com a diferença que não afetam o desempenho do armazenamento, o que acontece com o clone completo. É importante saber que os vClones não degradam o desempenho conforme o tempo passa: o mesmo desempenho do disco original é mantido (não há aqueles problemas ocorridos no composer sobre os quais já falamos).
Quais benefícios o Virsto oferece?
Sem mencionar os benefícios de marketing, posso dizer que o Virsto pode chegar a oferecer o dobro de operações de entrada e saída por segundo (IOPs, input/output per second) que fornecemos em nosso armazenamento atual. Como participei de um projeto do Virsto aqui no México, posso confirmar a informação, pois, na ocasião, vimos esse aumento de IOPs em um armazenamento existente. Também podemos contar com a redução do espaço usado pelo provisionamento simplificado, por exemplo, e no modo como os snaps e os clones são gerenciados no Virsto.
Podemos ver a redução do impacto causado pelos snapshots nesta imagem (testes realizados em ambientes reais), onde vemos a comparação entre snaps nativos e vSnaps do Virsto:
Da mesma maneira, podemos ver nesta tabela uma comparação entre discos nativos e o vDisk; os benefícios dos IOPs são bastante altos (teste realizado em uma VM com MS SQL utilizando armazenamento VNX da EMC):
Agustín Malanco é vExpert e Channel Systems Engineer na VMware México. Agustín possui as certificações VCP 3/4/5, VCI, VCAP4-DCA/DCD, VCP4/5-DT e MCP. Na realidade, ele é apaixonado por tudo o que se refere à virtualização.