4.18.01 عملية العودة إلى الحالة السابقة

الإصدار 4.18.01 من Edge الخاص بخدمة Private Cloud

في حال حدوث خطأ أثناء إجراء تحديث على الإصدار 4.18.01 من Edge، يمكنك الرجوع إلى الإصدار السابق من المكوِّن الذي تسبب في حدوث الخطأ، ثم إعادة محاولة التحديث. على سبيل المثال، في حال تعذُّر التحديث على الإصدار 9.6 من Postgres، يمكنك العودة إلى الإصدارات السابقة من عُقد Postgres فقط ومحاولة التحديث مرة أخرى.

هناك سيناريوهان قد تحتاج فيهما لإجراء عملية العودة إلى الحالة السابقة:

  1. العودة إلى إصدار أقدم على سبيل المثال من 4.18.01 إلى 4.17.01.
  2. العودة إلى إصدار أقدم في الإصدار نفسه

يُرجى استخدام الإجراء أدناه لإجراء العودة إلى إصدار سابق لكلا السيناريوهَين.

المستخدمون الذين يمكنهم إجراء عملية العودة إلى الحالة السابقة

يجب أن يكون المستخدم الذي يقوم بعملية العودة إلى الحالة السابقة هو نفسه المستخدم الذي حدّث Edge في الأصل، أو المستخدم الذي يعمل كجذر.

يتم تشغيل مكونات Edge افتراضيًا كـ "apigee" للمستخدم. وفي بعض الحالات، قد يتم تشغيل مكونات Edge كمستخدمين مختلفين. على سبيل المثال، إذا كان على جهاز التوجيه الوصول إلى المنافذ ذات الأذونات المميزة، مثل المنافذ التي تقل عن 1000، يجب تشغيل جهاز التوجيه كجذر أو كمستخدم لديه إمكانية الوصول إلى هذه المنافذ. أو، يمكنك تشغيل مكون واحد كمستخدم واحد ومكون آخر كمستخدم آخر.

المكوّنات التي يمكن التراجع عنها

يجب أن تكون على دراية بالشروط التالية عند إجراء تراجع:

  • تشترك مكونات Edge الخمسة المدرجة أدناه في رمز مشترك. بالتالي، للعودة إلى إصدار سابق من أي من المكونات الخمسة على عقدة، يجب إرجاع أي من المكونات الخمسة المثبّتة على العقدة. على سبيل المثال، إذا كان لديك خادم الإدارة وجهاز التوجيه ومعالج الرسائل مثبّتًا في العقدة، يجب الرجوع إلى جميع هذه الأجهزة الثلاثة.

    المكونات الخمسة التي تشارك الرمز هي:

    • خادم الإدارة
    • جهاز التوجيه
    • معالج الرسائل
    • خادم Qpid
    • خادم Postgres
  • إذا كنت تقوم بالتحديث من الإصدار 4.16.01 من Edge، لا تتراجع عن Cassandra. يتضمّن هذا الإصدار من Edge إصدارًا محدَّثًا من Cassandra. في حال العودة إلى إصدار سابق من أي مكوّنات، اترك Cassandra في الإصدار 4.18.01.

العودة إلى الإصدار السابق 4.18.01

يحتوي هذا القسم على إجراء العودة إلى الإصدار السابق من Edge 4.18.01. ينقسم هذا القسم إلى قسمَين:

  • إعادة تحديث Postgres
    الجزء الأخير من كل إجراء تحديث هو تحديث عُقد Postgres إلى الإصدار 9.6. وفي حال تعذّر التحديث، يمكنك استخدام هذا الإجراء للتراجع عن التحديث.
  • إعادة جميع مكونات Edge الأخرى
    استخدم هذا الإجراء لإعادة أي مكونات Edge الأخرى.

للتراجع عن تحديث Postgres 9.6

للتراجع عن تحديث Postgres عند تحديث Postgres في إعداد وضع الاستعداد الرئيسي، عليك إجراء ما يلي:

  • ترقية عقدة وضع الاستعداد الجديدة لتصبح المشرف الرئيسي في Postgres. وسيكون إصدار Postgres الرئيسي الجديد هو الإصدار نفسه الذي تم تثبيته عليه سابقًا.
  • قم بتهيئة عقدة وضع الاستعداد القديمة لتكون عقدة وضع الاستعداد للشريحة الرئيسية الجديدة. وستكون عقدة وضع الاستعداد القديمة هي نفسها إصدار Edge السابق.
  • تسجيل العُقد الرئيسية وجاهزة الجديدة في مجموعات الإحصاءات ومجموعات المستهلكين.

عند الانتهاء من العودة إلى الحالة السابقة، لن تكون العُقدة الرئيسية القديمة ضرورية. ويمكنك بعد ذلك إيقاف العقدة الرئيسية القديمة.

  1. تأكَّد من أنّ عقدة Postgres الجديدة في وضع الاستعداد تعمل:
    > /opt/apigee/apigee-service/bin/apigee-all status

    في حال عدم تشغيل Postgres، يمكنك بدء تشغيله:

    > /opt/apigee/apigee-service/bin/apigee-all start
  2. تأكَّد من إيقاف Postgres في العُقدة الرئيسية القديمة وعقدة وضع الاستعداد القديمة:
    > /opt/apigee/apigee-service/bin/apigee-all status

    في حال تشغيل Postgres، يُرجى إيقافها:

    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop

  3. في حال تثبيت عقدة وضع الاستعداد، ابدأ Qpid على عقدة وضع الاستعداد القديمة:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. ترقية عقدة وضع الاستعداد الجديدة باعتبارها وحدة Postgres الرئيسية:
    1. ترقية عقدة وضع الاستعداد الجديدة لتصبح عقدة رئيسية جديدة:
      > apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      إذا طُلب منك ذلك، أدخِل كلمة مرور Postgres لمستخدم "apigee" الذي يتم ضبطه تلقائيًا على "postgres".

    2. عدِّل ملف الإعداد الذي استخدمته لتثبيت الإصدار الحالي من Edge لتحديد ما يلي:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    3. ضبط الشريحة الرئيسية الجديدة:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. أعِد إنشاء عقدة وضع الاستعداد القديمة:
    1. عدِّل ملف الإعداد الذي استخدمته لتثبيت الإصدار الحالي من Edge لتحديد ما يلي:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    2. إزالة دليل البيانات من عقدة وضع الاستعداد القديمة:
      > cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. إعادة ضبط عقدة وضع الاستعداد القديمة لتكون عقدة وضع الاستعداد للشريحة الرئيسية الجديدة:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. تأكَّد من تشغيل Postgres على عقدة وضع الاستعداد القديمة:
      > /opt/apigee/apigee-service/bin/apigee-all status

      إذا لم يكن التطبيق قيد التشغيل، يمكنك تشغيله:

      > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  6. تأكَّد من إضافة عقدة وضع الاستعداد الجديدة من خلال عرض ملف /opt/apigee/apigee-postgresql/conf/pg_hba.conf على الشريحة الرئيسية الجديدة.
  7. يمكنك الاطّلاع على الإحصاءات الحالية ومعلومات مجموعة المستهلكين من خلال تنفيذ الأمر التالي على خادم الإدارة:
    > curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    يعرض هذا الأمر اسم مجموعة الإحصاءات في الحقل name، واسم مجموعة المستهلكين في الحقل name ضمن consumer-groups. وتعرض أيضًا المعرّفات الفريدة العالمية (UUID) لعُقد Postgres الرئيسية والاستعداد القديمة في الحقل postgres-server وفي الحقل datastores. من المفترَض أن تظهر لك النتيجة على النحو التالي:

    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "VALIDATE~test", "sgilson~prod" ],
      "uuids" : {
        "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "postgres-server" : [
          "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256"
        ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "datastores" :
          [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ],
          "properties" : {     }
        }
      ],
      "data-processors" : {
      }
    }

  8. يمكنك الحصول على عنوان UUID للصفحة الرئيسية القديمة من خلال تشغيل الأمر cURL التالي على العقدة الرئيسية القديمة:
    > curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    من المفترض أن يظهر لك المعرّف الفريد العالمي للعقدة في نهاية الناتج، على النحو التالي:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
    .

  9. كرِّر الخطوة السابقة للحصول على عناوين IP لعقدة وضع الاستعداد القديمة وعقدة جديدة.
  10. إزالة العُقد الرئيسية القديمة وعقد الاستعداد من مجموعة المستهلكين:
    > curl -u sysAdminEmail:password -X DELETE
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v

    حيث axgroup-001 وconsumer-group-001 هما الاسمان التلقائيان للإحصاءات ومجموعات المستهلكين. إنّ masterUUID,standbyUUID بالترتيب نفسه الذي ظهر به أعلاه عند عرض الإحصاءات الحالية ومعلومات مجموعة المستهلكين أعلاه. وقد تحتاج إلى تحديدها باعتبارها standbyUUID,masterUUID.

    يجب أن تكون السمة datastores لـ consumer-groups فارغة الآن.

  11. إزالة العُقد الرئيسية القديمة وعقد الاستعداد من مجموعة الإحصاءات:
    > curl -u sysAdminEmail:password -X DELETE
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    يجب أن تكون السمة postgres-server ضمن uuids فارغة الآن.

  12. تسجيل عُقد PG الرئيسية والاستعدادات الجديدة في مجموعات الإحصاءات ومجموعات المستهلكين:
    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
    > curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v
  13. التحقّق من صحة مجموعة الإحصاءات:
    > curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    من المفترض أن تظهر لك أرقام التعريف الفريدة العالمية (UUID) للعُقد الرئيسية وجاهزة الاستعداد الجديدة التي تم إدراجها في مجموعة الإحصاءات ومجموعة المستهلكين.

  14. أعِد تشغيل خادم إدارة Edge:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  15. أعِد تشغيل جميع خوادم Qpid:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  16. إعادة تشغيل جميع خوادم Postgres:
    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  17. تحقق من حالة النسخ المماثل عن طريق إصدار النصوص البرمجية التالية على كلا الخادمين. يجب أن يعرض النظام نتائج متطابقة على كلا الخادمَين لضمان إجراء نسخ متماثل بنجاح:

    على الشريحة الرئيسية الجديدة، نفِّذ ما يلي:

    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    تحقق من أنه يقول أنه رئيسي. في عقدة وضع الاستعداد القديمة:

    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    يُرجى التأكّد من أنّها في وضع الاستعداد.

  18. كرِّر الخطوة السابقة بعد تقديم عدة طلبات من واجهة برمجة التطبيقات لضمان مزامنة العُقد.
  19. عليك إيقاف مشرف Postgres القديم باستخدام الإجراء الوارد في تحديث Apigee Edge 4.16.01/4.16.05 إلى 4.17.09.

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

إلغاء تثبيت Qpid من الشريحة الرئيسية القديمة وتثبيت Qpid على الشريحة الرئيسية الجديدة

نفِّذ الإجراء التالي لإلغاء تثبيت Qpid من الشريحة الرئيسية القديمة وتثبيته على الشريحة الرئيسية الجديدة:

  1. احظر وصول معالجات الرسائل إلى منفذ Qpid 5672 على الشريحة الرئيسية القديمة من خلال تنفيذ الأمر التالي على جميع معالجات الرسائل:
    > iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. تأكد من أن قائمة انتظار رسالة Qpid فارغة عن طريق تشغيل الأمر التالي. لا يمكنك إلغاء تثبيت Qpid حتى يعالج جميع الرسائل المعلّقة:
    > qpid-stat -q

    يعرض هذا الأمر جدولاً يحتوي على عدد لـ msg, msgIn, and msgOut. ستتم معالجة جميع الرسائل عند msg=0 وmsgIn=msgOut.

  3. حدد المعرّف الفريد العالمي لخادم Qpid على الشريحة الرئيسية القديمة من خلال تشغيل الأمر التالي على الوحدة الرئيسية القديمة. احفظ هذه المعلومات لاستخدامها لاحقًا في الإجراء:
    > curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
  4. إيقاف Qpid على الشريحة الرئيسية القديمة:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  5. إلغاء تثبيت خادم Qpid:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. أزِل خادم Qpid القديم من مجموعات الإحصاءات ومجموعات المستهلكين:
    > curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v
    > curl -u sysAdminEmail:password -X DELETE
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
  7. إزالة خادم Qpid القديم من Zookeeper:
    > curl -u sysAdminEmail:password -X DELETE
      http://ms_IP:8080/v1/servers/qpid_UUID
  8. تثبيت Qpid على الشريحة الرئيسية الجديدة:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. حدد المعرّف الفريد العالمي لخادم Qpid على الشريحة الرئيسية الجديدة عن طريق تشغيل الأمر التالي على الوحدة الرئيسية الجديدة. احفظ هذه المعلومات لاستخدامها لاحقًا في الإجراء:
    > curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. سجِّل خادم Qpid الجديد في مجموعات الإحصاءات ومجموعات المستهلكين:
    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
    > curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers?uuid=qpid_UUID" -v
  11. أعِد تشغيل جميع معالِجات الرسائل:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. نفِّذ الأمر التالي على خادم Qpid الجديد للتحقّق من إنشاء قوائم الانتظار:
    > qpid-stat -q

    تأكَّد من ظهور تحديث msg وmsgIn وmsgOut أثناء معالجة خادم Qpid للرسائل.

العودة إلى الإصدار السابق من الإصدار 4.18.01

كجزء من تنفيذ عملية العودة إلى الإصدارات السابقة، يجب تنزيل ملف Bootstrap.sh لإصدارك الحالي من Edge:

  • للرجوع إلى الإصدار 4.17.09، يمكنك تنزيل bootstrap_4.17.09.sh.
  • للرجوع إلى الإصدار 4.17.05، يمكنك تنزيل bootstrap_4.17.05.sh
  • للرجوع إلى الإصدار 4.17.01، يمكنك تنزيل bootstrap_4.17.01.sh
  • للرجوع إلى الإصدار 4.16.09، عليك تنزيل bootstrap_4.16.09.sh.
  • للرجوع إلى الإصدار 4.16.05، عليك تنزيل bootstrap_4.16.05.sh.
  • للرجوع إلى الإصدار 4.16.01، يمكنك تنزيل bootstrap.sh

بالنسبة إلى كل عقدة تستضيف مكوِّنًا للرجوع إلى إصدار سابق:

  1. أوقِف المكوِّن عن العودة إلى الحالة السابقة:
    1. في حال استعادة أي من المكوّنات التالية على العقدة، يجب إيقافها كلها: خادم الإدارة أو جهاز التوجيه أو معالج الرسائل أو خادم Qpid أو خادم Postgres:
      • > apigee-service edge-management-server stop
      • > apigee-service edge-router stop
      • > apigee-service edge-message-processor stop
      • > apigee-service edge-qpid-server stop
      • > apigee-service edge-postgres-server stop
    2. في حال التراجع عن أي مكوِّن آخر في العقدة، أوقِف هذا المكوّن فقط:
      • > apigee-service comp stop
  2. في حال العودة إلى ميزة تحقيق الربح المادي، يجب إلغاء تثبيتها من كل عُقد خادم الإدارة ومعالج الرسائل:
    > apigee-service edge-mint-gateway uninstall
  3. ألغِ تثبيت المكوِّن للعودة إلى الحالة السابقة على العُقدة:
    1. في حال استعادة أي من المكوّنات التالية على العقدة، يجب إلغاء تثبيت كل هذه المكوّنات: خادم الإدارة أو جهاز التوجيه أو معالج الرسائل أو خادم Qpid أو خادم Postgres:
      > apigee-service edge-gateway uninstall
    2. في حال استعادة أي مكوِّن آخر على العُقدة، عليك إلغاء تثبيت هذا المكوّن فقط:
      > apigee-service comp uninstall
    3. في حال إرجاع جهاز التوجيه إلى الحالة السابقة، يجب حذف محتوى /opt/nginx/conf.d:
      > cd /opt/nginx/conf.d
      > rm -rf *
  4. للرجوع إلى الإصدار السابق من المكوِّن:
    1. ألغِ تثبيت الإصدار 4.18.01 من apigee-setup:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
    2. تنزيل Bootstrap.sh للإصدار المطلوب: على سبيل المثال، لـ 4.16.09:
      > curl https://software.apigee.com/bootstrap_4.16.09.sh -o /tmp/bootstrap_4.16.09.sh 
    3. عليك تثبيت البرامج المساعدة والتبعيات 4.16.01 أو 4.16.05 أو 4.16.09 apigee-service. على سبيل المثال، بالنسبة إلى 4.16.09:
      > sudo bash /tmp/bootstrap_4.16.09.sh apigeeuser=uName apigeepassword=pWord

      حيث يشير uName وpWord إلى اسم المستخدم وكلمة المرور اللذين تلقّيتهما من Apigee. إذا لم تستخدم pWord، سيُطلب منك إدخاله.

    4. ثبِّت apigee-setup:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    5. ثبِّت الإصدار المطلوب من المكوِّن:
      > /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      حيث يكون comp هو المكوِّن المطلوب تثبيته وconfigFile هو ملف الإعداد للإصدار المطلوب.

    6. في حال الرجوع إلى Qpid، يمكنك محو iptables:
      > sudo iptables -F
  5. لإعادة المكوّن إلى إصدار سابق من الإصدار 4.18.01:
    1. نزِّل الإصدار المحدّد للمكوِّن:
      > /opt/apigee/apigee-service/bin/apigee-service comp-version install

      حيث يكون comp-version هو المكوِّن والإصدار المطلوب تثبيته. مثلاً:

      > /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.17.09-0.0.3749 install

      إذا كنت تستخدم مخزن Apigee على الإنترنت، يمكنك تحديد إصدارات المكوّنات المتاحة باستخدام الأمر التالي:

      > yum --showduplicates list comp

      مثال:

      > yum --showduplicates list edge-ui
    2. استخدِم apigee-setup لتثبيت المكوِّن:
      > /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      مثال:

      > /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

      لاحظ كيف تحدد اسم المكون فقط عند إجراء التثبيت.

يُرجى التواصل مع فريق دعم Apigee Edge في حال مواجهة مشاكل عند الرجوع إلى إصدار سابق.