Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever e obter uma conta gratuita, consulte Conceitos Básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
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
- Crie Usuário, Grupo e Política para Recuperação de Desastres de Pilha Completa
- Crie Grupos Dinâmicos e atualize a política para Recuperação de Desastres de Pilha Completa e Comando
run
- Configurar e validar o Comando
run
na VM da região Principal - Criar grupos de volumes e ativar a Replicação entre regiões para a VM da região Principal
- Criar e associar grupos de proteção de Recuperação de Desastre (DRPG)
- Criar plano de switchover no DRPG standby
- Personalizar o plano de switchover com grupos de planos definidos pelo usuário para executar o Comando
run
- Executar pré-verificações e executar plano de switchover
Arquitetura da Implantação
Pré-requisitos
-
Privilégios de administrador ou Configurar as políticas necessárias do OCI IAM para o Full Stack Disaster Recovery, conforme descrito aqui: Configurando políticas do Identity and Access Management (IAM) para usar o Full Stack Disaster Recovery e Políticas para o Full Stack Disaster Recovery
-
Executando Comandos na instância do OCI Compute: Consulte Executando Comandos na instância do OCI Compute
-
Criar bucket de Armazenamento de Objetos na região Principal e Região Stand-by para armazenar logs de operação de Recuperação de Desastres: Consulte Object Storage
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
-
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.
-
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.
-
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.
-
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.
Allow group demo-fsdr-admins to manage disaster-recovery-family in compartment cmp-compute-fsdrdemo
-
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
-
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.
-
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.
Tarefa 2: Criar Grupos Dinâmicos e Políticas para Recuperação de Desastres de Pilha Completa e Comando run
-
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.
-
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 compartimentocmp-compute-fsdrdemo
e isso permite que todas as instâncias desse compartimento usem comandosrun
. -
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....'}.
-
-
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
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
-
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.
-
Faça log-in na VM de computação (
demo-fsdr-inst
) como usuário opc. Certifique-se de colocar o scripttestCommand.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. -
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árioocarun
. -
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
-
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
Opcionalmente, você pode listar comandos específicos. Consulte a man page do Linux para ver mais informações.
-
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
-
Adicione o arquivo de configuração a
/etc/sudoers.d
.sudo cp ./101-oracle-cloud-agent-run-command /etc/sudoers.d/
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.
-
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
-
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 Instancerun
deve exibir Em ExecuçãoObservaçã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. -
Navegue até Instâncias, demo-fsdr-inst, Comando
run
, Criar Comandorun
. -
Teste o comando
run
conforme abaixo. -
Verifique o Status do comando clicando em três pontos no canto direito.
-
Você deverá ver a saída e o status do comando conforme mostrado abaixo.
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)
-
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.
-
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.
-
Adicione o volume de Inicialização do Compute demo-fsdr-inst.
-
Ative a replicação entre regiões de Ashburn para Phoenix.
-
Deixe a política de Backup como Nenhum, clique em Próximo e revise o resumo.
Tarefa 5: Criar Grupos de Proteção de Recuperação de Desastres em Principal e standby
-
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.
-
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.
-
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.
Observação: Para este exemplo de tutorial, escolhemos Ashburn como região Principal e Phoenix como região Standby.
-
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.
Observação: Verifique a atribuição do
fsdr-runcmd-drpg-ash
como Principal e dofsdr-runcmd-drpg-phx
como Stand-by. -
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.
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.
-
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.
-
Crie um plano de switchover no DRPG standby fsdr-runcmd-drpg-phx.
-
Selecione Planos e clique em Criar plano.
-
Forneça o nome como switchover-to-phx e escolha o tipo de plano como Switchover (planejado).
-
Clique em Criar.
Observação: certifique-se de criar o plano de switchover do DRPG Standby (Phoenix).
-
Clique no Plano e certifique-se de que planos integrados tenham sido gerados conforme mostrado abaixo.
Tarefa 7: Personalizar o plano de switchover com grupos de planos definidos pelo usuário
-
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.
-
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.
-
Clique em Adicionar Etapa e adicione detalhes conforme abaixo. Vamos adicionar uma etapa ao grupo de planos.
-
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.
-
Verifique se a etapa foi adicionada e clique em Adicionar.
-
-
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).
-
No plano de switchover switchover-to-phx, clique em Executar pré-verificações para iniciar a caixa de diálogo Executar pré-verificações.
Verifique a conclusão bem-sucedida.
-
No plano de switchover switchover-to-phx, clique em Executar Plano de Recuperação de Desastres para executar o plano.
-
Verifique o status do plano e certifique-se de que todas as etapas do plano tenham êxito.
-
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.
-
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.
Links Relacionados
- Página do Produto OCI Full Stack Disaster Recovery
- Documentação de Recuperação de Desastres de Pilha Completa do OCI
- Laboratórios em Tempo Real de Recuperação de Desastres de Pilha Completa
- Recuperação de Desastres de Pilha Completa para Recuperação de Desastres de VM Fria
- Recuperação de Desastres de Pilha Completa para WLS
- Recuperação de Desastres de Pilha Completa - Scripts de grupo definidos pelo usuário
- Entrar no canal público slack #full-stack-dr
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.
Invoke custom scripts using the run command with Oracle Cloud Infrastructure Full Stack Disaster Recovery
F86012-01
August 2023
Copyright © 2023, Oracle and/or its affiliates.