Observação:

Chamar scripts personalizados usando o comando de execução com o Oracle Cloud Infrastructure Full Stack Disaster Recovery

Introdução

Oracle Cloud Infrastructure (OCI) Full Stack Disaster Recovery orquestra a transição de computação, banco de dados e aplicativos entre regiões do OCI de todo o mundo com um único clique. Os clientes podem automatizar as etapas necessárias para recuperar um ou mais sistemas de negócios sem recriar ou reestruturar a infraestrutura, bancos de dados ou aplicativos existentes e sem precisar de servidores especializados de gerenciamento ou conversão.

O OCI Full Stack Disaster Recovery oferece flexibilidade excepcional. Ele permite que você utilize grupos definidos pelo usuário no plano de Recuperação de Desastres, permitindo o gerenciamento de etapas personalizadas como parte do plano geral de recuperação de desastres. Depois que a Recuperação de Desastres de Pilha Completa estabelecer o plano inicial de recuperação de desastres com grupos e etapas de planos incorporados, você poderá incorporar grupos e etapas de planos adicionais definidos pelo usuário. Você pode chamar scripts e Funções do OCI com um grupo de planos definido pelo usuário.

O comando run do OCI Compute é executado usando o Oracle Cloud Agent disponível na instância do OCI Compute. O Oracle Cloud Agent é um processo leve que gerencia plug-ins em execução na instância do OCI Compute. OS plug-ins coletam métricas de desempenho, instalam atualizações do sistema operacional e realizam outras tarefas de gerenciamento de instâncias. Para executar scripts usando o comando run, você deve ter as instâncias de computação (movendo ou não) adicionadas como membros no grupo de proteção de recuperação de desastres.

A Recuperação de Desastres de Pilha Completa cria uma VM na região de recuperação de desastres para mover instâncias durante a execução do plano de recuperação de desastres. Quando as VMs são iniciadas, você pode usar o recurso de comando de execução para executar etapas adicionais usando scripts. Exemplos: Alterações na configuração do balanceador de carga, Conectar a um banco de dados e atualizar tabela, interromper e iniciar servidores de aplicativos. Com base em seus requisitos, você também pode usar a configuração cloud-init ou systemd na instância de computação para iniciar seus aplicativos ou qualquer outra operação durante o início da instância. A opção de comando run no plano de recuperação de desastres tem melhor flexibilidade, como o uso de scripts escritos em qualquer idioma, e opções de observabilidade como stop/restart/log monitoring em um único plano de vidro. Para instâncias não móveis, como as VMs já são criadas na região de recuperação de desastres, o recurso de comando de execução seria a opção ideal para usar scripts para iniciar/interromper aplicativos, bancos de dados etc.

Neste tutorial, discutirá como usar o recurso de Comando run do OCI Compute usando a movimentação de instâncias e executar scripts como parte de um plano de Recuperação de Desastres de Pilha Completa Grupo de planos e etapas definidos pelo usuário.

Objetivos

Para mover uma instância entre duas regiões do OCI e chamar scripts personalizados usando o recurso Comando run do OCI Compute em Grupos de Planos e Etapas Definidos pelo Usuário no Plano de Recuperação de Desastres de Pilha Completa. A região principal é Ashburn e a região Recuperação de Desastres é Phoenix.

Você pode usar o usuário com privilégios "administrador" ou equivalentes para criar recursos do OCI IAM (Oracle Cloud Infrastructure Identity and Access Management) e executar operações de Recuperação de Desastres de Pilha Completa com um comando run. Como alternativa, você pode criar um usuário separado para o administrador de Recuperação de Desastres de Pilha Completa e designar os recursos necessários do OCI IAM para executar operações de Recuperação de Desastres de Pilha Completa com o comando de execução. Este artigo explica como usar o acesso "administrador" para criar recursos do OCI IAM e usuário administrador de pilha completa para executar operações de Recuperação de Desastres de Pilha Completa.

O tutorial tem como objetivo mostrar as etapas necessárias para executar um script de trabalho do grupo de planos definido pelo usuário Full Stack Disaster Recovery usando o comando run.

O mesmo tutorial deverá funcionar para regiões intra se você configurar a replicação de bloco em diferentes domínios de disponibilidade.

Para obter mais detalhes, consulte Executando comandos em uma instância.

As etapas a seguir serão abordadas no tutorial

  1. Crie Usuário, Grupo e Política para Recuperação de Desastres de Pilha Completa
  2. Crie Grupos Dinâmicos e atualize a política para Recuperação de Desastres de Pilha Completa e Comando run
  3. Configurar e validar o Comando run na VM da região Principal
  4. Criar grupos de volumes e ativar a Replicação entre regiões para a VM da região Principal
  5. Criar e associar grupos de proteção de Recuperação de Desastre (DRPG)
  6. Criar plano de switchover no DRPG standby
  7. Personalizar o plano de switchover com grupos de planos definidos pelo usuário para executar o Comando run
  8. Executar pré-verificações e executar plano de switchover

Arquitetura da Implantação

Arquitetura do Object Storage

Pré-requisitos

Implementação

Para este tutorial, já criamos os recursos a seguir.

Recursos Região Principal - Ashburn(IAD)
Bucket de Armazenamento de Objetos fsdr-bucket-ash
Compartimento cmp-compute-fsdrdemo
VM do Compute demonstração-fsdr-inst
Script para criar uma pasta e um arquivo /home/opc/scripts/testCommand.sh
#!/bin/bash
# coding: utf-8
echo "Creating Dir testDir under /home/opc"
mkdir -p "/home/opc/testDir"
echo "Creating Testfile"
echo "Contents from `run` Command!!" > /home/opc/testDir/testFile.txt
Recursos Região Standby - Phoenix(PHX)
Bucket de Armazenamento de Objetos fsdr-bucket-phx
Compartimento cmp-compute-fsdrdemo

Tarefa 1: Criar Usuários, Grupos e Políticas para Recuperação de Desastres de Pilha Completa

  1. Faça log-in na console do OCI com credenciais de administrador ou usuário que tem privilégios equivalentes para criar e modificar os recursos necessários do OCI IAM.

  2. Na região Principal (Ashburn) do menu Hambúrguer, navegue até Identidade e Segurança, Domínios, Padrão,Usuários. Clique em Criar usuário, forneça o Nome, o Sobrenome, o ID do E-mail e clique em Criar.

    Usuário de Recuperação de Desastres de Pilha Completa

  3. Na região Principal (Ashburn) do menu Hambúrguer, vá para Identidade e Segurança, Domínios, Padrão, Grupos. Clique em Criar grupo, forneça o nome do grupo como "demo-fsdr-admins", "descrição", selecione usuários para atribuir esse grupo - selecione o usuário criado na Etapa 1.

    Grupos de Recuperação de Desastres de Pilha Completa

  4. Na região Principal (Ashburn) do menu Hambúrguer, vá para Identidade e Segurança, Domínios,Políticas,Criar Política no compartimento raiz ou em um compartimento no qual você deseja criar a política. disaster-recovery-family é o tipo de família para Recuperação de Desastres de Pilha Completa.

    Política de Recuperação de Desastres de Pilha Total

    Allow group demo-fsdr-admins to manage disaster-recovery-family in compartment cmp-compute-fsdrdemo
    
  5. Para permitir que o serviço de recuperação de desastres gerencie recursos do OCI que fazem parte da pilha de aplicativos, configure o acesso baseado em política para permitir o acesso a esses recursos. Adicionamos todas as políticas de serviço do OCI que atualmente são suportadas como tipo de membro. As políticas podem ser modificadas, dependendo dos tipos de recursos usados com Recuperação de Desastres de Pilha Completa. Adicione as seguintes políticas às demo-fsdr-admin-policies conforme mostrado abaixo.

    Allow group demo-fsdr-admins to manage buckets in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage objects in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage databases in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage autonomous-databases in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage instance-family in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage instance-agent-command-family in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage volume-family in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to read virtual-network-family in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to use subnets in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to use vnics in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to use network-security-groups in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to use private-ips in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to read fn-app in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to read fn-function in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to use fn-invocation in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins use tag-namespaces in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins read vaults in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins read secret-family in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins read all-resources in compartment cmp-compute-fsdrdemo
    
  6. No menu, navegue até Identidade e Segurança, Políticas, selecione a política criada na Etapa 4, selecione Editar Instruções de Política, Criador de Política, Avançado.

  7. Copie a lista de políticas conforme acima e clique em Salvar alterações. Verifique se todas as políticas adicionadas estão refletidas corretamente.

    Observação: use o nome do grupo correto (criado na Etapa 3) e o nome do compartimento na sintaxe da política.

Editar Políticas Avançadas

Tarefa 2: Criar Grupos Dinâmicos e Políticas para Recuperação de Desastres de Pilha Completa e Comando run

  1. Faça log-in na console do OCI com credenciais de administrador ou usuário que tem privilégios equivalentes para criar e modificar os recursos necessários do OCI IAM.

  2. Para permitir que a instância de computação faça Chamadas de API com o OCI Services, precisamos criar grupos Dinâmicos e tornar as instâncias de computação os principais atores. Crie um grupo Dinâmico na região Principal (Ashburn) no menu Hambúrguer, vá para Identidade e Segurança, Domínios,Grupos Dinâmicos, Criar Grupo Dinâmico.

    • Se você tiver várias instâncias no compartimento, poderá usar a Regra All {instance.compartment.id = 'compartment OCID'}. Neste exemplo, copiamos o OCID do compartimento cmp-compute-fsdrdemo e isso permite que todas as instâncias desse compartimento usem comandos run.

      Editar Políticas Avançadas

    • Você também pode usar o grupo dinâmico para restringir o acesso ao nível de instância adicionando regras como Qualquer {instance.id='ocid....'}.

  3. Atualize a política demo-fsdr-admins que criamos na Tarefa 1 com a política abaixo. Isso é necessário para usar funções de comando run como executar comandos, cancelar comandos e exibir a saída de comando das instâncias em um compartimento.

    Allow dynamic-group demofsdr-runcmd-dgp to manage instance-agent-command-execution-family in compartment cmp-compute-fsdrdemo
    

    Editar Políticas Avançadas

Observação: se seu script interagir com outros serviços do OCI, você deverá atualizar as políticas de grupo dinâmico.

Tarefa 3. Configure e valide o comando run na VM de origem

  1. Faça log-in na console do OCI usando o usuário administrador de Recuperação de Desastres de Pilha Completa que criamos na Tarefa 1.

  2. Faça log-in na VM de computação (demo-fsdr-inst) como usuário opc. Certifique-se de colocar o script testCommand.sh na pasta /home/opc/scripts/ e alterar as permissões do arquivo com privilégios de execução. O conteúdo dos scripts está disponível na seção Implementação na parte superior da página.

  3. Você deve conceder permissões de administrador ao plug-in de comando run da Instância de Computação para poder executar o comando. O plug-in é executado como usuário ocarun.

  4. Crie um arquivo de configuração sudoers para o plug-in de Comando run da Instância de Computação.

    vi ./101-oracle-cloud-agent-run-command
    

    Comando `run` - VI

  5. Permita que o usuário ocarun execute todos os comandos como sudo adicionando a seguinte linha ao arquivo de configuração.

    ocarun ALL=(ALL) NOPASSWD:ALL
    

    Comando de Exibição - VI

    Opcionalmente, você pode listar comandos específicos. Consulte a man page do Linux para ver mais informações.

  6. Confirme se a sintaxe no arquivo de configuração está correta.

    visudo -cf ./101-oracle-cloud-agent-run-command
    

    Se a sintaxe estiver correta, a seguinte mensagem será retornada:

    ./101-oracle-cloud-agent-run-command: OK analisado

    Validar Comando - VI

  7. Adicione o arquivo de configuração a /etc/sudoers.d.

    sudo cp ./101-oracle-cloud-agent-run-command /etc/sudoers.d/
    

    Copiar Comando - VI

    Observação: As etapas para conceder permissões de administrador dependem do sistema operacional. Neste exemplo, usamos o SO Linux. Para obter mais detalhes, consulte Executando comandos em uma instância.

  8. Reinicie o Cloud Agent manualmente usando o comando abaixo. Esse comando é aplicável para o Oracle Linux 7.x e Oracle Linux 8.x. Para outras versões do Linux e sistema operacional, consulte Executando Comandos em uma Instância.

    sudo systemctl restart oracle-cloud-agent
    

    Restaurar Agente

  9. Faça log-in na console do OCI, navegue até a VM demo-fsdr-inst, selecione a guia Oracle Cloud Agent e o status do Comando Compute Instance run deve exibir Em Execução

    Status do Agente

    Observação: Se o status não estiver em execução, consulte Diagnosticando e Solucionando Problemas do Oracle Cloud Agent para corrigir o problema. O status do comando run da Instância de Computação deve estar em execução.

  10. Navegue até Instâncias, demo-fsdr-inst, Comando run, Criar Comando run.

    Navegação do Comando `run`

  11. Teste o comando run conforme abaixo.

    Testar Comando `run`

  12. Verifique o Status do comando clicando em três pontos no canto direito.

    Status do Comando de Teste

  13. Você deverá ver a saída e o status do comando conforme mostrado abaixo.

    Status de Sucesso do Comando de Teste

Para solucionar problemas do comando run na VM, você pode exibir os logs que o plug-in gera usando o comando a seguir.

tail -f /var/log/oracle-cloud-agent/plugins/runcommand/runcommand.log

Para saber os erros e a resolução conhecidos, consulte Solução de Problemas na seção Plug-in de Comando run da Instância de Computação em Executando Comandos em uma Instância.

Tarefa 4: Criar Grupos de Volumes em Principal (Ashburn)

  1. Faça log-in na console do OCI usando o usuário administrador de Recuperação de Desastres de Pilha Completa que criamos na Tarefa 1.

  2. Na região Principal (Ashburn) do menu Hambúrguer, vá para Recuperação de Migração e Desastre, Recuperação de Desastre, Grupo de Proteção de Recuperação de Desastre, Criar grupo de proteção de Recuperação de Desastre.

    Criar Grupo de volumes em Ashburn

  3. Adicione o volume de Inicialização do Compute demo-fsdr-inst.

    Escolher Volume de inicialização em Ashburn

  4. Ative a replicação entre regiões de Ashburn para Phoenix.

    Ativar Replicação entre regiões em Ashburn

  5. Deixe a política de Backup como Nenhum, clique em Próximo e revise o resumo.

    Resumo do Grupo de Volumes

Tarefa 5: Criar Grupos de Proteção de Recuperação de Desastres em Principal e standby

  1. Faça log-in na console do OCI usando o usuário administrador de Recuperação de Desastres de Pilha Completa que criamos na Tarefa 1.

  2. Na região Principal (Ashburn) do menu Hambúrguer, vá para Recuperação de Migração e Desastre, Recuperação de Desastre, Grupo de Proteção de Recuperação de Desastre, Criar grupo de proteção de Recuperação de Desastre.

    Criar grupo de Proteção de Recuperação de Desastres em Ashburn

  3. Na região Standby (Phoenix) do menu de hambúrguer, vá para Migração e Recuperação de Desastre, Recuperação de Desastre, Grupo de Proteção de Recuperação de Desastre, Criar grupo de proteção de Recuperação de Desastre.

    Criar grupo de Proteção de Recuperação de Desastres em Phoenix

    Observação: Para este exemplo de tutorial, escolhemos Ashburn como região Principal e Phoenix como região Standby.

  4. Na região Principal (Ashburn), selecione o DRPG fsdr-runcmd-drpg-ash e clique em Associar. Selecione a Função como Principal, Região de Par Oeste dos EUA (Phoenix), grupo de Proteção de Recuperação de Desastres de Par fsdr-runcmd-drpg-phx e clique em Associar.

    Associar Principal e Stand-by

    Observação: Verifique a atribuição do fsdr-runcmd-drpg-ash como Principal e do fsdr-runcmd-drpg-phx como Stand-by.

  5. Na região Principal (Ashburn), selecione o DRPG fsdr-runcmd-drpg-ash e clique em Membros e, em seguida, clique em Adicionar Membros para adicionar Grupos de Volumes e VM.

    Membros primários em Ashburn

Tarefa 6: Criar plano de switchover no DRPG standby (Phoenix)

Plano de Switchover - Um tipo de plano de Recuperação de Desastres que executa uma transição planejada de serviços do grupo de proteção principal de Recuperação de Desastres para o grupo de proteção stand-by de Recuperação de Desastres.

  1. Faça log-in na console do OCI usando o usuário administrador de Recuperação de Desastres de Pilha Completa que criamos na Tarefa 1.

  2. Crie um plano de switchover no DRPG standby fsdr-runcmd-drpg-phx.

  3. Selecione Planos e clique em Criar plano.

  4. Forneça o nome como switchover-to-phx e escolha o tipo de plano como Switchover (planejado).

  5. Clique em Criar.

    Plano de Switchover

    Observação: certifique-se de criar o plano de switchover do DRPG Standby (Phoenix).

  6. Clique no Plano e certifique-se de que planos integrados tenham sido gerados conforme mostrado abaixo.

    Plano Incorporado Padrão

Tarefa 7: Personalizar o plano de switchover com grupos de planos definidos pelo usuário

  1. Faça log-in na console do OCI usando o usuário administrador de Recuperação de Desastres de Pilha Completa que criamos na Tarefa 1.

  2. Em Grupos de Planos, clique em Adicionar grupo para criar o grupo de planos personalizados para executar o switchover. Forneça o nome do Grupo como CustGroup-Demo.

    Switchover de Grupo Personalizado para PHX

  3. Clique em Adicionar Etapa e adicione detalhes conforme abaixo. Vamos adicionar uma etapa ao grupo de planos.

    Etapa Personalizada do Group-switchover para PHX

    • Certifique-se de escolher a região como Ashburn. Selecione a opção run Script local.

    • Considerando que não temos uma VM em Phoenix durante a criação do grupo de planos definido pelo usuário, é necessário escolher Região como Ashburn, que é Principal e Instância de destino como VM demo para inst. A Recuperação Completa de Desastres de Pilha mapeará automaticamente essas instâncias, e o script será executado na instância recém-iniciada em Phoenix.

    • Selecione a Instância de Destino no compartimento em que a VM é criada, criamos o vm como demo-fsdr-inst.

    • Informe o Parâmetro de Script como /home/opc/scripts/testCommand.sh.

    • Informe opc em run como campo do usuário.

    • Clique em Adicionar Etapa e verifique a etapa adicionada.

      Switchover de Etapa Personalizada para a etapa PHX adicionada

    • Verifique se a etapa foi adicionada e clique em Adicionar.

  4. Verifique os grupos de planos de switchover na sequência correta conforme mostrado acima.

Tarefa 8: Executar pré-verificações e executar plano de switchover

A opção Executar pré-verificações executa uma validação rápida de todas as etapas em um plano de Recuperação de Desastres (Recuperação de Desastres).

  1. No plano de switchover switchover-to-phx, clique em Executar pré-verificações para iniciar a caixa de diálogo Executar pré-verificações.

    Pré-verificação de switchover

    Status de pré-verificação de alternância

    Verifique a conclusão bem-sucedida.

  2. No plano de switchover switchover-to-phx, clique em Executar Plano de Recuperação de Desastres para executar o plano.

    Executar Plano de Recuperação de Desastre

  3. Verifique o status do plano e certifique-se de que todas as etapas do plano tenham êxito.

    Executar Status do Plano de Recuperação de Desastres

  4. Após a execução bem-sucedida do plano de switchover, faça log-in na instância em Phoenix e verifique se as opções testDir e testFile foram criadas.

    Verificar VM phx após switchover

  5. Automaticamente a alteração de atribuição ocorrerá no grupo Proteção de recuperação de desastres. Agora, Phoenix terá a atribuição Primary e Ashburn terá a atribuição Standby.

Próximas Etapas

Você viu como usar grupos personalizados para chamar scripts com o OCI Full Stack Disaster Recovery. O ideal é que você tenha etapas para recuperar computação, banco de dados e armazenamento em blocos, juntamente com armazenamento de objetos para sua pilha de aplicativos. Você pode usar facilmente este tutorial para personalizar seu plano de Recuperação de Desastres de Pilha Completa se quiser adicionar qualquer grupo definido pelo usuário como parte do grupo de planos definido pelo usuário.

Confirmações

Autores - Vasudeva Manikandan (Líder em Tecnologia de Implementação - Oracle Lift Services), Suraj Ramesh (Gerente de Produtos de Recuperação de Desastres de Pilha Completa)

Mais Recursos de Aprendizagem

Explore outros laboratórios no site docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.