Como gerenciar um pedido global de inicialização de VM em todo o datacenter?


14

Suponha que você tenha uma infraestrutura VMware totalmente virtualizada: ESXi, vCenter, vMotion, HA, DRS, todo o pacote.

Por dentro, você tem muitas VMs, que a qualquer momento podem residir em um host ou em outro (esse é o ponto principal do armazenamento em cluster, não é?).

Você experimenta uma perda de energia e, de uma maneira ou de outra, consegue desligar normalmente todas as VMs e todos os hosts; não vamos nos aprofundar nisso por enquanto, vamos supor que o software da UPS possa lidar com isso. Ou, pelo menos, vamos supor que o desligamento não tenha sido tão gracioso, mas tudo ainda poderá voltar a funcionar assim que a energia for restaurada.

A energia volta e seus hosts são reiniciados.

Seu ambiente é bastante complexo e possui dependências naturais entre as VMs: os controladores de domínio devem iniciar primeiro, um servidor de aplicativos não pode ser iniciado, a menos que seu servidor de banco de dados de back-end já esteja em funcionamento e assim por diante.

Todos nós sabemos (ou esperamos saber) como configurar a inicialização automática da VM e como especificar uma ordem de inicialização da VM e atrasar em um único host ESX / i.

Mas como fazer isso em um datacenter inteiro?

Existe alguma maneira de dizer ao vSphere "inicie essas VMs nesta ordem global, independentemente do host físico em que está executando"?

Pontos de bônus: se o próprio vCenter estiver sendo executado em uma máquina virtual, como isso muda as coisas?

Respostas:


7

Não parece haver uma maneira limpa de gerenciar totalmente uma inicialização a frio de uma infraestrutura virtual depois que a HA for configurada nos hosts individuais. A ativação do HA e DRS parece desativar as opções de Inicialização e Desligamento da Máquina Virtual nos servidores host. No entanto, qualquer conjunto de pedidos antes que o host seja movido para o cluster parece permanecer. Se o número de hosts for pequeno ou gerenciável, é possível definir a prioridade de inicialização no cliente vSphere conectando-se aos hosts individualmente. Coloque suas regras lá. Isso realmente funciona na situação que você descreve.

insira a descrição da imagem aqui

O armazenamento vem em primeiro lugar!

Depois que o armazenamento compartilhado termina, eu trabalho nos hosts ... Eu tive interrupções parciais onde o vCenter também virtualizou. O que faço neste caso é definir opções de inicialização e pedido automáticas para os sistemas mais críticos; normalmente um controlador de domínio e DNS / DHCP. Lembre-se de que o vCenter provavelmente não estará disponível no cenário de inicialização a frio. Se eu puder encaixar, então eu vou ... caso contrário, ele será iniciado manualmente.

A partir daí, garanto que as regras de HA e DRS estão intactas. Normalmente, tenho regras de falta de afinidade definidas para servidores de terminal, servidores de aplicativos e controladores de domínio. Depois que o vCenter é instalado, a maior parte disso é resolvida.

Há algumas semanas, tive um relâmpago que tomou parte da minha sala de servidores, incluindo o blade de switch que continha a rede de armazenamento. O VMWare HA trouxe tudo de volta depois que as portas do comutador de armazenamento foram realocadas e reprogramadas.

Portanto, esse tipo de problema se enquadra em uma emergência real ou em um esforço manual. Eu não esperaria uma inicialização imediata do ambiente do sistema no cenário que você descreve.

Editar:

Há duas semanas, tive um apagão que tropeçou em um no-break. Dois hosts, VC e um dispositivo SAN / NAS. Tudo voltou por conta própria e eu não tive que intervir (eu estava de avião e recebi as mensagens ao pousar).


Sim, eu sei que um desligamento total do datacenter é (espero ...) uma coisa incomum, portanto é mais provável que alguém esteja lá para reiniciar tudo. Mas seria bom ter algo para lidar com isso automaticamente ...
Massimo

Editar: você pode se conectar aos hosts individualmente e definir a prioridade de inicialização da VM, mesmo quando estiverem em um cluster de alta disponibilidade. Obtenha seus DCs e DNS e serviços básicos lá. Então inicie o Virtual Center.
ewwhite

Mas isso só pode ser feito para VMs hospedadas em um determinado host ... e não terão efeito assim que as VMs forem movidas para outro lugar.
Massimo

Ainda funciona. Acabei de ativar a inicialização e o desligamento automáticos em hosts individuais, defina uma prioridade de inicialização e reconfigurar o HA apenas para ter certeza. Mover uma VM com uma prioridade numerada para outro host coloca em qualquer categoria de pedido no destino. Portanto, a VM definitivamente iniciará automaticamente.
EJrite

Ok, ele será iniciado automaticamente; mas em qualquer ordem . Oh, bem, melhor do que não começar, é claro ...
Massimo

3

Você pode configurar um vApp para ajudar na ordem de inicialização e desligamento.

Para pedir emprestado deste segmento do vApp :

Se o seu cluster sofrer uma falha catastrófica, você terá algumas opções para garantir a prioridade de reinicialização da VM. Eu gosto de criar vApps para isso e arrastar / soltar as VMs em questão neste vApp. Digamos que você deseja que seu servidor de banco de dados seja iniciado antes do servidor da Web, então você os arrasta para o seu novo vApp. Você pode clicar com o botão direito do mouse no vApp -> Editar configurações -> guia Iniciar pedido -> e verá o Grupo 1 e o Grupo 2. Na parte inferior da janela, observe que "Todas as entidades do mesmo grupo foram iniciadas antes para o próximo grupo. O desligamento é feito na ordem inversa. " Bem, você pode mover seus servidores para os grupos usando as setas ao lado da caixa (eu as circulei na imagem em anexo). Por fim, o VMware oferece a capacidade de determinar se as VMs do Grupo 2 (e do Grupo 3 e 4,

Configurações do pedido inicial do vApp


Isso é útil apenas para vApps, não para VMs genéricas.
Massimo

3
Algumas organizações simplesmente agrupam VMs em vApps com esse único objetivo.
jftuga
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.