VDC: isolamento, papéis e cotas
Um VDC (data center virtual) é a unidade usada para dividir um cluster entre consumidores. O cluster fornece o hardware: nós, pools de armazenamento e redes físicas. Um VDC define o limite dentro do qual um consumidor trabalha com suas máquinas virtuais, redes, datasets e volumes. Um cluster hospeda muitos VDCs, e os objetos de um VDC não são visíveis a partir de outro.
O limite vale tanto para a visibilidade quanto para as permissões. Na lista Virtual Data Centers, os usuários veem apenas os VDCs para os quais têm concessões; os demais não existem do ponto de vista deles. Um papel é atribuído separadamente para cada VDC, então uma mesma conta pode ser administradora em um VDC e observadora em outro: o papel está vinculado ao par "usuário + VDC", e não à conta como um todo.
A mesma lista mostra o uso da capacidade. As colunas Running VMS, CPU (Cores) used of quota, RAM (GB) used of quota e Storage (GB) used of quota exibem pares "usado / permitido", de modo que uma única tela responde quanto um VDC já usou e quanto lhe é permitido, sem inspecionar objetos individuais. O segundo número é substituído por "∞" em um VDC sem limite definido para aquele recurso.
Os recursos entram em um VDC de três formas diferentes, e isso é fundamental para entender o isolamento. Máquinas virtuais, datasets e volumes são criados dentro de um VDC e pertencem a ele. Uma rede é um objeto no nível do cluster: ela entra em um VDC por atribuição na guia Networks do cartão do VDC, e uma rede pode ser atribuída a vários VDCs. Cada par VDC↔rede tem um limite de endereços próprio, mostrado na coluna Addrs limit da subguia IP Data, então uma rede compartilhada não significa um pool de endereços compartilhado. As imagens de SO seguem um terceiro modelo: uma imagem tem um VDC proprietário, e outros VDCs podem ver a imagem por meio de uma concessão de visibilidade.
As permissões sobre o próprio VDC pertencem a um papel no nível do cluster. Criar, modificar
e excluir um VDC, definir um limite de endereços de rede e visualizar os papéis atribuídos estão disponíveis apenas
para o papel Cluster master. Os papéis no nível do VDC, de vDC admin para
baixo, atuam dentro de um VDC. Atribuir e remover a atribuição de uma rede é a única operação desta lista com
uma regra menos restritiva: ela pode ser feita tanto por um Cluster master quanto por um vDC admin que
criou a rede.
O limite também vale para a exclusão. Um VDC vazio é excluído imediatamente. Um VDC com objetos não pode ser excluído: o vStack Center rejeita a solicitação e identifica o que está bloqueando a exclusão — redes atribuídas, portas, máquinas virtuais, datasets, volumes ou imagens de SO próprias. Isso impede que a exclusão de um VDC destrua silenciosamente o trabalho de outra pessoa. Se o armazenamento do VDC estiver habilitado, a exclusão se torna uma operação demorada: antes que o registro do VDC seja removido, o target iSCSI, os grupos de portais, os grupos de iniciadores, os conjuntos de credenciais CHAP e o dataset ZFS raiz são removidos em cascata.
O que pertence a um VDC
| Objeto | Como entra em um VDC | Comportamento quando o VDC é excluído |
|---|---|---|
| Máquinas virtuais | Criadas dentro do VDC | Bloqueiam a exclusão ("VDC has assigned VMs") |
| Redes | Atribuídas a partir do cluster na guia Networks | Bloqueiam a exclusão ("VDC has assigned networks") |
| Portas de rede | Surgem quando uma rede do VDC é conectada a uma VM | Bloqueiam a exclusão ("VDC has assigned ports") |
| Datasets | Criados nos pools de armazenamento do cluster | Bloqueiam a exclusão ("VDC has assigned datasets") |
| Volumes SDS | Criados no armazenamento do VDC | Bloqueiam a exclusão ("VDC has assigned volumes") |
| Imagens de SO próprias | Carregadas no VDC, que é o proprietário delas | Bloqueiam a exclusão; o vStack Center lista as imagens que a impedem |
| Imagens de SO com concessão de visibilidade | Tornadas visíveis a partir de outro VDC, que é o proprietário delas | Não bloqueiam a exclusão: as concessões são removidas automaticamente |
| Armazenamento do VDC | Habilitado em um pool de armazenamento | Removido em cascata antes que o registro do VDC seja excluído |
Quem pode fazer o quê
| Operação | Local na interface | Acesso |
|---|---|---|
| Listar os VDCs disponíveis | Site → guia Virtual Data Centers | Qualquer usuário; a lista é limitada pelas concessões dele |
| Criar um VDC | Guia Virtual Data Centers → Actions → Create a VDC | Cluster master |
| Alterar o nome, a descrição e as cotas | Cartão do VDC → seção Settings | Cluster master |
| Excluir um VDC | Cartão do VDC → Actions → Delete VDC | Cluster master |
| Atribuir uma rede a um VDC | Cartão do VDC → guia Networks → Primary → coluna Assign | Cluster master ou o criador da rede com o papel vDC admin |
| Remover a atribuição de uma rede de um VDC | Mesmo local | Mesmos requisitos da atribuição |
| Redes atribuídas a um VDC | Cartão do VDC → guia Networks → Primary | Qualquer usuário; a lista é limitada aos VDCs acessíveis |
| Limite de endereços de um par VDC↔rede | Guia Networks → IP Data → coluna Addrs limit | Cluster master |
| Papéis atribuídos em um VDC | Cartão do VDC → seção VDC roles | Cluster master |
A divisão é simples: os papéis no nível do cluster controlam o limite do VDC, enquanto os papéis no nível do VDC atuam dentro dele. A lista completa de papéis e escopos está na referência de papéis e privilégios.
Cotas como contrato de capacidade
Uma cota é o limite superior de um recurso para um VDC. Há cinco cotas, organizadas em dois grupos no cartão do VDC: Quotas contém CPU (núcleos), RAM (GB) e Storage (GB); Secondary limits contém CPU frequency e Snapshots. Um campo vazio significa que não há limite definido para aquele recurso; a lista de VDCs exibe esse recurso como "∞".
Ao lado das cotas fica o grupo Oversubscription factor, com os fatores de oversubscription de CPU, RAM e Storage. O fator é deliberadamente separado da cota: o limite de capacidade e a oversubscription permitida podem ser alterados de forma independente.
O uso é mostrado no mesmo lugar, no cartão: o contador Running VMS, três indicadores CPU, Memory e Storage rotulados com a cota atual e as linhas de resumo Quotas, Oversubscription e Limits. Para um VDC sem cota, o uso relativo não é calculado: não há valor pelo qual dividir. O conjunto exato de campos e tipos está listado na referência de cotas e recursos do VDC.
Ciclo de vida
Um VDC passa por três estados. A criação define o nome e, opcionalmente, as cotas; a interface web conduz você por um assistente de quatro etapas. Em seguida, o VDC opera e muda: a seção Settings no cartão dele permite editar o nome, a descrição, as cotas e os fatores de oversubscription, cada campo separadamente. Você pode manter um valor inalterado, limpá-lo ou definir um novo. A desativação usa Delete VDC no menu Actions e só tem êxito depois que todos os objetos forem removidos do VDC.
Os procedimentos passo a passo para os três estados estão em Como criar, modificar e excluir um VDC.
Métodos da API
As operações da API abordadas nesta página são vdc-list, vdc-create, vdc-set, vdc-delete,
vdc-assign-network, vdc-deassign-network, vdc-networks,
vdc-network-addr-limit e vdc-roles. Consulte a referência
da API.