Esercitazione: Eseguire la migrazione da Database di Azure per PostgreSQL - Server singolo a Database di Azure per PostgreSQL - Server flessibile usando il servizio di migrazione

SI APPLICA A: Database di Azure per PostgreSQL - Server flessibile

Usando il portale di Azure, è possibile eseguire la migrazione di un'istanza di Database di Azure per PostgreSQL - Server singolo a Database di Azure per PostgreSQL - Server flessibile. In questa esercitazione viene eseguita la migrazione di un database di esempio da un server singolo Database di Azure per PostgreSQL a un server flessibile PostgreSQL usando il portale di Azure.

  • Configurare il server flessibile Database di Azure per PostgreSQL
  • Configurare l'attività di migrazione
  • Monitorare la migrazione
  • Annullare la migrazione
  • Dopo la migrazione

È possibile eseguire la migrazione usando il portale di Azure.

Prerequisiti (offline)

Prima di avviare la migrazione con il servizio di migrazione in Database di Azure per PostgreSQL, soddisfare i prerequisiti seguenti, che si applicano agli scenari di migrazione offline è essenziale.

Verificare la versione di origine

La versione di PostgreSQL di origine deve essere >= 9.5. Se la versione postgreSQL di origine è minore di 9.5, aggiornare la versione postgreSQL di origine a 9.5 o versione successiva prima della migrazione.

Configurazione di destinazione

  • Database di Azure per PostgreSQL deve essere configurato in Azure prima della migrazione.

  • Lo SKU scelto per il Database di Azure per PostgreSQL deve corrispondere alle specifiche del database di origine per garantire la compatibilità e le prestazioni adeguate.

  • Per istruzioni dettagliate sulla creazione di un nuovo Database di Azure per PostgreSQL, vedere il collegamento seguente: Avvio rapido: Creare un server.

Configurazione della rete

Una corretta configurazione di rete è essenziale per garantire una corretta connettività tra l'origine e la destinazione durante la migrazione. Ecco una guida che consente di stabilire la connessione di rete per diversi scenari:

Requisiti di rete per la migrazione:

  • Tunneling VPN/VPN IPsec ExpressRoute/IPsec: quando si connette l'origine locale/AWS ad Azure, potrebbe essere necessario configurare un tunneling VPN ExpressRoute, IPsec o VPN per facilitare il trasferimento sicuro dei dati.

  • Peering reti virtuali: stabilire il peering di rete virtuale tra le due reti virtuali distinte per abilitare la connettività di rete diretta, un prerequisito per la migrazione tra la macchina virtuale di Azure e il Database di Azure per PostgreSQL.

scenari di Connessione ivity:

La tabella seguente consente di configurare la rete tra l'origine e la destinazione.

Source Target Connessione ivity Suggerimenti
Pubblico Pubblico Non è necessaria alcuna altra azione se l'origine è inclusa nell'elenco elementi consentiti nelle regole del firewall della destinazione.
Privata Pubblico Questa configurazione non è supportata; usare pg_dump/pg_restore per il trasferimento dei dati.
Pubblico Privato Non è necessaria alcuna altra azione se l'origine è inclusa nell'elenco elementi consentiti nelle regole del firewall della destinazione.
Privata Privata Stabilire un peering di rete virtuale, VPN ExpressRoute, IPsec, tunneling VPN o rete virtuale tra l'origine e la destinazione.
Privata Endpoint privato Questa configurazione non è supportata; contattare il supporto tecnico Microsoft.

Considerazioni aggiuntive sulla rete:

  • pg_hba.conf Configurazione: per facilitare la connettività tra le istanze di PostgreSQL di origine e di destinazione, è essenziale verificare e potenzialmente modificare il file pg_hba.conf. Questo file include l'autenticazione client e deve essere configurato per consentire a PostgreSQL di destinazione di connettersi all'origine. Per rendere effettive le modifiche apportate al file pg_hba.conf, è in genere necessario riavviare l'istanza di PostgreSQL di origine.

Nota

Il file pg_hba.conf si trova nella directory dei dati dell'installazione di PostgreSQL. Questo file deve essere controllato e configurato se il database di origine è un server PostgreSQL locale o un server PostgreSQL ospitato in una macchina virtuale di Azure. Per le istanze di PostgreSQL in AWS RDS o servizi gestiti simili, il file pg_hba.conf non è direttamente accessibile o applicabile. L'accesso viene invece controllato tramite le configurazioni di sicurezza e accesso alla rete fornite dal servizio.

Per altre informazioni sulla configurazione di rete, vedere Guida alla rete per il servizio di migrazione in Database di Azure per PostgreSQL - Server flessibile.

Estensioni

Le estensioni sono funzionalità aggiuntive che possono essere aggiunte a PostgreSQL per migliorarne le funzionalità. Le estensioni sono supportate in Database di Azure per PostgreSQL, ma devono essere abilitate manualmente. Per abilitare le estensioni, seguire questa procedura:

  • Usare il comando select nell'origine per elencare tutte le estensioni in uso: select extname,extversion from pg_extension;

  • Cercare il parametro del server azure.extensions nella pagina Parametro server del Database di Azure per PostgreSQL. Abilitare le estensioni disponibili nell'origine all'interno di PostgreSQL.

  • Salvare le modifiche del parametro e riavviare il Database di Azure per PostgreSQL per applicare la nuova configurazione, se necessario.

    Screenshot delle estensioni.

  • Controllare se l'elenco contiene una delle estensioni seguenti:

    • PG_CRON
    • PG_HINT_PLAN
    • PG_PARTMAN_BGW
    • PG_PREWARM
    • PG_STAT_STATEMENTS
    • PG_AUDIT
    • PGLOGICAL
    • WAL2JSON

In caso affermativo, cercare il parametro shared_preload_libraries nella pagina dei parametri del server. Questo parametro indica il set di librerie di estensioni precaricati al riavvio del server.

Parametri del server

Questi parametri non vengono migrati automaticamente nell'ambiente di destinazione e devono essere configurati manualmente.

  • Trovare la corrispondenza dei valori dei parametri del server dal database PostgreSQL di origine al Database di Azure per PostgreSQL accedendo alla sezione "Parametri server" nella portale di Azure e aggiornando manualmente i valori di conseguenza.

  • Salvare le modifiche del parametro e riavviare il Database di Azure per PostgreSQL per applicare la nuova configurazione, se necessario.

Disabilitare la disponibilità elevata (affidabilità) e le repliche in lettura nella destinazione

  • La disabilitazione della disponibilità elevata (affidabilità) e della lettura delle repliche nell'ambiente di destinazione è essenziale. Queste funzionalità devono essere abilitate solo dopo il completamento della migrazione.

  • Seguendo queste linee guida, è possibile garantire un processo di migrazione senza le variabili aggiunte introdotte dalla disponibilità elevata e dalle repliche in lettura. Una volta completata la migrazione e il database è stabile, è possibile abilitare queste funzionalità per migliorare la disponibilità e la scalabilità dell'ambiente di database in Azure.

Configurare il server flessibile Database di Azure per PostgreSQL

Configurare l'attività di migrazione

Il servizio di migrazione include un'esperienza semplice basata su procedura guidata sul portale di Azure. Ecco come iniziare:

  1. Aprire il Web browser e passare al portale. Per accedere, immettere le credenziali. La visualizzazione predefinita è il dashboard del servizio.

  2. Passare alla destinazione server flessibile Database di Azure per PostgreSQL.

  3. Nella scheda Panoramica del server flessibile, nel menu a sinistra scorrere verso il basso fino a Migrazione e selezionarlo.

    Screenshot della pagina Panoramica flessibile.

  4. Selezionare il pulsante Crea per avviare una migrazione da un singolo server a un server flessibile. Se è la prima volta che si usa il servizio di migrazione, viene visualizzata una griglia vuota con un prompt per iniziare la prima migrazione.

    Screenshot della scheda migrazione nel server flessibile.

    Se sono già state create migrazioni alla destinazione del server flessibile, la griglia contiene informazioni sulle migrazioni che sono state tentate a questa destinazione dal server singolo.

  5. Selezionare il pulsante Esegui migrazione da server singolo. Si passa attraverso una serie di schede basate su procedura guidata per creare una migrazione in questa destinazione server flessibile da qualsiasi server singolo di origine.

In alternativa, è possibile avviare il processo di migrazione dal server singolo Database di Azure per PostgreSQL.

  1. Aprire il Web browser e passare al portale. Per accedere, è necessario immettere le credenziali. La visualizzazione predefinita è il dashboard del servizio.

  2. Quando si seleziona il server singolo, è possibile osservare un banner correlato alla migrazione nella scheda Panoramica. Selezionare Esegui migrazione ora per iniziare.

    Screenshot per avviare la migrazione dalla scheda Server singolo.

  3. Si viene visualizzati in una pagina con due opzioni. Se è già stato creato un server flessibile e si vuole usarlo come destinazione, scegliere Seleziona esistente e selezionare i dettagli di Sottoscrizione, Gruppo di risorse e Nome server corrispondenti. Dopo aver effettuato le selezioni, selezionare Vai alla migrazione guidata e passare alle istruzioni nella sezione Configurazione della pagina.

    Screenshot per scegliere l'opzione server flessibile esistente.

  4. Se si sceglie crea un nuovo server flessibile, selezionare Crea nuovo e selezionare Vai a Creazione guidata. Questa azione illustra il processo di creazione del server flessibile e distribuisce il server flessibile.

    Screenshot per scegliere la nuova opzione server flessibile.

Dopo aver distribuito il server flessibile, seguire i passaggi da 3 a 5 in Configurare l'attività di migrazione.

Scheda Setup

La prima scheda è Setup. In caso di mancato recapito, consentire l'elenco delle estensioni necessarie, come illustrato in È essenziale consentire queste estensioni prima di avviare una migrazione.

Screenshot dei dettagli appartenenti alla scheda di configurazione per la modalità offline.

Il nome della migrazione è l'identificatore univoco per ogni migrazione a questa destinazione del server flessibile. Questo campo accetta solo caratteri alfanumerici e non accetta caratteri speciali tranne un trattino (-). Il nome non può iniziare con un trattino e deve essere univoco per un server di destinazione. Due migrazioni alla stessa destinazione del server flessibile possono avere lo stesso nome.

Il tipo di server di origine indica l'origine. In questo caso, è Database di Azure per PostgreSQL server singolo

L'opzione di migrazione consente di eseguire convalide prima di attivare una migrazione. È possibile scegliere una delle opzioni seguenti.

  • Convalida: controlla l'idoneità del server e del database per la migrazione alla destinazione.
  • Migrazione : ignora le convalide e avvia le migrazioni.
  • Convalida e migrazione : esegue la convalida prima di attivare una migrazione. La migrazione viene attivata solo se non sono presenti errori di convalida.

È sempre consigliabile scegliere l'opzione Convalida o Convalida ed Esegui migrazione per eseguire le convalide di premi prima di eseguire la migrazione.

Se è selezionata l'anteprima della migrazione online , la replica logica deve essere attivata nel server singolo di origine. Se non è attivato, il servizio di migrazione attiva automaticamente la replica logica nel server singolo di origine. La replica può essere configurata manualmente anche nella scheda Replica nel riquadro Lato server singolo impostando il livello di supporto della replica di Azure su Logico. Entrambi gli approcci riavviano il server singolo di origine.

Selezionare il pulsante Avanti : Connessione a Origine.

Scheda Origine

La scheda Origine richiede di specificare i dettagli relativi al server singolo, che è l'origine dei database.

Dopo aver eseguito le selezioni sottoscrizione e gruppo di risorse, l'elenco a discesa per i nomi dei server mostra i server singoli in tale gruppo di risorse tra aree. Selezionare l'origine da cui si vuole eseguire la migrazione dei database. È possibile eseguire la migrazione di database da un server singolo a un server flessibile di destinazione nella stessa area. Le migrazioni tra aree sono abilitate solo per i server India, Cina ed Emirati Arabi Uniti.

Dopo aver scelto l'origine server singolo, le caselle Percorso, Versione PostgreSQL e Nome account di accesso amministratore server vengono popolate automaticamente. Il nome di accesso dell'amministratore del server è il nome utente amministratore usato per creare il server singolo. Nella casella Password immettere la password per l'utente amministratore. Il servizio di migrazione esegue la migrazione di database a server singolo come utente amministratore.

Dopo aver compilato tutti i campi, selezionare il collegamento Connessione all'origine. Ciò verifica che i dettagli del server di origine immessi siano corretti e che il server di origine sia raggiungibile.

Screenshot dei dettagli del server di database di origine.

Selezionare il pulsante Avanti: selezionare la destinazione della migrazione per continuare.

Scheda Destinazione

Nella scheda Destinazione vengono visualizzati i metadati per la destinazione del server flessibile, ad esempio il nome della sottoscrizione, il gruppo di risorse, il nome del server, il percorso e la versione di PostgreSQL.

Screenshot dei dettagli del server di database di destinazione.

Per Nome account di accesso amministratore server, nella scheda viene visualizzato il nome utente amministratore usato durante la creazione della destinazione server flessibile. Immettere la password corrispondente per l'utente amministratore. Dopo aver compilato la password, selezionare il collegamento Connessione di destinazione. Ciò verifica che i dettagli del server di destinazione immessi siano corretti e che il server di destinazione sia raggiungibile.

Selezionare il pulsante Avanti per selezionare i database di cui eseguire la migrazione.

Selezionare Database per la scheda di migrazione

In questa scheda è presente un elenco di database utente all'interno del server singolo. È possibile selezionare ed eseguire la migrazione fino a otto database in un singolo tentativo di migrazione. Se sono presenti più di otto database utente, il processo di migrazione viene ripetuto tra i server di origine e di destinazione per il set successivo di database. Per impostazione predefinita, i database selezionati con lo stesso nome nella destinazione vengono sovrascritti.

Screenshot di Database di cui eseguire la migrazione.

Selezionare il pulsante Avanti per esaminare i dettagli.

Riepilogo

La scheda Riepilogo riepiloga tutti i dettagli per la creazione della convalida o della migrazione. Esaminare i dettagli e selezionare sul pulsante Start.

Screenshot dei dettagli da esaminare per la migrazione.

Monitorare il portale di migrazione

Dopo aver selezionato il pulsante start, viene visualizzata una notifica in pochi secondi per indicare che la convalida o la creazione della migrazione ha esito positivo. Si viene reindirizzati automaticamente alla pagina Migrazione del server flessibile. È disponibile una nuova voce per la convalida o la migrazione creata di recente.

Screenshot dei dettagli della migrazione creati di recente.

La griglia che visualizza le migrazioni include queste colonne: Nome, Stato, Tipo di migrazione, Modalità migrazione, Server di origine, Tipo di server di origine, Database, Ora di inizio e Durata. Le voci vengono visualizzate nell'ordine decrescente dell'ora di inizio con la voce più recente nella parte superiore.

È possibile usare il pulsante aggiorna per aggiornare lo stato della convalida o della migrazione. È anche possibile selezionare il nome della migrazione nella griglia per visualizzare i dettagli associati.

Quando viene creata la convalida o la migrazione, passa allo stato InProgress e alla sottostate PerformingPreRequisiteSteps . Il flusso di lavoro richiede 2-3 minuti per configurare l'infrastruttura di migrazione e le connessioni di rete.

Si esaminerà ora come monitorare le migrazioni per ogni opzione di migrazione.

Convalida

Al termine dell'istruzione PerformingPreRequisiteSteps , la convalida passa allo stato secondario Convalida in corso in cui i controlli vengono eseguiti sul server di origine e di destinazione per valutare l'idoneità per la migrazione.

La convalida passa allo stato Succeeded se tutte le convalide sono in stato Succeeded o Warning .

Screenshot della griglia di convalida.

La griglia di convalida ha

  • Dettagli di convalida per le sezioni Dettagli di convalida e istanza per i database, che rappresentano le regole di convalida usate per controllare l'idoneità della migrazione.
  • Stato convalida: rappresenta il risultato per ogni regola e può avere uno dei tre valori
    • Operazione riuscita : se non sono stati trovati errori.
    • Non riuscito : se sono presenti errori di convalida.
    • Avviso : se sono presenti avvisi di convalida.
  • Durata : tempo impiegato per l'operazione di convalida.
  • Ora di inizio e fine: ora di inizio e di fine dell'operazione di convalida in formato UTC.

Lo stato convalida passa allo stato Non riuscito se sono presenti errori nella convalida. Selezionare il nome di convalida o la convalida del nome del database non riuscita e un riquadro di fanout fornisce i dettagli e l'azione correttiva da eseguire per evitare questo errore.

Screenshot della griglia di convalida con stato non riuscito.

Migrate

Al termine del supporto PerformingPreRequisiteSteps , la migrazione passa al supporto di Migrazione dei dati quando viene eseguita la clonazione/copia dei database. Il tempo necessario per il completamento della migrazione dipende dalle dimensioni e dalla forma dei database di cui si esegue la migrazione. La migrazione è rapida se i dati vengono distribuiti principalmente in modo uniforme in tutte le tabelle. Le dimensioni delle tabelle asimmetriche richiedono un tempo relativamente più lungo.

Quando si seleziona uno dei database nella migrazione, viene visualizzato un riquadro fan-out. Include tutto il numero di tabelle, copiato, accodato, copiato ed errori, a parte lo stato della migrazione del database.

Screenshot della griglia di migrazione contenente tutti i dettagli del database.

La migrazione passa allo stato Succeeded al termine dell'operazione di migrazione dei dati . Se si verifica un problema nello stato Migrazione dei dati , la migrazione passa a uno stato Non riuscito .

Screenshot del risultato della migrazione.

Dopo che la migrazione passa allo stato Succeeded , schema e migrazione dei dati dal server singolo alla destinazione del server flessibile è stata completata. È possibile usare il pulsante di aggiornamento nella pagina per confermare lo stesso.

Screenshot delle migrazioni completate.

Convalidare ed eseguire la migrazione

In questa opzione, le convalide vengono eseguite prima dell'avvio della migrazione. Al termine dell'istruzione PerformingPreRequisiteSteps , il flusso di lavoro passa allo stato secondario Convalida in corso.

  • Se la convalida presenta errori, la migrazione passa a uno stato Non riuscito .
  • Se la convalida è stata completata senza errori, viene avviata la migrazione e il flusso di lavoro passa allo stato secondario di Migrazione dei dati.

Dopo il completamento dell'operazione, è possibile visualizzare i risultati di Convalida e migrazione .

Screenshot che mostra la scheda convalide nella pagina dei dettagli.

Annullare la migrazione tramite il portale

È possibile annullare eventuali convalide o migrazioni in corso. Il flusso di lavoro deve trovarsi nello stato InProgress da annullare. Non è possibile annullare una convalida o una migrazione nello stato Operazione riuscita o Non riuscita.

L'annullamento di una convalida arresta qualsiasi altra attività di convalida e la convalida passa a uno stato Annullato . L'annullamento di una migrazione arresta altre attività di migrazione nel server di destinazione e passa a uno stato Annullato . Non rilascia o esegue il rollback delle modifiche nel server di destinazione. Assicurarsi di eliminare i database nel server di destinazione coinvolti in una migrazione annullata.

Dopo la migrazione

Dopo aver completato i database, è necessario convalidare manualmente i dati tra origine e destinazione e verificare che tutti gli oggetti nel database di destinazione siano stati creati correttamente.

Dopo la migrazione, è possibile eseguire le attività seguenti:

  • Verificare i dati nel server flessibile e assicurarsi che si tratti di una copia esatta dell'istanza di origine.

  • Dopo la verifica, abilitare l'opzione a disponibilità elevata nel server flessibile in base alle esigenze.

  • Modificare lo SKU del server flessibile in modo che corrisponda alle esigenze dell'applicazione. Questa modifica richiede un riavvio del server di database.

  • Se si modificano i parametri del server dai relativi valori predefiniti nell'istanza di origine, copiare i valori dei parametri del server nel server flessibile.

  • Copiare altre impostazioni del server, ad esempio tag, avvisi e regole del firewall (se applicabile) dall'istanza di origine al server flessibile.

  • Apportare modifiche all'applicazione per puntare le stringa di connessione a un server flessibile.

  • Monitorare attentamente le prestazioni del database per verificare se richiede l'ottimizzazione delle prestazioni.