البرنامج التعليمي: ترحيل PostgreSQL إلى قاعدة بيانات Azure ل PostgreSQL عبر الإنترنت باستخدام DMS (كلاسيكي) عبر مدخل Microsoft Azure

يمكنك استخدام Azure Database Migration Service لترحيل قواعد البيانات من مثيل PostgreSQL محلي إلى قاعدة بيانات⁧⁩Azure لـ PostgreSQL⁧⁩ مع الحد الأدنى من وقت التوقف للتطبيق. في هذا البرنامج التعليمي، تقوم بترحيل نموذج قاعدة بيانات listdb من مثيل محلي من PostgreSQL 13.10 إلى قاعدة بيانات Azure ل PostgreSQL باستخدام نشاط الترحيل عبر الإنترنت في Azure Database Migration Service.

في هذا البرنامج التعليمي، تتعلم كيفية:

  • ترحيل نموذج مخطط قاعدة البيانات باستخدام الأداة المساعدة pg_dump.
  • إنشاء مثيل لخدمة Azure Database Migration Service.
  • إنشاء مشروع ترحيل في Azure Database Migration Service.
  • تشغيل الترحيل.
  • مراقبة الترحيل.
  • تنفيذ قطع الترحيل.

ملاحظة

يتطلب استخدام خدمة ترحيل قاعدة بيانات Azure لتنفيذ ترحيل عبر الإنترنت إنشاء مثيل استنادًا إلى مستوى التسعير Premium. تشفير القرص لمنع سرقة البيانات في أثناء عملية الترحيل

هام

للحصول على تجربة ترحيل مثالية، توصي Microsoft بإنشاء مثيل لخدمة ترحيل قاعدة بيانات Azure في نفس منطقة Azure مثل قاعدة البيانات الهدف. يمكن أن يؤدي نقل البيانات عبر الأماكن أو المناطق الجغرافية إلى إبطاء عملية الترحيل وعرض أخطاء.

المتطلبات الأساسية

لإكمال هذا البرنامج التعليمي، تحتاج إلى:

  • قم بتنزيل وتثبيت إصدار مجتمع PostgreSQL. يجب أن يكون >إصدار PostgreSQL Server المصدر = 9.4. لمزيد من المعلومات، راجع إصدارات قاعدة بيانات PostgreSQL المعتمدة.

    لاحظ أيضًا أن قاعدة بيانات Azure المستهدفة لإصدار PostgreSQL ينبغي أن تكون مساوية لإصدار PostgreSQL المحلي أو أحدث منه. على سبيل المثال، يمكن ترحيل PostgreSQL 12 إلى قاعدة بيانات Azure ل PostgreSQL >= الإصدار 12 ولكن ليس إلى قاعدة بيانات Azure ل PostgreSQL 11.

  • أنشئ قاعدة بيانات Azure لخادم PostgreSQL.

  • إنشاء شبكة Microsoft Azure الظاهرية لخدمة ترحيل قاعدة بيانات Azure باستخدام نموذج توزيع إدارة الموارد Azure الذي يوفر اتصال موقع إلى موقع إلى الملقمات المصدر المحلي باستخدام ⁧⁩ExpressRoute⁧⁩ أو ⁧⁩VPN⁧⁩. لمزيد من المعلومات حول إنشاء شبكة اتصال ظاهرية، راجع «Virtual Network Documentation»وخاصة مقالات quickstart التي تحتوي على التفاصيل خطوة بخطوة.

    ملاحظة

    في أثناء إعداد الشبكة الظاهرية، في حال كنت تستخدم ExpressRoute مع شبكة الاتصال النظير لـ Microsoft، قم بإضافةنقاط نهاية الخدمة التالية إلى الشبكة الفرعية التي سيتم توفير الخدمة فيها:

    • نقطة نهاية قاعدة البيانات الهدف (على سبيل المثال، نقطة نهاية SQL ونقطة نهاية Azure Cosmos DB وما إلى ذلك)
    • نقطة نهاية التخزين
    • نقطة نهاية ناقل الخدمة

    هذا التكوين ضروري لأن خدمة ترحيل قاعدة بيانات Azure تفتقر إلى الاتصال بالإنترنت.

  • تأكد من أن قواعد مجموعة أمان الشبكة (NSG) لشبكتك الافتراضية لا تحظر المنفذ الصادر 443 من ServiceTag لـ ServiceBus والتخزين وAzureMonitor. لمزيد من التفاصيل حول تصفية حركة مرور NSG للشبكة الظاهرية، راجع مقالة ⁧⁩تصفية حركة مرور الشبكة مع مجموعات أمان الشبكة⁧⁩.

  • تكوين جدار حماية Windows للوصول إلى مشغل قاعدة البيانات.

  • افتح جدار حماية Windows للسماح لـ Azure Database Migration Service بالوصول إلى خادم PostgreSQL المصدر، والذي يكون منفذ TCP 5432 افتراضيًا.

  • عند استخدام جهاز جدار الحماية أمام قاعدة (قواعد) البيانات المصدر، قد تحتاج إلى إضافة قواعد جدار الحماية للسماح إلى Azure Database Migration Service بالوصول إلى قاعدة (قواعد) البيانات المصدرة للترحيل.

  • إنشاء قاعدة جدار حماية على مستوى الملقم من أجل Azure Database لـ PostgreSQL للسماح إلى Azure Database Migration Service بالوصول إلى قواعد البيانات المستهدفة. توفير نطاق الشبكة الفرعية للشبكة الظاهرية المستخدمة لخدمة ترحيل قاعدة بيانات Azure.

  • تمكين النسخ المتماثل المنطقي في ملف postgresql.config وتعيين المعلمات التالية:

    • wal_level = ⁧⁩منطقي⁧
    • max_replication_slots = [عدد الفتحات]، نوصي بضبط الإعداد إلى خمس فتحات
    • max_wal_senders =[عدد المهام المتزامنة] - تعين معلمة max_wal_senders عدد المهام المتزامنة التي يمكن تشغيلها، والتوصية بإعدادها إلى ⁧⁩10 مهام⁧
  • يجب أن يكون لدى المستخدم دور REPLICATION على الخادم الذي يستضيف قاعدة البيانات المصدر.

هام

تحتاج جميع الجداول الموجودة في قاعدة البيانات الحالية إلى مفتاح أساسي لضمان إمكانية مزامنة التغييرات مع قاعدة البيانات الهدف.

ترحيل مخطط النموذج

لاستكمال جميع كائنات قاعدة البيانات مثل مخططات الجدول والفهارس والإجراءات المخزنة، نحتاج إلى استخراج المخطط من قاعدة البيانات المصدر وتطبيقه على قاعدة البيانات.

  1. استخدم الأمر pg_dump-s لإنشاء ملف تفريغ مخطط لقاعدة بيانات.

    pg_dump -O -h hostname -U db_username -d db_name -s > your_schema.sql
    

    على سبيل المثال، لإنشاء ملف تفريغ مخطط لقاعدة بيانات listdb :

    pg_dump -O -h localhost -U postgres -d listdb -s -x > listdbSchema.sql
    

    لمزيد من المعلومات حول استخدام الأداة المساعدة pg_dump، راجع الأمثلة في البرنامج التعليمي ⁧⁩pg-dump⁩.

  2. إنشاء قاعدة بيانات فارغة في البيئة المستهدفة الخاصة بك، وهي Azure Database لـ PostgreSQL.

    للحصول على تفاصيل حول كيفية الاتصال وإنشاء قاعدة بيانات، راجع المقالة إنشاء قاعدة بيانات Azure لخادم PostgreSQL في مدخل Microsoft Azure.

  3. استيراد المخطط إلى قاعدة البيانات الهدف الذي قمت بإنشائه عن طريق استعادة ملف تفريغ المخطط.

    psql -h hostname -U db_username -d db_name < your_schema.sql
    

    على سبيل المثال:

    psql -h mypgserver-20170401.postgres.database.azure.com  -U postgres -d migratedb < listdbSchema.sql
    

    ملاحظة

    تتعامل خدمة الترحيل داخليًّا مع تمكين/ تعطيل المفاتيح والمشغلات الخارجية لضمان ترحيل بيانات موثوق وقوي. ونتيجة لذلك، لا داعي للقلق بشأن إجراء أي تعديلات على مخطط قاعدة البيانات الهدف.

تسجيل موفر الموارد

قم بتسجيل موفر موارد Microsoft.DataMigration قبل إنشاء المثيل الأول لخدمة ترحيل قاعدة البيانات.

  1. سجّل الدخول إلى مدخل Azure. ابحث عن الاشتراكات وحددها.

    إظهار اشتراكات المدخل

  2. حدد الاشتراك الذي تريد إنشاء مثيل لـ Azure Database Migration Service فيه، ثم حدد موفرو الموارد.

    إظهار موفري الموارد

  3. ابحث عن الترحيل، ثم حدد تسجيل لـ Microsoft.DataMigration.

    سجل مزود الموارد

إنشاء مثيل Azure Database Migration Service

  1. من قائمة مدخل Azure أو من صفحة "Home" ، حدد "Create a resource" . ابحث عن وحدد Azure Database Migration Service.

    Azure Marketplace

  2. في شاشة Azure Database Migration Service، حدد Create.

    إنشاء مثيل Azure Database Migration Service instance

    حدد نوع خادم المصدر المناسب ونوع الخادم الهدف، واختر الخيار خدمة ترحيل قاعدة البيانات (كلاسيكي).

    تحديد سيناريو خدمة ترحيل قاعدة البيانات (كلاسيكي)

  3. في شاشة الأساسيات إنشاء خدمة ترحيل:

    • اختر الاشتراك.
    • أنشئ مجموعة موارد جديدة أو اختر مجموعة موجودة.
    • حدد اسمًا لمثيل خدمة ترحيل قاعدة بيانات Azure.
    • حدد الموقع الذي تريد إنشاء مثيل لـAzure Database Migration Service فيه.
    • اختر Azure كوضع الخدمة.
    • حدد فئة التسعير. لمزيد من المعلومات حول التكاليف و مستويات التسعير، راجع ⁧⁩صفحة التسعير⁧⁩.

    قم بتكوين إعدادات أساسيات مثيل Azure Database Migration Service

    • حدد Next: Networking.
  4. في شاشة شبكة "Create Migration Service" :

    • حدد شبكة ظاهرية موجودة أو قم بإنشاء شبكة جديدة. توفر الشبكة الظاهرية خدمة ترحيل قاعدة بيانات Azure مع الوصول إلى الخادم المصدر والمثيل الهدف. لمزيد من المعلومات حول كيفية إنشاء شبكة اتصال ظاهرية في مدخل Azure، راجع مقالة ⁧⁩إنشاء شبكة اتصال افتراضية باستخدام مدخل Azure⁧⁩.

    تكوين إعدادات شبكة مثيل Azure Database Migration Service

    • حدد "Review + Create" لمراجعة التفاصيل ثم حدد "Create" لإنشاء الخدمة.

    • بعد لحظات قليلة، يتم إنشاء مثيل خدمة ترحيل قاعدة بيانات Azure وجاهز للاستخدام:

    تم إنشاء خدمة الهجرة

إنشاء مشروع ترحيل

بعد إنشاء الخدمة، حدد موقعها داخل مدخل Microsoft Azure، وافتحها، ثم أنشئ مشروع ترحيل جديد.

  1. في مدخل Microsoft Azure، حدد ⁧⁩All services⁧⁩ وابحث عن Azure Database Migration Service، ثم حدد ⁧⁩Azure Database Migration Service⁧⁩.

    لقطة شاشة ل Search Azure Database Migration Service.

  2. في شاشة ⁧⁩Azure Database Migration Services⁧⁩، ابحث عن اسم مثيل خدمة ترحيل قاعدة بيانات Azure الذي أنشأته، وحدد المثيل، ثم حدد ⁧⁩New Migration Project⁧⁩.

    لقطة شاشة للبحث في مثيل خدمة ترحيل قاعدة بيانات Azure.

  3. على شاشة ⁧⁩مشروع ترحيل جديد،⁧⁩ حدد اسما للمشروع، في مربع النص ⁧⁩نوع الملقم المصدر،⁧⁩ حدد ⁧⁩PostgreSQL⁧⁩، في مربع النص ⁧⁩نوع الخادم الهدف،⁧⁩ حدد ⁧⁩قاعدة بيانات Azure لـ PostgreSQL⁧⁩.

  4. في قسم Migration activity type ، حدد Online data migration.

    لقطة شاشة لإنشاء مشروع ترحيل جديد.

    ملاحظة

    بدلاً من ذلك، يمكنك اختيار ⁧⁩إنشاء مشروع فقط⁧⁩ لإنشاء مشروع الترحيل الآن وتنفيذ الترحيل لاحقًا.

  5. حدد Create and run activity، لاستخدام Azure Database Migration Service بنجاح لترحيل البيانات.

قم بتحديد تفاصيل المصدر.

  1. في شاشة ⁧⁩إضافة تفاصيل المصدر⁧⁩، حدد تفاصيل الاتصال لمثيل PostgreSQL المصدر.

    لقطة شاشة لشاشة إضافة تفاصيل المصدر.

قم بتحديد تفاصيل الهدف.

  1. في شاشة Target details ، حدد تفاصيل الاتصال لقاعدة بيانات Azure الهدف ل PostgreSQL - الخادم المرن، وهو المثيل الذي تم توفيره مسبقا والذي تم نشر المخطط إليه باستخدام pg_dump.

    لقطة شاشة لشاشة إضافة تفاصيل الهدف.

  2. انقر فوق Next:Select databases، ثم على شاشة Select databases ، قم بتعيين المصدر وقاعدة البيانات الهدف للترحيل.

    في حال كانت قاعدة البيانات الهدف تحتوي على نفس اسم قاعدة البيانات مثل قاعدة البيانات المصدر، فإن Azure Database Migration Service تحدد قاعدة البيانات الهدف افتراضيًا.

    لقطة شاشة لقواعد بيانات الخريطة مع الشاشة الهدف.

  3. انقر فوق Next:Select tables، ثم في شاشة Select tables ، حدد الجداول المطلوبة التي يجب ترحيلها.

    لقطة شاشة لتحديد جداول شاشة الترحيل.

  4. انقر فوق Next:Configure migration settings، ثم على شاشة Configure migration settings ، اقبل القيم الافتراضية.

    لقطة شاشة لتكوين شاشة إعداد الترحيل.

  5. في شاشة ملخص الترحيل ، في مربع النص اسم النشاط ، حدد اسما لنشاط الترحيل، ثم راجع الملخص للتأكد من أن تفاصيل المصدر والهدف تتطابق مع ما حددته مسبقا.

    لقطة شاشة لشاشة ملخص الترحيل.

تشغيل الترحيل

  • حدد "Start migration" .

    تظهر نافذة نشاط الترحيل وينبغي تحديث ⁧⁩حالة⁧⁩ النشاط لتظهر على أنها ⁧⁩نسخة احتياطية قيد التقدم⁧⁩.

تشغيل الترحيل

  1. في شاشة نشاط الترحيل، حدد ⁧⁩تحديث⁧⁩ لتحديث العرض حتى تظهر ⁧⁩حالة⁧⁩ الترحيل ⁧⁩كمكتمل⁧⁩.

    لقطة شاشة لشاشة مراقبة الترحيل.

  2. عند اكتمال الترحيل، ضمن ⁧⁩Database Name⁧⁩، حدد قاعدة بيانات محددة للوصول إلى حالة الترحيل لعمليات تحميل البيانات ⁧⁩الكامل⁧⁩⁧⁩ومزامنة البيانات الإضافية⁩.

    ملاحظة

    يظهر ⁧⁩تحميل البيانات الكامل⁧⁩ حالة ترحيل التحميل الأولية، بينما تظهر ⁧⁩مزامنة البيانات الإضافية⁧⁩ حالة التقاط بيانات التغيير (CDC).

    لقطة شاشة لشاشة تفاصيل التحميل الكامل للترحيل.

    لقطة شاشة لشاشة تفاصيل التحميل المتزايد للترحيل.

تنفيذ قطع الترحيل

بعد اكتمال التحميل الكامل الأولية، يتم وضع علامة على قواعد البيانات ⁧⁩جاهزة للقطع⁧⁩.

  1. عندما تكون مستعدًا لإكمال ترحيل قاعدة البيانات، حدد ⁧⁩بدء القطع⁧⁩.

  2. انتظر حتى يظهر عداد التغييرات المعلقة0 للتأكد من إيقاف جميع المعاملات الواردة إلى قاعدة البيانات المصدر، حدد Confirm، ثم حدد Apply.

    لقطة شاشة لشاشة إكمال القطع.

  3. عندما تظهر حالة ترحيل قاعدة البيانات ⁧⁩Completed⁧⁩، ⁧⁩قم بإعادة إنشاء التسلسلات⁧⁩ (في حال كان ذلك ممكنًا)، ثم قم بتوصيل التطبيقات الخاصة بك بالمثيل الهدف الجديد من قاعدة بيانات Azure لـ PostgreSQL.

الخطوات التالية