Um pool de recursos é uma abstração lógica para gerenciamento flexível de recursos. Os pools de recursos podem ser agrupados em hierarquias e usados para particionar hierarquicamente os recursos de CPU e memória disponíveis.
Cada host autônomo e cada cluster DRS tem um pool de recursos raiz (invisível) que agrupa os recursos desse host ou cluster. O pool de recursos raiz não aparece porque os recursos do host (ou cluster) e do pool de recursos raiz são sempre os mesmos.
Os usuários podem criar pools de recursos filho do pool de recursos raiz ou de qualquer pool de recursos filho criado pelo usuário. Cada pool de recursos filho possui alguns dos recursos do pai e pode, por sua vez, ter uma hierarquia de pools de recursos filho para representar unidades sucessivamente menores de capacidade computacional.
Um pool de recursos pode conter pools de recursos filhos, máquinas virtuais ou ambos. Você pode criar uma hierarquia de recursos compartilhados. Os pools de recursos em um nível superior são chamados de pools de recursos pai. Pools de recursos e máquinas virtuais que estão no mesmo nível são chamados de irmãos. O próprio cluster representa o pool de recursos raiz. Se você não criar pools de recursos filho, existirão apenas os pools de recursos raiz.
No exemplo a seguir, RP-QA é o pool de recursos pai para RP-QA-UI. RP-Marketing e RP-QA são irmãos. As três máquinas virtuais imediatamente abaixo de RP-Marketing também são irmãs.
Para cada pool de recursos, você especifica reserva, limite, compartilhamentos e se a reserva deve ser expansível. Os recursos do pool de recursos ficam então disponíveis para pools de recursos filhos e máquinas virtuais.
Por que usar pools de recursos?
Os pools de recursos permitem que você delegue controle sobre os recursos de um host (ou cluster), mas os benefícios são evidentes quando você usa pools de recursos para compartimentar todos os recursos em um cluster. Crie vários pools de recursos como filhos diretos do host ou cluster e configure-os. Em seguida, você pode delegar o controle sobre os pools de recursos a outros indivíduos ou organizações.
O uso de pools de recursos pode resultar nos seguintes benefícios.
- Organização hierárquica flexível: adicione, remova ou reorganize pools de recursos ou altere as alocações de recursos conforme necessário.
- Isolamento entre pools, compartilhamento dentro de pools: os administradores de nível superior podem disponibilizar um pool de recursos para um administrador de nível de departamento. As alterações de alocação internas a um pool de recursos departamental não afetam injustamente outros pools de recursos não relacionados.
- Controle de acesso e delegação: quando um administrador de nível superior disponibiliza um pool de recursos para um administrador de nível de departamento, esse administrador pode executar toda a criação e gerenciamento de máquinas virtuais dentro dos limites dos recursos aos quais o pool de recursos tem direito pelo atual configurações de compartilhamentos, reservas e limites. A delegação geralmente é feita em conjunto com as configurações de permissões.
- Separação de recursos do hardware: se você estiver usando clusters habilitados para DRS, os recursos de todos os hosts serão sempre atribuídos ao cluster. Isso significa que os administradores podem realizar o gerenciamento de recursos independentemente dos hosts reais que contribuem para os recursos. Se você substituir três hosts de 2 GB por dois hosts de 3 GB, não precisará fazer alterações nas alocações de recursos.
Essa separação permite que os administradores pensem mais na capacidade de computação agregada e menos nos hosts individuais.
- Gerenciamento de conjuntos de máquinas virtuais que executam um serviço de várias camadas: agrupe máquinas virtuais para um serviço de várias camadas em um pool de recursos. Você não precisa definir recursos em cada máquina virtual. Em vez disso, você pode controlar a alocação agregada de recursos para o conjunto de máquinas virtuais alterando as configurações no pool de recursos delimitador.
Por exemplo, suponha que um host tenha várias máquinas virtuais. O departamento de marketing usa três das máquinas virtuais e o departamento de controle de qualidade usa duas máquinas virtuais. Como o departamento de controle de qualidade precisa de maiores quantidades de CPU e memória, o administrador cria um pool de recursos para cada grupo. O administrador define Compartilhamentos de CPU (CPU Shares) como Alto (High) para o pool do departamento de controle de qualidade e como Normal para o pool do departamento de Marketing para que os usuários do departamento de controle de qualidade possam executar testes automatizados. O segundo pool de recursos com menos recursos de CPU e memória é suficiente para a carga mais leve da equipe de marketing. Sempre que o departamento de controle de qualidade não estiver usando totalmente sua alocação, o departamento de marketing poderá usar os recursos disponíveis.
Os números na figura a seguir mostram as alocações efetivas para os pools de recursos.
Criar um pool de recursos
Você pode criar um pool de recursos filho de qualquer host ESXi, pool de recursos ou cluster DRS.
Pré-requisitos
O vSphere Client está conectado ao sistema vCenter Server.
Procedimento
Resultados
Exemplo: Como criar pools de recursos
Suponha que você tenha um host que forneça 6 GHz de CPU e 3 GB de memória que devem ser compartilhados entre os departamentos de marketing e controle de qualidade. Você também deseja compartilhar os recursos de forma desigual, dando a um departamento (QA) uma prioridade mais alta. Isso pode ser feito criando um pool de recursos para cada departamento e usando o atributo Shares para priorizar a alocação de recursos.
O exemplo mostra como criar um pool de recursos com o host ESXi como o recurso pai.
- Na caixa de diálogo Novo Pool de Recursos (New Resource Pool), digite um nome para o pool de recursos do departamento de controle de qualidade (por exemplo, RP-QA).
- Especifique Shares de High para os recursos de CPU e memória do RP-QA.
- Crie um segundo pool de recursos, RP-Marketing.
Deixe os compartilhamentos em Normal para CPU e memória.
- Clique em OK.
Se houver contenção de recursos, o RP-QA receberá 4 GHz e 2 GB de memória e o RP-Marketing 2 GHz e 1 GB. Caso contrário, eles poderão receber mais do que essa cota. Esses recursos ficam então disponíveis para as máquinas virtuais nos respectivos pools de recursos.
Editar um pool de recursos
Depois de criar o pool de recursos, você pode editar suas configurações de recursos de CPU e memória.
Procedimento
- Navegue até o pool de recursos no vSphere Client.
- Selecione Editar configurações do recurso (Edit Resource Settings) no menu suspenso Ações (Actions).
- (Opcional) Você pode alterar todos os atributos do pool de recursos selecionado conforme descrito em Criar um pool de recursos.
- Marque a caixa de seleção se quiser habilitar compartilhamentos escaláveis.
Observação: Os compartilhamentos são dimensionados no nível pai. Todos os pools de recursos descendentes criados a partir de um pai com compartilhamentos escalonáveis têm compartilhamentos escalonáveis por padrão.
- Em CPU, selecione Configurações de recursos da CPU.
- Em Memória (Memory), selecione configurações de recursos de memória.
- Marque a caixa de seleção se quiser habilitar compartilhamentos escaláveis.
- Clique em OK para salvar suas alterações.
Adicionar uma máquina virtual a um pool de recursos
Ao criar uma máquina virtual, você pode especificar um local do pool de recursos como parte do processo de criação. Você também pode adicionar uma máquina virtual existente a um pool de recursos.
- A reserva e o limite da máquina virtual não são alterados.
- Se os compartilhamentos da máquina virtual forem altos, médios ou baixos, %Shares se ajustará para refletir o número total de compartilhamentos em uso no novo pool de recursos.
- Se a máquina virtual tiver compartilhamentos personalizados atribuídos, o valor do compartilhamento será mantido.
Observação: Como as alocações de compartilhamento são relativas a um pool de recursos, talvez você precise alterar manualmente os compartilhamentos de uma máquina virtual ao movê-la para um pool de recursos para que os compartilhamentos da máquina virtual sejam consistentes com os valores relativos no novo pool de recursos. Um aviso será exibido se uma máquina virtual receber uma porcentagem muito grande (ou muito pequena) do total de compartilhamentos.
- Em Monitor, as informações exibidas na guia Reserva de recursos (Resource Reservation) sobre os recursos de memória e CPU reservados e não reservados do pool de recursos são alteradas para refletir as reservas associadas à máquina virtual (se houver).
Observação: Se uma máquina virtual tiver sido desligada ou suspensa, ela poderá ser movida, mas os recursos gerais disponíveis (como CPU e memória reservada e não reservada) para o pool de recursos não serão afetados.
Procedimento
- Navegue até a máquina virtual no vSphere Client.
- Para encontrar uma máquina virtual, selecione um centro de dados, uma pasta, um cluster, um pool de recursos ou um host.
- Clique na guia VMs.
- Clique com o botão direito do mouse na máquina virtual e clique em Migrar (Migrate).
- Você pode mover a máquina virtual para outro host.
- Você pode mover o armazenamento da máquina virtual para outro datastore.
- Você pode mover a máquina virtual para outro host e mover seu armazenamento para outro datastore.
- Selecione um pool de recursos no qual executar a máquina virtual.
- Revise suas seleções e clique em Concluir (Finish).
Resultados
Se uma máquina virtual estiver ligada e o pool de recursos de destino não tiver CPU ou memória suficiente para garantir a reserva da máquina virtual, a movimentação falhará porque o controle de admissão não o permite. Uma caixa de diálogo de erro exibe os recursos disponíveis e solicitados, para que você possa considerar se um ajuste pode resolver o problema.
Remover uma máquina virtual de um pool de recursos
Você pode remover uma máquina virtual de um pool de recursos movendo a máquina virtual para outro pool de recursos ou excluindo-a.
Quando você remove uma máquina virtual de um pool de recursos, o número total de compartilhamentos associados ao pool de recursos diminui, para que cada compartilhamento restante represente mais recursos. Por exemplo, suponha que você tenha um pool com direito a 6 GHz, contendo três máquinas virtuais com compartilhamentos definidos como Normal. Supondo que as máquinas virtuais sejam vinculadas à CPU, cada uma recebe uma alocação igual de 2 GHz. Se uma das máquinas virtuais for movida para um pool de recursos diferente, as duas máquinas virtuais restantes receberão, cada uma, uma alocação igual de 3 GHz.
Procedimento
- Navegue até o pool de recursos no vSphere Client.
- Escolha um dos seguintes métodos para remover a máquina virtual de um pool de recursos.
- Clique com o botão direito do mouse na máquina virtual e selecione Mover para... (Move To...) para mover a máquina virtual para outro pool de recursos.
Você não precisa desligar a máquina virtual antes de movê-la.
- Clique com o botão direito do mouse na máquina virtual e selecione Excluir do disco (Delete from Disk).
Você deve desligar a máquina virtual antes de removê-la completamente.
- Clique com o botão direito do mouse na máquina virtual e selecione Mover para... (Move To...) para mover a máquina virtual para outro pool de recursos.
Remover um pool de recursos
Você pode remover um pool de recursos do inventário.
Procedimento
Controle de admissão do pool de recursos
Quando você liga uma máquina virtual em um pool de recursos ou tenta criar um pool de recursos filho, o sistema executa um controle de admissão adicional para garantir que as restrições do pool de recursos não sejam violadas.
Antes de ligar uma máquina virtual ou criar um pool de recursos, certifique-se de que recursos suficientes estejam disponíveis usando a guia Reserva de recursos (Resource Reservation) no vSphere Client. O valor de Reserva disponível (Available Reservation) para CPU e memória exibe os recursos que não são reservados.
A forma como os recursos de CPU e memória disponíveis são calculados e se as ações são executadas dependem do Tipo de reserva (Reservation Type).
Tipo de reserva | Descrição |
---|---|
Corrigido (Fixed) | O sistema verifica se o pool de recursos selecionado tem recursos não reservados suficientes. Em caso afirmativo, a ação poderá ser executada. Caso contrário, uma mensagem será exibida e a ação não poderá ser executada. |
Expansível (Expandable) (padrão) |
O sistema considera os recursos disponíveis no pool de recursos selecionado e em seu pool de recursos pai direto. Se o pool de recursos pai também tiver a opção Reserva expansível (Expandable Reservation) selecionada, ele poderá emprestar recursos de seu pool de recursos pai. O empréstimo de recursos ocorre de forma recursiva a partir dos ancestrais do pool de recursos atual, desde que a opção Reserva expansível (Expandable Reservation) esteja selecionada. Deixar essa opção selecionada oferece mais flexibilidade, mas, ao mesmo tempo, oferece menos proteção. Um proprietário de pool de recursos filho pode reservar mais recursos do que o previsto. |
O sistema não permite que você viole as configurações pré-configuradas de Reserva (Reservation) ou Limite (Limit). Sempre que você reconfigurar um pool de recursos ou ligar uma máquina virtual, o sistema validará todos os parâmetros para que todas as garantias de nível de serviço ainda possam ser atendidas.
Exemplo de reservas expansíveis 1
Este exemplo mostra como funciona um pool de recursos com reservas expansíveis.
Suponha que um administrador gerencie o pool P e defina dois pools de recursos filho, S1 e S2, para dois usuários (ou grupos) diferentes.
O administrador sabe que os usuários desejam ligar as máquinas virtuais com reservas, mas não sabe quanto cada usuário precisará reservar. Tornar as reservas para S1 e S2 expansíveis permite que o administrador compartilhe e herde com mais flexibilidade a reserva comum para o pool P.
Sem reservas expansíveis, o administrador precisa alocar explicitamente S1 e S2 um valor específico. Essas alocações específicas podem ser inflexíveis, especialmente em hierarquias profundas do pool de recursos, e podem complicar a configuração de reservas na hierarquia do pool de recursos.
As reservas expansíveis causam uma perda de isolamento estrito. S1 pode começar a usar toda a reserva de P, para que nenhuma memória ou CPU esteja diretamente disponível para S2.
Exemplo de reservas expansíveis 2
Este exemplo mostra como funciona um pool de recursos com reservas expansíveis.
Suponha o seguinte cenário, conforme mostrado na figura.
- O pool pai RP-MOM tem uma reserva de 6 GHz e uma máquina virtual em execução VM-M1 que reserva 1 GHz.
- Você cria um RP-KID de pool de recursos filho com uma reserva de 2 GHz e com a opção Reserva expansível (Expandable Reservation) selecionada.
- Adicione duas máquinas virtuais, VM-K1 e VM-K2, com reservas de 2 GHz cada ao pool de recursos filho e tente ligá-las.
- A VM-K1 pode reservar os recursos diretamente do RP-KID (que tem 2 GHz).
- Nenhum recurso local está disponível para o VM-K2, portanto, ele empresta recursos do pool de recursos pai, RP-MOM. O RP-MOM tem 6 GHz menos 1 GHz (reservado pela máquina virtual) menos 2 GHz (reservado pelo RP-KID), o que deixa 3 GHz não reservado. Com 3 GHz disponível, você pode ligar a máquina virtual de 2 GHz.
Agora, considere outro cenário com VM-M1 e VM-M2.
- Ligue duas máquinas virtuais no RP-MOM com uma reserva total de 3 GHz.
- Você ainda pode ligar a VM-K1 no RP-KID porque 2 GHz estão disponíveis localmente.
- Quando você tenta ligar a VM-K2, o RP-KID não tem capacidade de CPU não reservada, portanto, verifica seu pai. O RP-MOM tem apenas 1 GHz de capacidade não reservada disponível (5 GHz de RP-MOM já estão em uso — 3 GHz reservados pelas máquinas virtuais locais e 2 GHz reservados pelo RP-KID). Como resultado, você não pode ligar a VM-K2, o que requer uma reserva de 2 GHz.