Configurando a Alta Disponibilidade no Serviço Compute

Os administradores podem definir parâmetros para controlar como o serviço Compute tenta manter as instâncias disponíveis em resposta a interrupções planejadas ou não planejadas do nó de computação. As definições de alta disponibilidade do serviço de computação afetam todas as instâncias de computação e interagem com as definições de recuperação de instância individuais.

Quando a manutenção planejada precisa ser executada, um nó de computação é evacuado. Se possível, o serviço Compute migra todas as instâncias em execução para outros nós de computação no mesmo domínio de falha. Se esse cenário padrão não puder ser executado, os parâmetros de alta disponibilidade (HA), no nível do serviço Compute e da instância individual, determinarão mais opções para migrar, interromper e recuperar as instâncias de computação afetadas.

No caso de uma interrupção não planejada do nó de computação, o serviço Compute interromperá as instâncias e, se a interrupção persistir, tentará evacuar o nó de computação reiniciando as instâncias afetadas em outros nós de computação. Esta forma automatizada de migração a frio é chamada migração de reinicialização.

Configuração de Alta Disponibilidade do Instance and Compute Service

A configuração de alta disponibilidade (HA) do serviço Compute permite gerenciar resultados para diferentes tipos de interrupções de nó de computação. A ação de recuperação de disponibilidade da instância é a única configuração de alta disponibilidade definida para cada instância. Todas as outras configurações de alta disponibilidade são definidas no serviço Compute e afetam todas as instâncias.

O domínio de falha selecionado é o domínio de falha especificado na configuração da instância. Uma instância deslocada está em um domínio de falha que não é o domínio de falha selecionado.

Interrupção de Manutenção Planejada

Consulte Operações de Manutenção de Nó de Computação para obter informações sobre como evacuar um nó de computação. Se possível, o serviço Compute migra instâncias em execução para outros nós de computação no mesmo domínio de falha. A seção também descreve como usar a ação de recuperação de disponibilidade da instância (definida em cada instância) e as propriedades Recuperação Automática e Resolução Automática do serviço Compute ao executar uma evacuação do nó de computação.

Paralisações do Sistema Não Planejadas

O serviço Compute tenta interromper as instâncias e reinicializar a migração das instâncias nas seguintes condições de indisponibilidade do nó de computação:

  • Desligar do status HW

  • Incapacidade de acessar a rede de dados do nó de computação

Um nó de computação pode sofrer uma interrupção em que o serviço Compute não pode migrar as instâncias. Por exemplo, se o serviço Compute não puder atingir o nó de computação, o serviço Compute não poderá interromper e reinicializar a migração das instâncias.

Interrupção Não Planejada Menor que Cinco Minutos

Em uma interrupção não planejada, o serviço Compute interrompe as instâncias afetadas. Se a interrupção durar menos de cinco minutos, por padrão, o serviço Compute tentará reiniciar as instâncias que estavam em execução antes da interrupção. O comportamento real depende de como as instâncias e o serviço Compute são configurados. O fluxo de decisão a seguir descreve como você pode controlar esse comportamento.

Deseja que o serviço Compute tente reiniciar as instâncias que estavam em execução antes da interrupção? Este é o padrão.

  • Sim. Verifique se a Recuperação Automática está ativada e se a ação de recuperação de disponibilidade da instância está definida como RESTORE_INSTANCE. Consulte Configurando o Estado de Recuperação de uma Instância Interrompida.

    Se algumas instâncias não puderem mais ser acomodadas em seu domínio de falha selecionado, a Recuperação Automática continuará a sondar e a tentar reiniciar as instâncias. Consulte também getForcedStoppedInstances.

    Se a ação de recuperação de disponibilidade da instância for definida como STOP_INSTANCE, a instância permanecerá interrompida, mesmo que a Recuperação Automática esteja ativada.

  • Não. Desativar Recuperação Automática. As instâncias que estavam em execução antes da interrupção permanecerão interrompidas.

A definição da ação de recuperação de disponibilidade da instância e a definição de Recuperação Automática podem ser alteradas a qualquer momento, e as alterações entrarão em vigor no próximo horário de sondagem.

Interrupção Não Planejada por Mais de Cinco Minutos

Em uma interrupção não planejada, o serviço Compute interrompe as instâncias afetadas. Se a interrupção durar mais de cinco minutos, por padrão, o serviço Compute tentará reinicializar as instâncias de migração (migração a frio) fora do nó de computação. As instâncias que não podem ser acomodadas em outros nós de computação no mesmo domínio de falha são migradas com reinicialização para outros domínios de falha. O comportamento real depende de como o serviço Compute está configurado. O fluxo de decisão a seguir descreve como você pode controlar esse comportamento.

Deseja que as instâncias em execução sejam migradas com reinicialização? A migração de reinicialização está interrompendo e iniciando cada instância em execução em um determinado nó de computação. Consulte também Configuração de Alta Disponibilidade para Instâncias do Serviço Compute.

  • Sim. Verifique se a Alta Disponibilidade da VM está ativada.

    Se algumas instâncias não puderem ser acomodadas em outro nó de computação no mesmo domínio de falha, você deseja que essas instâncias sejam reinicializadas e migradas para outro domínio de falha?

    • Sim. Verifique se o FD Estrito está desativado. As instâncias que não podem ser acomodadas em nenhum domínio de falha permanecem interrompidas pelo serviço Compute.

      Após a migração com reinicialização, você deseja que as instâncias que estão em execução em um domínio de falha que não é o domínio de falha selecionado sejam migradas automaticamente ao vivo para o domínio de falha selecionado quando os recursos estiverem disponíveis?

      • Sim. Verifique se a Resolução Automática está ativada. Consulte também getDisplacedInstances.

      • Não. Desativar Resolução Automática.

    • Não. Ativar FD Estrito As instâncias que estavam em execução antes da interrupção e não podem ser migradas para outro nó de computação no domínio de falha atual permanecem interrompidas pelo serviço Compute.

  • Não. Desative a Alta Disponibilidade da VM. As instâncias que estavam em execução antes da interrupção são interrompidas pelo serviço Compute.

Deseja que as instâncias que foram interrompidas pelo serviço Compute sejam restauradas automaticamente para execução no domínio de falha selecionado? Se sim, verifique se a Recuperação Automática está ativada e se a ação de recuperação de disponibilidade da instância está definida como RESTORE_INSTANCE. Consulte Configurando o Estado de Recuperação de uma Instância Interrompida.

Exibindo e Definindo a Configuração do Compute Service

Para obter informações sobre como essas definições de configuração funcionam, consulte Comandos de Configuração do Compute Service.

Usando a UI da Web de Serviço

No menu de navegação, clique em Instâncias FD e em Detalhes do Serviço de Computação.

A página Informações do Serviço Compute mostra as definições atuais para Recuperação Automática, Resolver Automaticamente Instâncias Deslocadas, Alta Disponibilidade de VM e FD Estrito. Todas essas configurações são habilitadas por padrão, exceto para Strict FD, que é desabilitado por padrão. Por padrão, o posicionamento do domínio de falha não é estritamente imposto quando o serviço Compute migra instâncias.

Use o menu Controles na página Informações do Serviço Compute para alterar os valores dessas definições de configuração entre Ativado e Desativado.

Usando a CLI do Serviço

Use o comando show computeservice para mostrar as definições de configuração atuais do serviço Compute. No exemplo a seguir, os valores padrão são definidos para as quatro definições de configuração de alta disponibilidade: Auto Recovery Action Enabled, Auto-Resolve Displaced Instances Enabled, VM High Availability Enabled e Strict FD Enabled. Todas essas definições são verdadeiras por padrão, exceto Strict FD Enabled, que é falsa por padrão.

PCA-ADMIN> show computeservice
Data:
 Id = unique_ID
 Type = ComputeService
 total CN cpu usage percent = 23.3
 total CN memory usage percent = 16.2
 Auto Recovery Action Enabled = true
 Auto-Resolve Displaced Instances Enabled = true
 VM High Availability Enabled = true
 Strict FD Enabled = false
 Name = Compute Service
 Work State = Normal

Para alterar essas configurações, use os comandos na lista a seguir. O comando showcustomcmds computeservice lista todos os comandos de configuração de alta disponibilidade no serviço Compute.

PCA-ADMIN> showcustomcmds computeservice
    enableAutoRecoveryAction
    disableAutoRecoveryAction
    enableAutoResolveDisplacedInstances
    disableAutoResolveDisplacedInstances
    enableVmHighAvailability
    disableVmHighAvailability
    enableStrictFD
    disableStrictFD
    getForcedStoppedInstances
    getDisplacedInstances

Por exemplo, para desativar o comando Auto Recovery Action Enabled, execute o comando disableAutoRecoveryAction. Para ativar a imposição rigorosa do domínio de falha, execute o comando enableStrictFD.

Comandos de Configuração do Compute Service

Os comandos da CLI do Serviço para a configuração HA do serviço Compute são mostrados na lista a seguir. Para acessar as definições equivalentes da UI da Web do Serviço, clique no menu de navegação e clique em Instâncias FD. Consulte Exibindo e Definindo a Configuração do Serviço Compute.

Nessas descrições, o domínio de falha selecionado é o domínio de falha especificado na configuração da instância. Uma instância deslocada está em um domínio de falha que não é o domínio de falha selecionado.

enableAutoRecoveryAction

Permite a reinicialização automática de instâncias que foram interrompidas pelo serviço Compute. Este é o padrão. Se a ação de recuperação de disponibilidade da instância for definida como RESTORE_INSTANCE, esse comando fará com que as instâncias que foram interrompidas pelo serviço Compute sejam reiniciadas automaticamente no domínio de falha selecionado quando os recursos estiverem disponíveis. Consulte também Configurando o Estado de Recuperação para uma Instância Interrompida e getForcedStoppedInstances.

As instâncias poderiam ter sido interrompidas pelo serviço Compute pelos seguintes motivos:

  • Como resultado da especificação da opção de imposição em uma operação de migração, não foi possível migrar todas as instâncias. Consulte Operações de Manutenção do Nó de Computação.

  • Como resultado de uma interrupção não planejada do nó de computação.

Você pode definir essa propriedade de Recuperação Automática a qualquer momento antes ou depois de uma interrupção de manutenção administrativa ou de uma interrupção não planejada para reiniciar as instâncias interrompidas pelo serviço Compute. Se a ação de recuperação de disponibilidade da instância for definida como STOP_INSTANCE, a instância permanecerá interrompida mesmo que a propriedade Recuperação Automática esteja ativada. Se a ação de recuperação de disponibilidade da instância for alterada posteriormente para RESTORE_INSTANCE, uma passagem de Recuperação Automática subsequente reiniciará a instância.

disableAutoRecoveryAction

Desativa a reinicialização automática de instâncias interrompidas. As instâncias que foram interrompidas pelo serviço Compute não são reiniciadas automaticamente quando os recursos estão disponíveis.

enableAutoResolveDisplacedInstances

Permite o retorno de instâncias em execução para o domínio de falha selecionado. Este é o padrão. Se as instâncias tiverem sido movidas para outro domínio de falha (deslocado) durante a evacuação do nó de computação, esse comando permitirá que essas instâncias sejam migradas automaticamente ao vivo para o domínio de falha selecionado quando recursos suficientes estiverem disponíveis nesse domínio de falha. Consulte também getDisplacedInstances.

Você pode definir essa configuração de Resolução Automática a qualquer momento antes ou depois de uma interrupção para realocar qualquer instância deslocada. As instâncias interrompidas não são migradas.

disableAutoResolveDisplacedInstances

Desativa o retorno de instâncias para o domínio de falha selecionado. As instâncias que foram movidas para outro domínio de falha durante a evacuação do nó de computação permanecem no domínio de falha para o qual foram movidas.

enableVmHighAvailability

Ativa a Alta Disponibilidade (migração de reinicialização) fora de um nó de computação inacessível. Este é o padrão.

disableVmHighAvailability

Desativa a migração de reinicialização.

enableStrictFD

Ativa a aplicação rigorosa do domínio de falha. Durante a evacuação do nó de computação, qualquer instância que não puder ser movida para outro nó de computação no mesmo domínio de falha será interrompida se a opção de imposição for especificada. Se a opção de imposição não foi especificada, a operação de migração falha.

disableStrictFD

Desativa a aplicação rigorosa do domínio de falha. Este é o padrão. Durante a evacuação do nó de computação, qualquer instância que não puder ser movida para outro nó de computação no mesmo domínio de falha será movida para outro domínio de falha. Essa movimentação para outro domínio de falha será temporária se a propriedade Resolução Automática do serviço Compute estiver ativada: Se a Resolução Automática estiver ativada, quando os recursos se tornarem disponíveis, as instâncias movidas serão migradas ao vivo de volta para o domínio de falha selecionado. Consulte também getDisplacedInstances.

getForcedStoppedInstances

Lista todas as instâncias que foram interrompidas por meio do uso da opção de imposição na operação de migração ou que foram interrompidas pelo serviço Compute em resposta a uma interrupção não planejada.

PCA-ADMIN> getForcedStoppedInstances
Data:
 id                        displayName  compartmentId
 --                        -----------  -------------
 ocid1.instance.unique_ID  inst-name    ocid1.compartment.unique_ID

Na UI do Service Web, clique no menu de navegação, clique em Instâncias FD e, em seguida, clique em Instâncias Paradas Forçadas. Use o menu Ações para copiar os OCIDs.

getDisplacedInstances

Lista as instâncias que estão em execução no momento em um domínio de falha que não é o domínio de falha selecionado. As instâncias que não estão em execução não são mostradas.

No exemplo a seguir, as instâncias em execução estão sendo migradas do domínio de falha 1. Uma instância foi colocada no domínio de falha 2 e uma foi colocada no domínio de falha 3.

PCA-ADMIN> getDisplacedInstances
Data:
 id                        displayName  compartmentId                faultDomain     faultDomainSelected
 --                        -----------  -------------                -----------     -------------------
 ocid1.instance.unique_ID  inst-name    ocid1.compartment.unique_ID  FAULT-DOMAIN-3  FAULT-DOMAIN-1
 ocid1.instance.unique_ID  inst-name    ocid1.compartment.unique_ID  FAULT-DOMAIN-2  FAULT-DOMAIN-1

Na UI do Service Web, clique no menu de navegação, clique em Instâncias FD e, em seguida, clique em Instâncias Deslocadas. Use o menu Ações para copiar os OCIDs.

Configurando o Estado de Recuperação de uma Instância Interrompida

Se o serviço Compute tiver interrompido uma instância, você poderá configurar como essa instância interrompida será tratada quando os recursos estiverem novamente disponíveis, definindo a ação de recuperação de disponibilidade da instância e a propriedade Recuperação Automática do serviço Compute.

Consulte a descrição do comando enableAutoRecoveryAction em Comandos de Configuração do Serviço Compute por motivos que podem ser interrompidos por uma instância pelo serviço Compute. Consulte também as descrições de disableAutoRecoveryAction e getForcedStoppedInstances.

Durante a inicialização da instância ou em uma atualização subsequente da instância, defina a ação de recuperação da instância na configuração de disponibilidade da instância.

Na IU da Web do Compute, consulte a seção "Configuração de disponibilidade" na caixa de diálogo para criar ou editar uma instância ou criar ou editar uma configuração de instância. Para reiniciar as instâncias que foram interrompidas pelo serviço Compute, marque a caixa "Restaurar estado do ciclo de vida da instância após a manutenção da infraestrutura". Este é o padrão. Para manter as instâncias interrompidas interrompidas, desmarque a caixa "Restaurar instância".

Na CLI do OCI, use a opção --availability-config ou a propriedade availabilityConfig no comando launch ou update da instância de computação ou o comando create ou update da configuração da instância. Defina o recoveryAction como RESTORE_INSTANCE ou STOP_INSTANCE. O comportamento padrão é RESTORE_INSTANCE.

"availabilityConfig": {"recoveryAction": "STOP_INSTANCE"}

Ativando a Aplicação Estrita do Domínio de Falha

Para ativar a aplicação rigorosa do domínio de falha, execute um dos seguintes procedimentos:

  • Na UI do Service Web, clique no menu de navegação, clique em Instâncias FD e clique em Detalhes do Compute Service. Na página Informações do Serviço de Computação, clique no menu Controles e clique em Ativar FD Estrito.

  • Na CLI do Serviço, execute o comando enableStrictFD.

Para obter mais informações sobre o efeito da imposição do domínio de falha, consulte Comandos de Configuração do Compute Service.

Caso o domínio de falha atual não tenha recursos suficientes para acomodar todas as instâncias que precisam ser migradas, faça o seguinte:

  • Se você estiver executando uma evacuação planejada do nó de computação, especifique a opção de imposição na operação de migração para interromper as instâncias no domínio de falha atual.

  • Execute o comando enableAutoRecoveryAction ou selecione Ativar Recuperação Automática na UI da Web do Serviço.

  • Certifique-se de que a ação de recuperação de disponibilidade da instância para cada instância esteja definida como RESTORE_INSTANCE, que é o padrão. Consulte Configurando o Estado de Recuperação de uma Instância Interrompida.

Consulte o exemplo em Evacuando um Nó de Computação.