Nota:

Richiama script personalizzati utilizzando il comando di esecuzione con Oracle Cloud Infrastructure Full Stack Disaster Recovery

Introduzione

Oracle Cloud Infrastructure (OCI) Full Stack Disaster Recovery orchestra la transizione di computazione, database e applicazioni tra le aree OCI di tutto il mondo con un solo clic. I clienti possono automatizzare i passi necessari per recuperare uno o più sistemi aziendali senza riprogettare o riprogettare l'infrastruttura, i database o le applicazioni esistenti e senza la necessità di server di gestione o conversione specializzati.

OCI Full Stack Disaster Recovery offre una flessibilità eccezionale. Consente di utilizzare gruppi definiti dall'utente all'interno del piano Disaster Recovery, abilitando la gestione di passi personalizzati nell'ambito del piano complessivo di disaster recovery. Dopo aver definito il piano di disaster recovery iniziale con gruppi di piani e passi integrati, è possibile incorporare ulteriori gruppi di piani e passi definiti dall'utente. È possibile richiamare script e funzioni OCI con un gruppo di piani definito dall'utente.

Il comando OCI Compute run viene eseguito utilizzando l'agente Oracle Cloud disponibile nell'istanza di OCI Compute. Agente Oracle Cloud è un processo leggero che gestisce i plugin in esecuzione nell'istanza di computazione OCI. I plugin consentono di raccogliere le metriche delle prestazioni, installare gli aggiornamenti del sistema operativo e di eseguire altri task di gestione delle istanze. Per eseguire gli script utilizzando il comando run, è necessario aggiungere le istanze di computazione (spostamento o non spostamento) come membri del gruppo di protezione per il recupero da errori irreversibili.

Il recupero da errori irreversibili completo dello stack crea una VM nell'area di recupero da errori irreversibili per lo spostamento delle istanze durante l'esecuzione del piano di recupero da errori irreversibili. Dopo l'avvio delle VM, è possibile utilizzare la funzione Esegui comando per eseguire passi aggiuntivi utilizzando gli script. Esempi: modifiche alla configurazione del load balancer, connessione a un database e aggiornamento della tabella, arresto e avvio degli Application Server. Inoltre, in base alle tue esigenze, potresti utilizzare la configurazione cloud-init o systemd nell'istanza di computazione per avviare le applicazioni o qualsiasi altra operazione durante l'avvio dell'istanza. L'opzione Esegui comando nel piano di ripristino di emergenza ha una maggiore flessibilità, come l'uso di script scritti in qualsiasi lingua, e opzioni di osservabilità come il monitoraggio stop/restart/log su un singolo piano di vetro. Per le istanze non in movimento, dal momento che le VM sono già state create nell'area di recupero da errori irreversibili, la funzione di comando di esecuzione sarebbe la scelta ideale per utilizzare script per avviare/arrestare applicazioni, database e così via.

In questa esercitazione viene illustrato come utilizzare la funzione Comando run di OCI Compute mediante lo spostamento dell'istanza e l'esecuzione degli script come parte di un gruppo di piani e dei passi definiti dall'utente per un piano di recupero da errori irreversibili stack completo.

Obiettivi

Per spostare un'istanza tra due aree OCI e richiamare gli script personalizzati utilizzando la funzione Comando run di OCI Compute in Gruppi di piani definiti dall'utente e passi in Piano di recupero da errori irreversibili stack completo. L'area primaria è Ashburn e l'area Disaster Recovery è Phoenix.

È possibile utilizzare un utente con privilegi di amministrazione o equivalenti per creare risorse Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) ed eseguire operazioni di recupero da errori irreversibili su stack completo con un comando run. In alternativa, puoi creare un utente separato per l'amministratore di Recupero da errori irreversibili su stack completo e assegnare le risorse IAM OCI necessarie per eseguire le operazioni di Recupero da errori irreversibili su stack completo con il comando di esecuzione. Questo articolo spiega come utilizzare l'accesso di tipo "amministratore" per creare le risorse IAM OCI e l'utente amministratore di stack completo per eseguire operazioni di recupero da errori irreversibili su stack completo.

L'esercitazione ha lo scopo di mostrare i passi necessari per eseguire uno script di lavoro dal gruppo di piani definito dall'utente Full Stack Disaster Recovery utilizzando il comando run.

La stessa esercitazione dovrebbe funzionare nelle varie aree se si configura la replica a blocchi in vari domini di disponibilità.

Per ulteriori dettagli, vedere Esecuzione dei comandi su un'istanza.

I seguenti passaggi verranno trattati nell'esercitazione

  1. Crea utente, gruppo e criteri per il recupero da errori irreversibili dello stack completo
  2. Creare gruppi dinamici e aggiornare i criteri per il recupero da errori irreversibili dello stack completo e il comando run
  3. Configurare e convalidare il comando run nella VM dell'area primaria
  4. Creare gruppi di volumi e abilitare la replica tra più aree per la VM dell'area primaria
  5. Crea e associa gruppi di protezione per il recupero da errori irreversibili (DRPG)
  6. Creare un piano di switchover nel DRPG in standby
  7. Personalizzare il piano di switchover con gruppi di piani definiti dall'utente per eseguire il comando run
  8. Esegui controlli preliminari ed esegui piano di switchover

Architettura di distribuzione

Architettura dello storage degli oggetti

Prerequisiti

Implementazione

Per questa esercitazione sono già state create le seguenti risorse.

Risorse Area principale - Ashburn(IAD)
Storage degli oggetti - Bucket fsdr-bucket-ash
Compartimento cmp-compute-fsdrdemo
VM di calcolo demo-fsdr-inst
Script per creare una cartella e un file /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
Risorse Area in standby - Phoenix (PHX)
Storage degli oggetti - Bucket fsdr-bucket-phx
Compartimento cmp-compute-fsdrdemo

Task 1: creazione di utenti, gruppi e criteri per il recupero da errori irreversibili stack completo

  1. Eseguire il login alla console OCI con credenziali amministratore o utente con privilegi equivalenti per creare e modificare le risorse IAM OCI necessarie.

  2. Nell'area primaria (Ashburn) del menu Hamburger passare a Identity and Security, Domain, Default,Users. Fare clic su Crea utente, specificare il nome, il cognome, l'ID e-mail, quindi fare clic su Crea.

    Utente Full Stack Disaster Recovery

  3. Nell'area primaria (Ashburn) del menu Hamburger andare a Identity and Security, Domain, Default, Groups. Fare clic su Crea gruppo, specificare il nome del gruppo come "demo-fsdr-admins", "descrizione", selezionare gli utenti a cui assegnare questo gruppo. Selezionare l'utente creato al passo 1.

    Gruppi Full Stack per il recupero da errori irreversibili

  4. Nell'area primaria (Ashburn) del menu Hamburger andare a Identity and Security, Domain,Criteri,Create Policy nel compartimento radice o in un compartimento in cui si desidera creare il criterio. disaster-recovery-family è il tipo di famiglia per il recupero da errori irreversibili stack completo.

    Criterio di recupero da errori irreversibili full stack

    Allow group demo-fsdr-admins to manage disaster-recovery-family in compartment cmp-compute-fsdrdemo
    
  5. Per consentire al servizio di recupero da errori irreversibili di gestire le risorse OCI che fanno parte dello stack di applicazioni, è necessario configurare l'accesso basato su criteri per consentire l'accesso a queste risorse. Abbiamo aggiunto tutti i criteri del servizio OCI attualmente supportati come tipo di membro. I criteri possono essere modificati a seconda dei tipi di risorse utilizzati con il recupero da errori irreversibili dello stack completo. Aggiungere i seguenti criteri a demo-fsdr-admin-policies come indicato di seguito.

    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. Dal menu passare a Identità e sicurezza, Criteri, selezionare il criterio creato nel passo 4, selezionare Modifica istruzioni criterio, Programma di generazione criteri e Avanzate.

  7. Copiare la lista dei criteri come sopra e fare clic su Salva modifiche. Verificare se tutti i criteri aggiunti vengono applicati correttamente.

    Nota: è necessario utilizzare il nome gruppo corretto (creato nel passo 3) e il nome compartimento nella sintassi dei criteri.

Modifica criteri avanzati

Task 2: Creare gruppi e criteri dinamici per il recupero da errori irreversibili dello stack completo e il comando run

  1. Eseguire il login alla console OCI con credenziali amministratore o utente con privilegi equivalenti per creare e modificare le risorse IAM OCI necessarie.

  2. Per consentire all'istanza di computazione di effettuare chiamate API rispetto ai servizi OCI, è necessario creare gruppi dinamici e creare istanze di computazione come attori principali. Crea gruppo dinamico Nell'area primaria (Ashburn) del menu Hamburger, andare a Identity & Security, Domain, Gruppi dinamici, Crea gruppo dinamico.

    • Se nel compartimento sono presenti più istanze, puoi utilizzare la regola All {instance.compartment.id = 'compartment OCID'}. In questo esempio, è stato copiato l'OCID del compartimento cmp-compute-fsdrdemo, pertanto tutte le istanze di questo compartimento possono utilizzare i comandi run.

      Modifica criteri avanzati

    • È inoltre possibile utilizzare un gruppo dinamico per limitare l'accesso a livello di istanza aggiungendo regole come Qualsiasi {instance.id='ocid....'}.

  3. Aggiornare il criterio demo-fsdr-admins creato nel task 1 con il criterio riportato di seguito. Questa operazione è necessaria per utilizzare funzioni del comando run come i comandi di esecuzione, i comandi di annullamento e visualizzare l'output del comando per le istanze in un compartimento.

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

    Modifica criteri avanzati

Nota: se lo script interagisce con altri servizi OCI, è necessario aggiornare i criteri del gruppo dinamico.

Task 3. Configurare e convalidare il comando run nella VM di origine

  1. Eseguire il login alla console OCI utilizzando l'utente amministratore Full Stack Disaster Recovery creato nel task 1.

  2. Eseguire il login alla VM di computazione (demo-fsdr-inst) come utente opc. Assicurarsi di posizionare lo script testCommand.sh nella cartella /home/opc/scripts/ e modificare le autorizzazioni del file con privilegi di esecuzione. Il contenuto degli script è disponibile nella sezione Implementazione nella parte superiore della pagina.

  3. Per poter eseguire il comando, è necessario concedere autorizzazioni di amministratore al plugin del comando run dell'istanza di computazione. Il plugin viene eseguito come utente ocarun.

  4. Creare un file di configurazione sudoers per il plugin del comando run dell'istanza di computazione.

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

    Comando `run` - VI

  5. Consentire all'utente ocarun di eseguire tutti i comandi come sudo aggiungendo la riga seguente al file di configurazione.

    ocarun ALL=(ALL) NOPASSWD:ALL
    

    Comando visualizzazione - VI

    Se si desidera, è possibile elencare comandi specifici. Per ulteriori informazioni, vedere la pagina man Linux per i sudoer.

  6. Verificare se la sintassi del file di configurazione è corretta.

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

    Se la sintassi è corretta, viene restituito il seguente messaggio:

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

    Convalida comando - VI

  7. Aggiungere il file di configurazione a /etc/sudoers.d.

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

    Copia comando - VI

    Nota: i passi per concedere le autorizzazioni di amministratore dipendono dal sistema operativo. In questo esempio è stato utilizzato il sistema operativo Linux. Per ulteriori dettagli, vedere Esecuzione dei comandi su un'istanza.

  8. Riavviare manualmente l'agente cloud utilizzando il comando riportato di seguito. Questo comando è applicabile per Oracle Linux 7.x e Oracle Linux 8.x. Per altre versioni e altri sistemi operativi Linux, vedere Running Commands on a Instance.

    sudo systemctl restart oracle-cloud-agent
    

    Riavvia agente

  9. Eseguire il login alla console OCI, andare alla VM demo-fsdr-inst, selezionare la scheda Agente Oracle Cloud e Lo stato del comando run dell'istanza di computazione deve essere visualizzato In esecuzione

    Stato agente

    Nota: se lo stato non è in esecuzione, vedere Risoluzione dei problemi di Oracle Cloud Agent per risolvere il problema. Lo stato del comando run dell'istanza di computazione deve essere in esecuzione.

  10. Passare a Instances, demo-fsdr-inst, run Command, Create run Command.

    `run` Comandi Naviga

  11. Eseguire il test del comando run come indicato di seguito.

    Comando `run` di test

  12. Controllare lo stato del comando facendo clic su tre punti nell'angolo destro.

    Stato comando di prova

  13. Dovresti vedere l'output e lo stato del comando come mostrato di seguito.

    Stato operazione riuscita test

Per risolvere i problemi del comando run nella VM, è possibile visualizzare i log generati dal plugin utilizzando il comando riportato di seguito.

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

Per conoscere gli errori e la risoluzione dei problemi noti, fare riferimento alla sezione relativa alla risoluzione dei problemi del plugin di comando run dell'istanza di computazione in Esecuzione dei comandi in un'istanza.

Task 4: Creazione dei gruppi di volumi nel database primario (Ashburn)

  1. Eseguire il login alla console OCI utilizzando l'utente amministratore Full Stack Disaster Recovery creato nel task 1.

  2. Nell'area primaria (Ashburn) del menu Hamburger, andare a Migrazione e recupero da errori irreversibili, Recupero da errori irreversibili, Gruppo Protezione recupero da errori irreversibili, Crea gruppo di protezione Recupero da errori irreversibili.

    Crea gruppo di volumi ad Ashburn

  3. Aggiungi volume di avvio del servizio di computazione demo-fsdr-inst.

    Scegliere il volume di avvio in Ashburn

  4. Abilita la replica tra più aree da Ashburn a Phoenix.

    Abilita replica tra più aree ad Ashburn

  5. Lasciare il criterio di backup impostato su Nessuno, fare clic su Avanti e rivedere il riepilogo.

    Riepilogo gruppi di volumi

Task 5: creazione di gruppi di protezione per il recupero da errori irreversibili in database primario e in standby

  1. Eseguire il login alla console OCI utilizzando l'utente amministratore Full Stack Disaster Recovery creato nel task 1.

  2. Nell'area primaria (Ashburn) del menu Hamburger, andare a Migrazione e recupero da errori irreversibili, Recupero da errori irreversibili, Gruppo Protezione recupero da errori irreversibili, Crea gruppo di protezione Recupero da errori irreversibili.

    Crea gruppo di protezione per il recupero da errori irreversibili ad Ashburn

  3. Nell'area in standby (Phoenix) dal menu Hamburger, andare a Migration & Disaster Recovery, Disaster Recovery, Disaster Recovery Protection group, Create Disaster Recovery Protection group.

    Crea gruppo Protezione Disaster Recovery a Phoenix

    Nota: per questo esempio di esercitazione, scegliamo Ashburn come area principale e Phoenix come area in standby.

  4. Nell'area primaria (Ashburn), selezionare il DRPG fsdr-runcmd-drpg-ash e fare clic su Associa. Selezionare il ruolo come Principale, Area peer Stati Uniti occidentali (Phoenix), gruppo Protezione recupero da errori irreversibili peer fsdr-runcmd-drpg-phx e fare clic su Associa.

    Associa primario e in standby

    Nota: verificare il ruolo di fsdr-runcmd-drpg-ash come principale e fsdr-runcmd-drpg-phx come in standby.

  5. Nell'area primaria (Ashburn), selezionare il DRPG fsdr-runcmd-drpg-ash e fare clic su Membri, quindi fare clic su Aggiungi membri per aggiungere gruppi di volumi e VM.

    Membri principali ad Ashburn

Task 6: Creare un piano di switchover nel DRPG in standby (Phoenix)

Piano di switchover: tipo di piano di recupero da errori irreversibili che esegue una transizione pianificata di servizi dal gruppo di protezione di recupero da errori irreversibili primario al gruppo di protezione di recupero da errori irreversibili in standby.

  1. Eseguire il login alla console OCI utilizzando l'utente amministratore Full Stack Disaster Recovery creato nel task 1.

  2. Creare un piano di switchover in standby DRPG fsdr-runcmd-drpg-phx.

  3. Selezionare Piani e fare clic su Crea piano.

  4. Fornire il nome switchover-to-phx e scegliere il tipo di piano Switchover (pianificato).

  5. Fare clic su Crea.

    Piano switchover

    Nota: assicurarsi di creare il piano di switchover dal DRPG in standby (Phoenix).

  6. Fare clic sul piano e assicurarsi che i piani built-in siano stati generati come mostrato di seguito.

    Piano built-in predefinito

Task 7: personalizzazione del piano di switchover con i gruppi di piani definiti dall'utente

  1. Eseguire il login alla console OCI utilizzando l'utente amministratore Full Stack Disaster Recovery creato nel task 1.

  2. In Gruppi di piani, fare clic su Aggiungi gruppo per creare un gruppo di piani personalizzato per eseguire lo switchover. Specificare il nome del gruppo CustGroup-Demo.

    Passaggio di gruppo personalizzato a PHX

  3. Fare clic su Aggiungi passo e aggiungere i dettagli come indicato di seguito. Verrà aggiunto un passo nel gruppo di piani.

    Passaggio di gruppo personalizzato al passo PHX

    • Assicurarsi di scegliere l'area come Ashburn. Selezionare l'opzione run Script locale.

    • Considerando che non abbiamo una VM in Phoenix durante la creazione del gruppo di piani definito dall'utente, è necessario scegliere Area come Ashburn, ovvero Primario, e Istanza di destinazione come VM demo per istanza. Full Stack Disaster Recovery mapperà automaticamente tali istanze e lo script verrà eseguito nell'istanza appena avviata a Phoenix.

    • Selezionare l'istanza di destinazione nel compartimento in cui viene creata la VM. La VM è stata creata come demo-fsdr-inst.

    • Immettere il parametro di script come /home/opc/scripts/testCommand.sh.

    • Immettere opc in run come campo utente.

    • Fare clic su Aggiungi passo e verificare il passo aggiunto.

      Passaggio al passo PHX personalizzato aggiunto

    • Verificare che il passo venga aggiunto e fare clic su Aggiungi.

  4. Verificare i gruppi di piani di switchover nella sequenza giusta, come illustrato sopra.

Task 8: eseguire controlli preliminari ed eseguire il piano di switchover

L'opzione Esegui controlli preliminari esegue una convalida rapida di tutti i passi di un piano Disaster Recovery (Disaster Recovery).

  1. Nel piano di switchover switchover-to-phx fare clic su Esegui controlli preliminari per avviare la finestra di dialogo Esegui controlli preliminari.

    Controllo preliminare switchover

    Stato controllo preliminare switchover

    Controllare che il completamento sia riuscito.

  2. Nel piano switchover switchover-to-phx fare clic su Esegui piano di recupero da errori irreversibili per eseguire il piano.

    Esegui piano di recupero da errori irreversibili

  3. Controllare lo stato del piano e assicurarsi che tutte le fasi del piano abbiano esito positivo.

    Esegui stato piano di recupero da errori irreversibili

  4. Dopo aver eseguito correttamente il piano switchover, eseguire il login all'istanza di Phoenix e verificare che siano stati creati testDir e testFile.

    Verifica VM phx dopo switchover

  5. Automaticamente la modifica del ruolo si verificherà nel gruppo di protezione per il recupero da errori irreversibili. Ora, Phoenix avrà Primario e Ashburn avrà un ruolo in standby.

Passi successivi

Come si utilizzano i gruppi personalizzati per richiamare gli script con OCI Full Stack Disaster Recovery. Ti consigliamo di eseguire i passi per recuperare i servizi di computazione, database, storage a blocchi insieme allo storage degli oggetti per il tuo stack di applicazioni. È possibile utilizzare facilmente questa esercitazione per personalizzare il piano di recupero da errori irreversibili stack completo se si desidera aggiungere qualsiasi gruppo definito dall'utente come parte del gruppo di piani definito dall'utente.

Approvazioni

Autori - Vasudeva Manikandan (Implementation Tech Lead - Oracle Lift Services), Suraj Ramesh (Full Stack Disaster Recovery Product Manager)

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Explorer di Oracle Learning.

Per la documentazione sul prodotto, visitare il sito Oracle Help Center.