Oktatóanyag: PostgreSQL online migrálása Azure Database for PostgreSQL DMS (klasszikus) használatával a Azure Portal
A Azure Database Migration Service használatával migrálhatja az adatbázisokat egy helyszíni PostgreSQL-példányról Azure Database for PostgreSQL minimális állásidővel az alkalmazásba. Ebben az oktatóanyagban a listdb mintaadatbázist a PostgreSQL 13.10 egy helyszíni példányából migrálja Azure Database for PostgreSQL a Azure Database Migration Service online migrálási tevékenységével.
Eben az oktatóanyagban az alábbiakkal fog megismerkedni:
- A mintaséma migrálása a pg_dump segédprogrammal.
- Hozzon létre egy Azure Database Migration Service-példányt.
- Hozzon létre egy migrálási projektet Azure Database Migration Service.
- A migrálás futtatása.
- Az áttelepítés monitorozása.
- Migrálás átállása.
Megjegyzés
Az online migráláshoz Azure Database Migration Service használatához létre kell hoznia egy példányt a Prémium tarifacsomag alapján. Titkosítjuk a lemezt, hogy megelőzzük az adatlopásokat a migrálási folyamat során
Fontos
Az optimális migrálási élmény érdekében a Microsoft azt javasolja, hogy hozzon létre egy Azure Database Migration Service-példányt ugyanabban az Azure-régióban, mint a céladatbázis. Az adatok különböző régiók és földrajzi helyek közötti áthelyezése lelassíthatja a migrálási folyamatot, és hibákat eredményezhet.
Előfeltételek
Az oktatóanyag elvégzéséhez a következőkre lesz szüksége:
Töltse le és telepítse a PostgreSQL közösségi kiadását. A postgreSQL-kiszolgáló forrásverziójának = 9.4-esnek kell lennie >. További információ: Támogatott PostgreSQL-adatbázisverziók.
Azt is vegye figyelembe, hogy a cél Azure Database for PostgreSQL verziónak meg kell egyeznie a helyszíni PostgreSQL-verzióval vagy újabb verzióval. A PostgreSQL 12 például migrálható Azure Database for PostgreSQL >= 12 verzióra, de nem Azure Database for PostgreSQL 11-es verzióra.
Hozzon létre egy Microsoft Azure-Virtual Network Azure Database Migration Service az Azure Resource Manager üzembehelyezési modellel, amely helyek közötti kapcsolatot biztosít a helyszíni forráskiszolgálókhoz ExpressRoute vagy VPN használatával. A virtuális hálózatok létrehozásával kapcsolatos további információkért tekintse meg a Virtual Network dokumentációját, és különösen azokat a rövid útmutató cikkeket, amelyek részletes információkat tartalmaznak.
Megjegyzés
A virtuális hálózat beállítása során, ha az ExpressRoute-ot hálózati társviszony-létesítéssel használja a Microsofttal, adja hozzá a következő szolgáltatásvégpontokat ahhoz az alhálózathoz, amelyben a szolgáltatás ki lesz építve:
- Céladatbázis végpontja (például SQL-végpont, Azure Cosmos DB-végpont stb.)
- Tárolási végpont
- Service Bus-végpont
Ez a konfiguráció szükséges, mert az Azure Database Migration Service nem rendelkezik internetkapcsolattal.
Győződjön meg arról, hogy a virtuális hálózat hálózati biztonsági csoportra (NSG) vonatkozó szabályai nem blokkolják a ServiceTag 443-at a ServiceBus, a Storage és az AzureMonitor számára. A virtuális hálózati NSG-forgalom szűréséről további információt a Hálózati forgalom szűrése hálózati biztonsági csoportokkal című cikkben talál.
Konfigurálja a Windows tűzfalat az adatbázismotorhoz való hozzáféréshez.
Nyissa meg a Windows tűzfalat, hogy Azure Database Migration Service hozzáférhessen a forrás PostgreSQL-kiszolgálóhoz, amely alapértelmezés szerint az 5432-s TCP-port.
Ha tűzfalkészüléket használ a forrásadatbázis(ok) előtt, előfordulhat, hogy tűzfalszabályokat kell hozzáadnia annak engedélyezéséhez, hogy az Azure Database Migration Service a migrálás céljából hozzáférhessen a forrásadatbázis(ok)hoz.
Hozzon létre egy kiszolgálószintű tűzfalszabályt a Azure Database for PostgreSQL számára, hogy Azure Database Migration Service hozzáférjenek a céladatbázisokhoz. Adja meg a Azure Database Migration Service használt virtuális hálózat alhálózati tartományát.
Engedélyezze a logikai replikálást a postgresql.config fájlban, és állítsa be a következő paramétereket:
- wal_level = logical
- max_replication_slots = [tárolóhelyek száma], javasolt öt tárolóhelyre állítani
- max_wal_senders = [párhuzamos feladatok száma] – a max_wal_senders paraméter megadja a párhuzamosan futtatható feladatok számát, az ajánlott beállítás 10 feladat
A felhasználónak replikációs szerepkörrel kell rendelkeznie a forrásadatbázist üzemeltető kiszolgálón.
Fontos
A meglévő adatbázis összes táblájának elsődleges kulcsra van szüksége annak biztosításához, hogy a módosítások szinkronizálhatók legyenek a céladatbázissal.
A mintaséma migrálása
Ahhoz, hogy az összes adatbázis-objektumot táblasémaként, indexekként és tárolt eljárásokként egészíthessük ki, ki kell bontanunk a forrásadatbázis sémáját, és alkalmaznunk kell az adatbázisra.
Pg_dump -s parancs segítségével hozzon létre egy séma-memóriaképfájlt az adatbázishoz.
pg_dump -O -h hostname -U db_username -d db_name -s > your_schema.sql
Például a listdb adatbázis sémaképfájljának létrehozásához:
pg_dump -O -h localhost -U postgres -d listdb -s -x > listdbSchema.sql
A pg_dump segédprogram használatával kapcsolatos további információkért lásd a pg-memóriakép oktatóanyagban szereplő példákat.
Hozzon létre egy üres adatbázist a célkörnyezetben, amely az Azure Database for PostgreSQL.
Az adatbázisok csatlakoztatásával és létrehozásával kapcsolatos részletekért lásd: Azure Database for PostgreSQL-kiszolgáló létrehozása a Azure Portal.
Importálja a sémát a létrehozott céladatbázisba a séma-memóriaképfájl visszaállításával.
psql -h hostname -U db_username -d db_name < your_schema.sql
Például:
psql -h mypgserver-20170401.postgres.database.azure.com -U postgres -d migratedb < listdbSchema.sql
Megjegyzés
A migrálási szolgáltatás belsőleg kezeli a külső kulcsok és triggerek engedélyezését/letiltását a megbízható és robusztus adatmigrálás biztosítása érdekében. Emiatt nem kell aggódnia a céladatbázis sémájának módosítása miatt.
Az erőforrás-szolgáltató regisztrálása
A Database Migration Service első példányának létrehozása előtt regisztrálja a Microsoft.DataMigration erőforrás-szolgáltatót.
Jelentkezzen be az Azure Portalra. Keresse meg és válassza az Előfizetések lehetőséget.
Válassza ki azt az előfizetést, amelyben létre szeretné hozni a Azure Database Migration Service példányát, majd válassza az Erőforrás-szolgáltatók lehetőséget.
Keresse meg a migrálást, majd válassza a Regisztráció a Microsoft.DataMigration szolgáltatásra lehetőséget.
Azure Database Migration Service-példány létrehozása
A Azure Portal menüben vagy a Kezdőlapon válassza az Erőforrás létrehozása lehetőséget. Keresse meg és válassza a Azure Database Migration Service lehetőséget.
Az Azure Database Migration Service képernyőn válassza a Létrehozás lehetőséget.
Válassza ki a megfelelő forráskiszolgáló-típust és célkiszolgálótípust, majd válassza a Database Migration Service (klasszikus) lehetőséget.
A Migrálási szolgáltatás létrehozása – alapvető beállítások képernyőn:
- Válassza ki az előfizetést.
- Hozzon létre egy új erőforráscsoportot, vagy válasszon egy meglévőt.
- Adja meg a Azure Database Migration Service példányának nevét.
- Válassza ki azt a helyet, ahol létre szeretné hozni a Azure Database Migration Service példányát.
- Szolgáltatási módként válassza az Azure lehetőséget.
- Válasszon tarifacsomagot. További tájékoztatás a költségekről és a tarifacsomagokról a díjszabási lapon olvasható.
- Válassza a Tovább: Hálózatkezelés lehetőséget.
A Migrálási szolgáltatás létrehozása hálózatkezelés képernyőn:
- Válasszon ki egy meglévő virtuális hálózatot, vagy hozzon létre egy újat. A virtuális hálózat hozzáférést biztosít Azure Database Migration Service a forráskiszolgálóhoz és a célpéldányhoz. A virtuális hálózatok Azure Portal való létrehozásáról további információt a Virtuális hálózat létrehozása a Azure Portal használatával című cikkben talál.
Válassza az Áttekintés + Létrehozás lehetőséget a részletek áttekintéséhez, majd válassza a Létrehozás lehetőséget a szolgáltatás létrehozásához.
Néhány pillanat múlva létrejön az Azure Database Migration service-példány, és készen áll a használatra:
Migrálási projekt létrehozása
A szolgáltatás létrejötte után keresse meg azt az Azure Portalon, nyissa meg, és hozzon létre egy új migrálási projektet.
Az Azure Portalon válassza a Minden szolgáltatás lehetőséget, keresse meg az Azure Database Migration Service-t, majd válassza ki az Azure Database Migration Servicest.
Az Azure Database Migration Services képernyőn keresse meg a létrehozott Azure Database Migration Service példány nevét, jelölje ki a példányt, majd válassza az + Új migrálási projekt lehetőséget.
Az Új áttelepítési projekt képernyőn adja meg a projekt nevét, a Forráskiszolgáló típusa szövegmezőben válassza a PostgreSQL lehetőséget, a Célkiszolgáló típusa szövegmezőben válassza a Azure Database for PostgreSQL lehetőséget.
A Migrálási tevékenység típusa szakaszban válassza az Online adatmigrálás lehetőséget.
Megjegyzés
Másik lehetőségként választhatja a Csak projekt létrehozása lehetőséget a migrálási projekt létrehozásához és a migrálás későbbi végrehajtásához.
Válassza a Tevékenység létrehozása és futtatása lehetőséget a Azure Database Migration Service az adatok áttelepítéséhez való sikeres használatához.
Forrás adatainak megadása
A Forrásadatok hozzáadása képernyőn adja meg a forrás PostgreSQL-példány kapcsolati adatait.
Cél adatainak megadása
A Cél részletei képernyőn adja meg a cél Azure Database for PostgreSQL – Rugalmas kiszolgáló kapcsolati adatait, amely az az előre elkészített példány, amelyre a séma üzembe lett helyezve pg_dump használatával.
Kattintson a Tovább:Adatbázisok kiválasztása elemre, majd az Adatbázisok kiválasztása képernyőn képezheti le a forrást és a céladatbázist a migráláshoz.
Ha a céladatbázis ugyanazt az adatbázisnevet tartalmazza, mint a forrásadatbázis, Azure Database Migration Service alapértelmezés szerint kiválasztja a céladatbázist.
Kattintson a Tovább:Táblák kijelölése elemre, majd a Táblák kiválasztása képernyőn válassza ki az áttelepítendő táblákat.
Kattintson a Tovább:Áttelepítési beállítások konfigurálása elemre, majd az Áttelepítési beállítások konfigurálása képernyőn fogadja el az alapértelmezett értékeket.
Az Áttelepítés összegzése képernyőn, a Tevékenység neve szövegmezőben adja meg az áttelepítési tevékenység nevét, majd tekintse át az összefoglalást, és győződjön meg arról, hogy a forrás és a cél adatai megegyeznek a korábban megadott adatokval.
A migrálás futtatása
Válassza a Migrálás indítása lehetőséget.
Megjelenik a migrálási tevékenység ablaka, és a tevékenység állapota úgy frissül, hogy Biztonsági mentés folyamatban állapotúként jelenjen meg.
A migrálás monitorozása
A migrálás műveletének ablakában válassza a Frissítés lehetőséget a megjelenítés frissítéséhez addig, amíg a migrálás Állapota át nem vált Befejezve értékre.
Ha az áttelepítés befejeződött, az Adatbázis neve területen válasszon ki egy adott adatbázist a Teljes adatbetöltés és a Növekményes adatszinkronizálási műveletek áttelepítési állapotának eléréséhez.
Megjegyzés
A teljes adatbetöltés a kezdeti betöltési migrálás állapotát jeleníti meg, a növekményes adatszinkronizálás pedig a változási adatrögzítés (CDC) állapotát.
Átállásos áttelepítés végrehajtása
Az első teljes betöltés elkészültével az adatbázisok Átállásra kész állapotúak lesznek.
Ha készen áll az adatbázis migrálásának befejezésére, kattintson az Átállás indítása gombra.
Várjon, amíg a Függőben lévő módosítások számláló 0-t jelenít meg, és győződjön meg arról, hogy a forrásadatbázisba érkező összes bejövő tranzakció le van állítva, jelölje be a Megerősítés jelölőnégyzetet, majd válassza az Alkalmaz lehetőséget.
Ha az adatbázis migrálási állapota Befejezve, hozza létre újra a sorozatokat (ha van), és csatlakoztassa az alkalmazásokat a Azure Database for PostgreSQL új célpéldányához.
Következő lépések
- Az Azure Database for PostgreSQL-be történő online migrálás végrehajtásakor felmerülő ismert hibákhoz és korlátozásokhoz kapcsolódó információk: Az Azure Database for PostgreSQL online migrálásával kapcsolatos ismert hibák és kerülő megoldások.
- Az Azure Database Migration Service szolgáltatással kapcsolatos tudnivalók: Mi az Azure Database Migration Service?.
- A Azure Database for PostgreSQL kapcsolatos további információkért tekintse meg a Mi a Azure Database for PostgreSQL? című cikket.