VMware Virtual SAN 6.2 – Parte 4 – VASA e as Políticas de Armazenamento
Autor: Tiago Martinez | Publicado: 2016-09-21T16:00:00-03:00




Uma das principais características do VSAN é o fato de trabalhar com o gerenciamento baseado em políticas de armazenamento (SPBM - Storage Policy Based Management) para fazer alocação do espaço para as VMs. Cada uma das máquinas virtuais que são criadas em cima de um datastore VSAN devem possuir pelo menos uma política de armazenamento associada a ela (caso não seja, uma política padrão será utilizada).

As políticas de armazenamento definem quais os requisitos de desempenho e proteção que determinada VM ou até mesmo um determinado disco virtual devem possuir. As políticas determinam como os objetos serão alocados no datastore VSAN a fim de garantir os níveis de serviço desejados.

Antes de aprofundar mais nas políticas de armazenamento do VSAN, é necessário fazer uma breve introdução ao VASA (vSphere Storage APIs for Storage Awareness).

O VASA é uma das APIs de armazenamento (vSphere Storage APIs) fornecidas pela VMware que permitem uma maior integração com os fabricantes de equipamentos de armazenamento. Além do VASA, há também o VAAI (que eu já falei a respeito aqui no blog), o VSA-DP (Data Protection) e mais recentemente foi anunciado o VAIO (vSphere APIs for I/O Filtering). 

O VASA é o responsável por integrar o equipamento de armazenamento ao VMware vCenter Server, fornecendo ao vCenter Server informações pertinentes aos volumes apresentados. Para essa integração é necessário a existência de um Storage Provider (VASA provider), e cabe ao fabricante do equipamento de armazenamento fornecer este provider. Em alguns casos esse provider vem embutido na controladora do equipamento de armazenamento e em outros é fornecido através de uma máquina virtual ou como uma aplicação standalone.







&nbsp;Fonte: VMware&nbsp;



É através do VASA que o vCenter Server terá informações sobre as “capacidades” de um determinado volume. Essas “capacidades” variam de acordo com o fabricante e também com o equipamento. Alguns exemplos de “capacidades” apresentadas são:


- Tipo de disco (SSD, SATA, SAS, FC);

- Tipo de proteção (local, remota)

- Tipo de volume (thin, thick)

- Dedup;



Com base nessas capacidades é então possível criar perfis de armazenamento (Storage Profiles) no vCenter Server e associar a uma VM ou a um disco virtual afim de garantir que o nível de serviço desejado seja sempre atingido e de maneira automática. Essa automatização é uma das principais razões para essa mudança na forma de alocar os recursos de armazenamento, uma vez que facilita seu gerenciamento ao mesmo tempo que garante que os recursos entregues estarão de acordo com os requisitos.



Voltando ao VMware VSAN, como foi dito que ele faz uso de políticas de armazenamento, também precisará de um VASA Provider para apresentar ao vCenter Server as capacidades disponíveis no datastore VSAN. No caso do VSAN, o VASA Provider já vem embutido no próprio host ESXi, e é habilitado na hora da criação do cluster VSAN. Todos os hosts ESXi em um cluster VSAN poderão servir como um Storage Provider, porém apenas um ficará ativo, os demais ficarão como stand-by.







Dentre as capacidades apresentadas pelo VASA Provider do VSAN para o vCenter Server estão:



- Number of disk stripes per object

- Flash read cache reservation

- Failures to tolerate

- Fault tolerance method

- IOPS limit for object (QoS)

- Disable object checksum

- Force provisioning

- Object space reservation



Number of disk stripes per object



Também é conhecido como Stripe Width, define o número mínimo de discos de capacidade que serão utilizados para armazenar um determinado objeto. Um valor superior a 1 irá prover um melhor desempenho, mas também consumirá uma maior quantidade de recursos. O valor padrão é 1 (também é o mínimo) e o valor máximo é 12. 



Flash read cache reservation



Como sabemos todo cluster VSAN possui uma área em flash utilizada para cache de leitura (70%) e para buffer de escrita (30%). Esse cache de leitura é compartilhado entre todos os objetos do datastore VSAN com base na demanda. É possível com esta opção reservar uma área desse cache para um ou todos os discos virtuais (vmdk) de uma máquina virtual. A reserva é feita com base em uma porcentagem da área do disco virtual, por exemplo se você deseja reservar 10% do disco virtual de uma VM, e esse disco tiver um tamanho total de 100GB, então 10GB do cache de leitura ficarão reservados para esse vmdk. Essa opção só é pertinente para clusters com configurações híbridas, uma vez que na configuração all-flash não há cache para leitura. O valor padrão é 0% e o valor máximo é 100%.



Failures to tolerate



Esta capacidade, também chamada de FTT, está relacionada com a disponibilidade dos objetos, e pode ser aplicada em uma VM ou em um VMDK específico. Esta opção define o número de hosts e discos que podem falhar e ainda assim manter acessível um objeto. Dependendo dos requisitos de disponibilidade da máquina virtual, a configuração da política de armazenamento aplicada a esta VM pode gerar um consumo de capacidade até 4x maior do que o espaço total da máquina virtual.



Para cada “n” falhas a serem aceitas, “n+1” cópias dos objetos são criadas e “2n+1” hosts contribuindo com área para armazenamento são necessários. A configuração padrão para esta opção é 1, ou seja, mesmo que uma VM seja criada sem que uma política tenha sido associada, ainda assim haverá uma cópia de cada objeto desta VM.&nbsp; O valor máximo para o FTT é 3.



Fault tolerance method



O Fault tolerance method ou FTM, especifica qual será o método utilizado na proteção dos objetos no cluster VSAN. Até a versão VSAN 6.2 só havia uma forma de proteção, que era através do RAID-1 (mirroring). A partir do VSAN 6.2 foi adicionado um novo método de proteção, conhecido como RAID 5/6 (Erasure Coding), porém disponível apenas nas configurações All-Flash. 



IOPS limit for object (QoS)



Com essa configuração é possível limitar a quantidade de IOPS por VM/VMDK. Os IOPS são calculados com base em todas as operações na VM/VMDK (leitura e escrita), incluindo snapshot. Essa opção pode ser usada para impedir que determinada carga de trabalho em uma VM venha a impactar outras VMs. 



Disable object checksum



O VSAN faz uma verificação fim-a-fim para garantir a integridade dos dados confirmando que cada cópia de um arquivo é exatamente igual ao arquivo original. O sistema valida os dados durante as operações de leitura/escrita, e se algum erro for detectado o VSAN repara os dados&nbsp; ou reporta um erro.&nbsp; Essa verificação, chamada de Object Checksum, é habilitada por padrão em todos os objetos que residem em um datastore VSAN (v3). Com a opção DisableObjectChecksum é possível desabilitar essa verificação também por objetos através da política de armazenamento.



Force provisioning



Uma política com a opção ForceProvisioning configurada como Yes, permite que os objetos sejam criados mesmo que não seja possível atender as configurações de FailuresToTolerate(FTT), NumberOfDiskStripesPerObject (SW) and FlashReadCacheReservation (FRCR). O VSAN vai tentar alocar os objetos atendendo a todos os requisitos especificados na política de armazenamento, caso não consiga, será utilizada uma alocação simplificada usando os requisitos mínimos (FTT=0, SW=1, FRCR=0). Uma consideração importante é que assim que houver recursos suficientes para atender aos requisitos iniciais, o cluster VSAN automaticamente consumirá estes recursos. 



Object space reservation



Por padrão todos os objetos alocados em um datastore VSAN são criados como ThinProvisioned. A opção Object space reservation permite especificar uma porcentagem do tamanho da VM/VMDK a ser reservada (thick provisioned) quando o objeto for criado. Por exemplo, se uma VM for criada com um disco de 100GB, e uma política de armazenamento com uma configuração de 50% na opção Object space reservation for associada a essa VM, então 50GB estarão reservados no datastore VSAN e os outros 50GB irão ser alocados a medida que forem sendo consumidos. O valor padrão é 0% e o valor máximo é 100%.



Para configurar uma nova política de armazenamento ou verificar as políticas já existentes, pelo vSphere Web Client, clique em Home &gt;&gt; Policies and Profiles &gt;&gt; VM Storage Policies.







A imagem abaixo mostra as configurações da política de armazenamento padrão de um cluster VSAN.







Outros posts da série VMware Virtual SAN 6.2:&nbsp;




VMware Virtual SAN 6.2 – Parte 1 – Introdução 

VMware Virtual SAN 6.2 – Parte 2 – Licenciamento

VMware Virtual SAN 6.2 – Parte 3 – Arquitetura VSAN

VMware Virtual SAN 6.2 – Parte 4 – VASA e as Políticas de Armazenamento