Importa le immagini dei dischi virtuali in Oracle Cloud Infrastructure Block Volumes utilizzando Apache Airflow

Mentre le organizzazioni continuano a eseguire la migrazione al cloud, spesso si trovano ad affrontare la sfida di trasferire e gestire senza problemi i propri volumi a blocchi esistenti. Che si tratti di migrare carichi di lavoro on-premise, implementare strategie di disaster recovery o ottimizzare la propria infrastruttura cloud, la capacità di importare facilmente dischi virtuali diventa un'esigenza fondamentale.

È qui che la sinergia delle architetture Oracle Cloud Infrastructure Functions (OCI Functions), OCI Object Storage, Apache Airflow, qemu-img e basate sugli eventi consente agli utenti di automatizzare l'importazione di file di immagini dei dischi virtuali in Oracle Cloud Infrastructure Block Volumes.

Nota

Poiché questa soluzione utilizza Apache Airflow per l'orchestrazione, l'esperienza precedente consentirà agli utenti di monitorare i flussi di lavoro di importazione dei dischi virtuali, risolvere i problemi e riprovare a eseguire qualsiasi flusso di conversione interrotto.

Architettura

L'architettura di un tipico flusso di lavoro di importazione delle immagini dei dischi virtuali è descritta nella sezione seguente.

  1. L'utente carica una nuova immagine del disco virtuale nel bucket OCI Object Storage.
  2. Quando il caricamento del file di immagine del disco virtuale viene finalizzato, l'evento attiva l'esecuzione di una funzione OCI.
  3. La funzione recupererà i metadati degli oggetti del disco virtuale e chiamerà l'API Apache Airflow per avviare l'esecuzione DAG (Directed Acyclic Graph).
  4. Apache Airflow DAG gestirà l'importazione dell'immagine del disco virtuale nel volume a blocchi OCI in 14 passi. Alcuni dei passaggi più importanti sono:
    • Creare una nuova istanza di computazione operativa che gestirà l'importazione dell'immagine del disco virtuale.
    • Impostare gli strumenti necessari sulla nuova istanza: qemu-img, oci-cli.
    • Scaricare l'immagine del disco virtuale dal bucket nell'istanza del worker.
    • Determina la dimensione reale dell'immagine del disco virtuale utilizzando qemu-img ed esegui il provisioning di un nuovo volume a blocchi OCI (denominato immagine del disco virtuale).
    • Collega il volume a blocchi OCI all'istanza di computazione del lavoratore.
    • Scrivere il contenuto dell'immagine del disco virtuale nel volume a blocchi OCI.
    • Eseguire fsck sul volume a blocchi OCI.
    • Scollegare il volume a blocchi OCI.
    • Cessare l'istanza del lavoratore.
    • (Facoltativo) Aggiornare il criterio di backup sul volume a blocchi OCI.
  5. Gli utenti possono monitorare l'esecuzione DAG collegandosi ad Apache Airflow.

Il seguente diagramma illustra questa architettura di riferimento.



virtual-disk-import-arch-oracle.zip

L'architettura presenta i seguenti componenti:

  • Area

    Un'area geografica Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, denominati domini di disponibilità. Le regioni sono indipendenti da altre regioni e grandi distanze possono separarle (tra paesi o addirittura continenti).

  • Domini di disponibilità

    I domini di disponibilità sono data center standalone e indipendenti all'interno di un'area geografica. Le risorse fisiche in ciascun dominio di disponibilità sono isolate dalle risorse negli altri domini di disponibilità, il che fornisce tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio alimentazione o raffreddamento, o la rete interna del dominio di disponibilità. È pertanto improbabile che l'eventuale guasto di un dominio di disponibilità influenzi gli altri domini di disponibilità nell'area.

  • Rete VCN (Virtual Cloud Network) e subnet

    Una VCN è una rete personalizzabile e definita dal software configurata in un'area Oracle Cloud Infrastructure. Come le tradizionali reti di data center, le reti VCN offrono un controllo completo sull'ambiente di rete. Una VCN può avere più blocchi CIDR non sovrapposti che è possibile modificare dopo aver creato la VCN. Puoi segmentare una VCN in subnet, che possono essere definite in un'area o in un dominio di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet nella VCN. È possibile modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.

  • storage degli oggetti

    Lo storage degli oggetti offre un accesso rapido a grandi quantità di dati strutturati e non strutturati di qualsiasi tipo di contenuto, inclusi backup del database, dati analitici e contenuti avanzati come immagini e video. Puoi memorizzare e quindi recuperare i dati direttamente da Internet o dall'interno della piattaforma cloud. Puoi ridimensionare lo storage senza problemi senza compromettere le prestazioni o l'affidabilità del servizio. Utilizza lo storage standard per lo storage "caldo" a cui è necessario accedere rapidamente, immediatamente e frequentemente. Utilizza lo storage di archivio per lo storage "freddo" che conservi per lunghi periodi di tempo e a cui accedi raramente o raramente.

  • Eventi

    I servizi Oracle Cloud Infrastructure emettono eventi, ovvero messaggi strutturati che descrivono le modifiche alle risorse. Gli eventi vengono emessi per le operazioni di creazione, lettura, aggiornamento o eliminazione (CRUD), le modifiche allo stato del ciclo di vita delle risorse e gli eventi di sistema che influiscono sulle risorse cloud.

  • Funzioni

    Oracle Cloud Infrastructure Functions è una piattaforma completamente gestita, multi-tenant, altamente scalabile, on-demand e Functions-as-a-Service (FaaS). È alimentato dal motore open source Fn Project. Le funzioni consentono di distribuire il codice e di chiamarlo direttamente o di attivarlo in risposta agli eventi. Oracle Functions utilizza i container Docker ospitati in Oracle Cloud Infrastructure Registry.

  • DevOps

    Il servizio DevOps è una piattaforma end-to-end di integrazione e distribuzione continua (CI/CD) per gli sviluppatori che facilita il processo di creazione di artifact e distribuzione nei servizi di computazione OCI (Funzioni, Oracle Container Engine (OKE) o nelle istanze di computazione).

  • Criterio

    Un criterio di Oracle Cloud Infrastructure Identity and Access Management specifica chi può accedere a quali risorse e come. L'accesso viene concesso a livello di gruppo e compartimento. Ciò significa che è possibile scrivere un criterio che fornisce a un gruppo un tipo specifico di accesso all'interno di un compartimento specifico o alla tenancy.

  • Volume a blocchi

    Con i volumi di storage a blocchi, puoi creare, collegare, connettere e spostare volumi di storage e modificare le prestazioni dei volumi per soddisfare i requisiti di storage, prestazioni e applicazioni. Dopo aver collegato e connesso un volume a un'istanza, puoi utilizzare il volume come un normale disco rigido. Inoltre, puoi disconnettere un volume e collegarlo a un'altra istanza senza perdere i dati.

  • Virtual Machine

    Le VM di computazione Oracle Cloud Infrastructure (OCI) forniscono capacità di computazione sicura ed elastica nel cloud per carichi di lavoro che vanno da piccoli progetti di sviluppo ad applicazioni globali su larga scala, come le piattaforme di comunicazione in tempo reale. Le forme flessibili consentono agli utenti di ottimizzare le risorse VM con valori di processore e memoria personalizzati per migliorare le prestazioni dei prezzi.

Suggerimenti

Utilizzare i seguenti suggerimenti come punto di partenza. I tuoi requisiti potrebbero essere diversi dall'architettura descritta qui.
  • VCN

    Quando crei una VCN, determina il numero di blocchi CIDR necessari e la dimensione di ciascun blocco in base al numero di risorse che intendi collegare alle subnet nella VCN. Utilizza blocchi CIDR all'interno dello spazio di indirizzi IP privati standard.

    Selezionare i blocchi CIDR che non si sovrappongono ad altre reti (in Oracle Cloud Infrastructure, nel data center on premise o in un altro provider cloud) a cui si intende impostare connessioni private.

    Dopo aver creato una VCN, puoi modificare, aggiungere e rimuovere i relativi blocchi CIDR.

    Quando progetti le subnet, considera il flusso di traffico e i requisiti di sicurezza. Collega tutte le risorse all'interno di un livello o ruolo specifico alla stessa subnet, che può fungere da limite di sicurezza.

  • Sicurezza

    Si consiglia vivamente all'utente che distribuisce lo stack di far parte del gruppo di amministratori. Nel caso in cui l'utente espone Apache Airflow a Internet utilizzando la variabile allowed_source_cidr, si consiglia vivamente di compilare un IP specifico, blocco CIDR subnet.

Considerazioni

Considerare i seguenti punti durante la distribuzione di questa architettura di riferimento.

  • Sicurezza

    L'istanza che esegue il flusso d'aria Apache e le istanze temporanee del lavoratore sono autorizzate a utilizzare un gruppo dinamico per gestire le istanze, i volumi a blocchi e gli oggetti di lettura nel compartimento a cui appartengono. La funzione è autorizzata a eseguire operazioni di lettura sulle risorse oggetto nel compartimento.

  • Disponibilità

    L'API Apache Airflow sulla porta 8080 dell'istanza Apache Airflow è raggiungibile da Internet solo quando viene creata una nuova VCN, l'istanza dispone di un indirizzo IP pubblico e la variabile allowed_source_cidr include l'IP di origine da cui viene tentata la connessione.

  • Costo

    Viene creata un'istanza di computazione temporanea per gestire ogni operazione di importazione del disco virtuale in Oracle Cloud Infrastructure Block Volumes. Al completamento del workflow, l'istanza viene interrotta.

  • Posizione

    Il posizionamento del volume a blocchi può essere personalizzato utilizzando i metadati "ad_number": 1/2/3 nel file di immagini del disco virtuale caricato nello storage degli oggetti OCI.

Distribuire

Il codice Terraform per configurare e distribuire le risorse di questa architettura di riferimento è disponibile in GitHub.

  1. Andare a GitHub.
  2. Clonare o scaricare il repository nel computer locale.
  3. Seguire le istruzioni riportate nel documento README.

Visualizza altro

Per saperne di più su Oracle Cloud Infrastructure, Apache Airflow e qemu-img, consulta le seguenti risorse.

Conferme

Author: Andrei Ilas