Share via


Esercitazione: Eseguire la migrazione da una macchina virtuale locale o da una macchina virtuale di Azure ospitata da PostgreSQL a Database di Azure per PostgreSQL usando il servizio di migrazione

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

Questa esercitazione illustra come eseguire la migrazione di un'istanza di PostgreSQL dalle macchine virtuali locali o di Azure a Database di Azure per PostgreSQL server flessibile usando le portale di Azure e l'interfaccia della riga di comando di Azure.

Il servizio di migrazione in Database di Azure per PostgreSQL è un servizio completamente gestito integrato nella portale di Azure e nell'interfaccia della riga di comando di Azure. È progettato per semplificare il percorso di migrazione verso Database di Azure per PostgreSQL server flessibile.

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

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.

Utenti e ruoli

Quando si esegue la migrazione a Database di Azure per PostgreSQL, è essenziale affrontare separatamente la migrazione di utenti e ruoli, perché richiedono un intervento manuale:

  • Migrazione manuale di utenti e ruoli: gli utenti e i ruoli associati devono essere migrati manualmente al Database di Azure per PostgreSQL. Per facilitare questo processo, è possibile usare l'utilità pg_dumpall con il --globals-only flag per esportare oggetti globali, ad esempio ruoli e account utente. Eseguire il comando seguente, sostituendo <<username>> con il nome utente effettivo e <<filename>> con il nome file di output desiderato:

    pg_dumpall --globals-only -U <<username>> -f <<filename>>.sql
    
  • Restrizione per i ruoli con privilegi avanzati: Database di Azure per PostgreSQL non supporta i ruoli con privilegi avanzati. Pertanto, gli utenti con privilegi con privilegi avanzati devono avere tali privilegi rimossi prima della migrazione. Assicurarsi di modificare le autorizzazioni e i ruoli di conseguenza.

Seguendo questa procedura, è possibile assicurarsi che gli account utente e i ruoli vengano migrati correttamente al Database di Azure per PostgreSQL senza riscontrare problemi correlati alle restrizioni dell'utente con privilegi avanzati.

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.

È possibile eseguire la migrazione usando il portale di Azure.

Configurare l'attività di migrazione

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

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

  2. Passare al server flessibile di 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 selezione della migrazione.

  4. Selezionare il pulsante Crea per eseguire la migrazione a un server flessibile da macchine virtuali locali o di Azure.

    Nota

    La prima volta che si usa il servizio di migrazione, viene visualizzata una griglia vuota con un prompt per avviare la prima migrazione.

    Se sono già state create migrazioni alla destinazione del server flessibile, la griglia contiene ora informazioni sui tentativi di migrazione.

  5. Selezionare il pulsante Crea per passare a una serie di schede basate su procedura guidata per eseguire una migrazione.

    Screenshot della pagina di creazione della migrazione.

Attrezzaggio

La prima scheda è la scheda di installazione.

L'utente deve fornire più dettagli relativi alla migrazione, ad esempio il nome della migrazione, il tipo di server di origine, l'opzione e la modalità.

  • 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.

  • Tipo di server di origine: a seconda dell'origine PostgreSQL, è possibile selezionare Database di Azure per PostgreSQL server singolo, locale, macchina virtuale di Azure.

  • 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 in caso di errori di convalida.
      • La scelta dell'opzione Convalida o Convalida ed Esegui migrazione è sempre una procedura consigliata per eseguire le convalide di premi prima di eseguire la migrazione.

Per altre informazioni sulla convalida della premigration, vedere premigration (Premigration).

  • La modalità di migrazione consente di scegliere la modalità per la migrazione. Offline è l'opzione predefinita.

Selezionare il pulsante Avanti: Connessione all'origine.

Screenshot della pagina di migrazione della configurazione.

Connessione all'origine

La scheda Connessione origine richiede di specificare i dettagli relativi all'origine selezionata nella scheda Imposta, che è l'origine dei database.

  • Nome server: specificare il nome host o l'indirizzo IP dell'istanza postgreSQL di origine

  • Porta - Numero di porta del server di origine

  • Nome di accesso dell'amministratore del server - Nome utente del server PostgreSQL di origine

  • Password - Password del server PostgreSQL di origine

  • Modalità SSL: i valori supportati sono preferiti e obbligatori. Quando SSL nel server PostgreSQL di origine è OFF, usare SSLMODE=prefer. Se ssl nel server di origine è ON, usare SSLMODE=require. I valori SSL possono essere determinati nel file postgresql.conf.

  • Test Connessione ion: esegue il test di connettività tra la destinazione e l'origine. Una volta completata la connessione, gli utenti possono procedere con il passaggio successivo; devono identificare i problemi di rete tra la destinazione e l'origine e verificare il nome utente/password per l'origine. La connessione di test richiede alcuni minuti per stabilire una connessione tra la destinazione e l'origine.

Dopo aver completato la connessione di test, selezionare il pulsante Avanti: Selezionare destinazione della migrazione .

Screenshot della pagina di migrazione dell'origine di connessione.

Connessione alla destinazione

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

  • nome utente Amministrazione : Amministrazione nome utente del server PostgreSQL di destinazione

  • Password - Password del server PostgreSQL di destinazione

  • Test Connessione ion: esegue il test di connettività tra la destinazione e l'origine. Una volta completata la connessione, gli utenti possono procedere con il passaggio successivo. In caso contrario, è necessario identificare i problemi di rete tra la destinazione e l'origine e verificare il nome utente/password per la destinazione. La connessione di test richiede alcuni minuti per stabilire una connessione tra la destinazione e l'origine

Dopo aver completato la connessione di test, selezionare Avanti: Selezionare database per la migrazione

Screenshot della pagina di migrazione della destinazione di connessione.

Selezionare i database per la migrazione

Nella scheda Selezione database per la migrazione è possibile scegliere un elenco di database utente di cui eseguire la migrazione dal server PostgreSQL di origine.

Dopo aver selezionato i database, selezionare Avanti : Riepilogo.

Screenshot della pagina di migrazione fetchDB.

Riepilogo

La scheda Riepilogo riepiloga tutti i dettagli di origine e destinazione per la creazione della convalida o della migrazione. Esaminare i dettagli e selezionare il pulsante Avvia convalida e migrazione .

Screenshot della pagina di migrazione di riepilogo.

Monitorare la migrazione

Dopo aver selezionato il pulsante Avvia convalida e migrazione , 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. La voce si trova nello stato InProgress e nella sottostate PerformingPreRequisiteSteps . Il flusso di lavoro richiede 2-3 minuti per configurare l'infrastruttura di migrazione e controllare le connessioni di rete.

Screenshot della pagina di migrazione di monitoraggio.

La griglia che visualizza le migrazioni include queste colonne: Nome, Stato, Modalità migrazione, Tipo di migrazione, Server di origine, Tipo di server di origine, Database, Durata e Ora di inizio. 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 dell'esecuzione della convalida o della migrazione.

Dettagli della migrazione

Selezionare il nome della migrazione nella griglia per visualizzare i dettagli associati.

Nella scheda Installazione è stata selezionata l'opzione di migrazione convalida e migrazione. In questo scenario, le convalide vengono eseguite prima dell'avvio della migrazione. Al termine del supporto PerformingPreRequisiteSteps, il flusso di lavoro passa al supporto di 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.

I dettagli di convalida sono disponibili a livello di istanza e database.

  • Convalida a livello di istanza
    • Contiene la convalida correlata al controllo della connettività, alla versione di origine, ovvero alla versione >di PostgreSQL = 9.5, al controllo dei parametri del server, ovvero se le estensioni sono abilitate nei parametri server del server Database di Azure per PostgreSQL - server flessibile.
  • Convalida a livello di database
    • Contiene la convalida dei singoli database correlati al supporto delle estensioni e delle regole di confronto in Database di Azure per PostgreSQL, un server flessibile.

È possibile visualizzare la convalida e lo stato della migrazione nella pagina dei dettagli della migrazione. Screenshot dei dettagli che illustrano la convalida e la migrazione.

I possibili stati di migrazione includono:

  • InProgress: la configurazione dell'infrastruttura di migrazione è in corso o la migrazione effettiva dei dati è in corso.
  • Annullata: la migrazione viene annullata o eliminata.
  • Operazione non riuscita: la migrazione non è riuscita.
  • Convalida non riuscita : la convalida non è riuscita.
  • Operazione completata: la migrazione è stata completata e completata.
  • WaitingForUserAction: applicabile solo per la migrazione online. In attesa dell'azione dell'utente per eseguire il cutover.

Le possibili sottostate di migrazione includono:

  • Esecuzione diPreRequisiteSteps: è in corso la configurazione dell'infrastruttura per la migrazione dei dati.
  • Convalida in corso: la convalida è in corso.
  • Migrazione diData: la migrazione dei dati è in corso.
  • CompletionMigration: la migrazione è nelle fasi finali del completamento.
  • Completato: la migrazione è stata completata.
  • Operazione non riuscita: la migrazione non è riuscita.

Le possibili sottostate di convalida includono:

  • Operazione non riuscita: la convalida non è riuscita.
  • Operazione riuscita: la convalida ha esito positivo.
  • Avviso: la convalida è in avviso. Gli avvisi sono messaggi informativi che è necessario ricordare durante la pianificazione della migrazione.

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 un'ulteriore 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 . L'azione di annullamento eseguirà il rollback di tutte le modifiche apportate dal servizio di migrazione nel server di destinazione.

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.