In the event of an error during an update to Edge 4.16.09, you can roll back the component that caused the error and then try the update again. على سبيل المثال، إذا تعذّر تحديث Postgres 9.4، يمكنك التراجع عن عقد Postgres فقط ومحاولة التحديث مرة أخرى.
هناك سيناريوهان قد تحتاج فيهما إلى إجراء عملية تراجع:
- العودة إلى إصدار أقدم على سبيل المثال، من 4.16.09 إلى 4.16.05.
- العودة إلى إصدار أقدم في الإصدار نفسه
استخدِم الإجراء أدناه لإجراء عملية العودة إلى إصدار سابق في كلا السيناريوهين.
المستخدمون الذين يمكنهم تنفيذ عملية العودة إلى إصدار سابق
يجب أن يكون المستخدم الذي ينفّذ عملية العودة إلى الإصدار السابق هو نفسه المستخدم الذي حدّث Edge في الأصل، أو مستخدمًا لديه إذن الوصول إلى الجذر.
يتم تشغيل مكوّنات Edge تلقائيًا كمستخدم "apigee". في بعض الحالات، قد تكون مكوّنات Edge قيد التشغيل كمستخدمين مختلفين. على سبيل المثال، إذا كان على جهاز التوجيه الوصول إلى منافذ مميزة، مثل تلك التي تقل عن 1000، فعليك تشغيل جهاز التوجيه كجذر أو كمستخدم لديه حق الوصول إلى تلك المنافذ. أو يمكنك تشغيل مكوّن واحد كمستخدم واحد، ومكوّن آخر كمستخدم آخر.
المكوّنات التي يمكن العودة إلى إصدار سابق منها
يجب أن تكون على دراية بالشروط التالية عند إجراء عملية تراجع:
- تتشارك مكوّنات Edge الخمسة المدرَجة أدناه في الرمز البرمجي نفسه. لذلك، لإعادة أي من المكونات الخمسة على عقدة، يجب إعادة أي من المكونات الخمسة المثبتة على العقدة. على سبيل المثال، إذا كان لديك خادم الإدارة والموجّه ومعالج الرسائل مثبّتًا على العقدة، عليك التراجع عن تثبيت الثلاثة معًا للتراجع عن تثبيت أيّ منها.
المكوّنات الخمسة التي تشارك الرمز هي:- خادم الإدارة
- جهاز التوجيه
- معالج الرسائل
- خادم Qpid
- خادم Postgres
- في حال التحديث من الإصدار 4.16.01 من Edge، لا تتراجع عن Cassandra. يتضمّن هذا الإصدار من Edge نسخة معدَّلة من Cassandra. إذا تراجعت عن أي مكوّنات، اترك Cassandra في الإصدار 4.16.09.
- لا يتضمّن هذا الإصدار نسخة جديدة من qpidd. وبالتالي، ليس عليك التراجع عن qpidd.
العودة إلى الإصدار 4.16.09
يحتوي هذا القسم على إجراء العودة إلى إصدار سابق من Edge 4.16.09. ينقسم هذا القسم إلى جزأين:
- العودة إلى الإصدار 9.4 من Postgres
تتمثّل الخطوة الأخيرة في كل إجراء تحديث في تحديث عُقد Postgres إلى الإصدار 9.4. إذا تعذّر إجراء هذا التحديث، يمكنك استخدام هذا الإجراء للتراجع عن التحديث. - العودة إلى الإصدار السابق من جميع مكوّنات Edge الأخرى
يمكنك استخدام هذا الإجراء للعودة إلى الإصدار السابق من أي مكوّنات أخرى في Edge.
لإلغاء تحديث Postgres 9.4
لإعادة تحديث Postgres إلى إصدار سابق عند تحديث Postgres في إعدادات "الرئيسي-الاحتياطي"، عليك:
- ترقية عقدة الاستعداد الجديدة لتصبح عقدة Postgres الرئيسية سيكون Postgres الرئيسي الجديد هو الإصدار نفسه من تثبيت Edge السابق.
- اضبط عقدة الاستعداد القديمة لتكون عقدة استعداد للعقدة الرئيسية الجديدة. وستكون العقدة الاحتياطية القديمة بالإصدار نفسه من تثبيت Edge السابق.
- سجِّل العُقد الرئيسية والاحتياطية الجديدة مع مجموعات الإحصاءات والمستهلكين.
عند الانتهاء من عملية العودة إلى الإصدار السابق، لن تكون العُقدة الرئيسية القديمة ضرورية. ويمكنك بعد ذلك إيقاف تشغيل العقدة الرئيسية القديمة.
- تأكَّد من أنّ عقدة Postgres الاحتياطية الجديدة قيد التشغيل:
> /opt/apigee/apigee-service/bin/apigee-all status
إذا لم تكن Postgres قيد التشغيل، ابدأ تشغيلها:
> /opt/apigee/apigee-service/bin/apigee-all start - تأكَّد من إيقاف 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 - في حال تثبيته، ابدأ تشغيل Qpid على العقدة الاحتياطية القديمة:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
ملاحظة: في العديد من الإعدادات، ستستضيف العقدة الاحتياطية القديمة Postgres فقط وليس Qpid. - يمكنك ترقية عقدة الاستعداد الجديدة لتصبح عقدة Postgres الرئيسية:
- ترقية عقدة الاستعداد الجديدة لتصبح العقدة الرئيسية الجديدة:
> apigee-service apigee-postgresql promote-standby-to-master new_standby_IP
إذا طُلب منك ذلك، أدخِل كلمة مرور Postgres لمستخدم "apigee"، والتي تكون تلقائيًا "postgres". - عدِّل ملف الإعداد الذي استخدمته لتثبيت الإصدار الحالي من Edge لتحديد
ما يلي:
# عنوان IP الخاص بالعقدة الرئيسية الجديدة:
PG_MASTER=new_standby_IP
# عنوان IP الخاص بالعقدة الاحتياطية القديمة
PG_STANDBY=old_standby_IP - اضبط الخادم الرئيسي الجديد:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- ترقية عقدة الاستعداد الجديدة لتصبح العقدة الرئيسية الجديدة:
- أعِد إنشاء العقدة الاحتياطية القديمة:
- عدِّل ملف الإعداد الذي استخدمته لتثبيت الإصدار الحالي من Edge لتحديد
ما يلي:
# عنوان IP الخاص بالعقدة الرئيسية الجديدة:
PG_MASTER=new_standby_IP
# عنوان IP الخاص بالعقدة الاحتياطية القديمة
PG_STANDBY=old_standby_IP - أزِل دليل البيانات في العقدة الاحتياطية القديمة:
> cd /opt/apigee/data/apigee-postgresql/pgdata
> rm -rf * - أعِد ضبط عُقدة الاستعداد القديمة لتصبح عُقدة استعداد للعُقدة الرئيسية الجديدة:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile - تأكَّد من أنّ Postgres قيد التشغيل على عقدة الاستعداد القديمة:
> /opt/apigee/apigee-service/bin/apigee-all status
إذا لم يكن قيد التشغيل، ابدأ تشغيله:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
- عدِّل ملف الإعداد الذي استخدمته لتثبيت الإصدار الحالي من Edge لتحديد
ما يلي:
- تأكَّد من إضافة العقدة الاحتياطية الجديدة من خلال الاطّلاع على الملف /opt/apigee/apigee-postgresql/conf/pg_hba.conf في العقدة الرئيسية الجديدة.
- يمكنك الاطّلاع على معلومات مجموعة المستهلكين والإحصاءات الحالية من خلال تشغيل الأمر التالي
على خادم الإدارة:
> 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" : {
}
} - احصل على عنوان UUID الخاص بالخادم الرئيسي القديم من خلال تنفيذ أمر cURL التالي على العقدة الرئيسية القديمة:
> curl -u sysAdminEmail:password http://<node_IP>:8084/v1/servers/self
من المفترض أن يظهر لك معرّف UUID الخاص بالعقدة في نهاية الناتج، بالشكل التالي:
"type" : [ "postgres-server" ],
"uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
ملاحظة: يجب أن تكون خدمة edge-postgres-server قيد التشغيل. إذا لم يكن خادم Postgres قيد التشغيل، يمكنك تنفيذ الأمر التالي على خادم الإدارة لتحديد معرّف UUID:
> curl -u sysAdminEmail:password http://<ms_IP>:8080/v1/servers?pod=analytics
يعرض ناتج هذا الأمر معرّف UUID لعنوان IP لكل عقدة Postres. - كرِّر الخطوة السابقة للحصول على عناوين IP للعقدة الاحتياطية القديمة والعقدة الرئيسية الجديدة.
- أزِل العُقد الرئيسية والاحتياطية القديمة من مجموعة المستهلكين:
> 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 فارغة الآن. - أزِل العُقد الرئيسية والاحتياطية القديمة من مجموعة الإحصاءات:
> 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 فارغة الآن. - سجِّل العُقد الرئيسية والاحتياطية الجديدة في 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 - التحقّق من صحة مجموعة الإحصاءات:
> curl -u sysAdminEmail:password http://<ms_IP>:8080/v1/analytics/groups/ax
من المفترض أن تظهر لك المعرّفات الفريدة العالمية (UUID) للعُقد الرئيسية والاحتياطية الجديدة المُدرَجة في مجموعة الإحصاءات ومجموعة المستهلكين. - أعِد تشغيل خادم إدارة Edge:
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart - أعِد تشغيل جميع خوادم Qpid:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart - أعِد تشغيل جميع خوادم Postgres:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart - تحقَّق من حالة النسخ المتماثل من خلال إصدار النصوص البرمجية التالية على كلا الخادمَين. من المفترض أن يعرض النظام نتائج متطابقة على كلا الخادمَين لضمان نجاح عملية النسخ المتماثل:
على الخادم الرئيسي الجديد، شغِّل:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
تأكَّد من أنّه يشير إلى أنّه الخادم الرئيسي.
على العقدة الاحتياطية القديمة:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
تأكَّد من أنّها العقدة الاحتياطية. - كرِّر الخطوة السابقة بعد إرسال عدة طلبات بيانات من واجهة برمجة التطبيقات للتأكّد من مزامنة العُقد.
- أوقِف تشغيل Postgres الرئيسي القديم باستخدام الإجراء الوارد في تحديث Apigee Edge إلى الإصدار 4.16.09.
ملاحظة: إذا كانت العقدة الرئيسية القديمة تشغّل Qpid، يمكنك ترك هذا الخادم قيد التشغيل لتشغيل Qpid. تأكَّد من تشغيله. إذا لم تكن قيد التشغيل، ابدأ تشغيلها:
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server start
بدلاً من ذلك، يمكنك إلغاء تثبيت Qpid من العقدة الرئيسية القديمة وتثبيت Qpid على العقدة الرئيسية الجديدة، كما هو موضّح أدناه. بعد إلغاء تثبيت Qpid، يمكنك إيقاف تشغيل العقدة الرئيسية القديمة.
إلغاء تثبيت Qpid من الجهاز الرئيسي القديم وتثبيت Qpid على الجهاز الرئيسي الجديد
اتّبِع الإجراء التالي لإلغاء تثبيت Qpid من الجهاز الرئيسي القديم وتثبيته على الجهاز الرئيسي الجديد:
- احظر وصول معالِجات الرسائل إلى منفذ Qpid رقم 5672 على الخادم الرئيسي القديم من خلال تشغيل الأمر التالي على جميع معالِجات الرسائل:
> iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP - تأكَّد من أنّ قائمة انتظار رسائل Qpid فارغة من خلال تشغيل الأمر التالي. لا يمكنك
إلغاء تثبيت Qpid إلى أن تتم معالجة جميع الرسائل في انتظار المراجعة:
> qpid-stat -q
يعرض هذا الأمر جدولاً يحتوي على عدد msg وmsgIn وmsgOut. ستتم معالجة جميع الرسائل عندما تكون قيمة msg=0 وmsgIn=msgOut. - حدِّد معرّف UUID لخادم Qpid على الجهاز الرئيسي القديم من خلال تنفيذ الأمر التالي على
الجهاز الرئيسي القديم. احفظ هذه المعلومات لاستخدامها لاحقًا في الإجراء:
> curl -u sysAdminEmail:password http://<node_IP>::8083/v1/servers/self - أوقِف Qpid على الخادم الرئيسي القديم:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
> /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop - إلغاء تثبيت خادم Qpid:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
> /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall - أزِل خادم 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 - أزِل خادم Qpid القديم من Zookeeper:
> curl -u sysAdminEmail:password -X DELETE http://<ms_IP>:8080/v1/servers/qpid_UUID - ثبِّت Qpid على الجهاز الرئيسي الجديد:
> /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile - حدِّد معرّف UUID لخادم Qpid على الجهاز الرئيسي الجديد من خلال تنفيذ الأمر التالي على
الجهاز الرئيسي الجديد. احفظ هذه المعلومات لاستخدامها لاحقًا في الإجراء:
> curl -u sysAdminEmail:password http://<node_IP>::8083/v1/servers/self - سجِّل خادم 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 - أعِد تشغيل جميع معالِجات الرسائل:
> /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart - شغِّل الأمر التالي على خادم Qpid الجديد للتحقّق من إنشاء قوائم الانتظار:
> qpid-stat -q
تأكَّد من ظهور msg وmsgIn و msgOut أثناء معالجة خادم Qpid للرسائل.
لإعادة المكوّنات الفردية إلى الإصدار 4.16.09
كجزء من تنفيذ عملية العودة إلى إصدار سابق، عليك تنزيل ملف bootstrap.sh لإصدار Edge الحالي:
- للعودة إلى الإصدار 4.16.05، نزِّل الملف bootstrap_4.16.05.sh
- للعودة إلى الإصدار 4.16.01، نزِّل bootstrap.sh
لكل عقدة تستضيف مكوّنًا للتراجع عنه:
- أوقِف المكوّن للعودة إلى الإصدار السابق:
-
في حال التراجع عن أيّ من المكوّنات التالية على العقدة، يجب
إيقافها جميعًا: خادم الإدارة أو جهاز التوجيه أو معالج الرسائل أو خادم 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
-
إذا كنت تريد العودة إلى إصدار سابق من أي مكوّن آخر على العقدة، أوقِف هذا المكوّن فقط:
- > apigee-service comp stop
-
في حال التراجع عن أيّ من المكوّنات التالية على العقدة، يجب
إيقافها جميعًا: خادم الإدارة أو جهاز التوجيه أو معالج الرسائل أو خادم Qpid أو خادم
Postgres:
- في حال التراجع عن تثبيت ميزة "تحقيق الربح"، عليك إلغاء تثبيتها من جميع عُقد خادم الإدارة ومعالج الرسائل:
> apigee-service edge-mint-gateway uninstall - ألغِ تثبيت المكوّن للعودة إلى الإصدار السابق على العقدة:
- في حال التراجع عن أي من المكونات التالية على العقدة،
يجب إلغاء تثبيتها جميعًا: خادم الإدارة أو جهاز التوجيه أو معالج الرسائل أو خادم Qpid أو خادم
Postgres:
> apigee-service edge-gateway uninstall - إذا كنت تريد العودة إلى إصدار سابق من أي مكوّن آخر على العقدة، يمكنك إلغاء تثبيت هذا المكوّن فقط:
> apigee-service comp uninstall
- في حال التراجع عن أي من المكونات التالية على العقدة،
يجب إلغاء تثبيتها جميعًا: خادم الإدارة أو جهاز التوجيه أو معالج الرسائل أو خادم Qpid أو خادم
Postgres:
- في حال العودة إلى إصدار سابق من "الموجّه"، عليك حذف محتوى /opt/nginx/conf.d:
> cd /opt/nginx/conf.d
> rm -rf * -
للعودة إلى إصدار سابق من المكوّن:
- ألغِ تثبيت الإصدار 4.16.09 من apigee-setup:
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall - نزِّل ملف bootstrap.sh للإصدار 4.16.01 أو 4.16.05:
بالنسبة إلى الإصدار 4.16.01:
> curl https://software.apigee.com/bootstrap.sh -o /tmp/bootstrap.sh
بالنسبة إلى الإصدار 4.16.05:
> curl https://software.apigee.com/bootstrap_4.16.05.sh -o /tmp/bootstrap.sh - ثبِّت أداة apigee-service بالإصدار 4.16.01 أو 4.16.05 والتبعيات:
> sudo bash /tmp/bootstrap.sh apigeeuser=uName apigeepassword=pWord
حيث uName وpWord هما اسم المستخدم وكلمة المرور اللذان تلقيتهما من Apigee. إذا حذفت pWord، سيُطلب منك إدخالها. - ثبِّت الإصدار 4.16.01 أو 4.16.05 من apigee-setup:
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup install - ثبِّت الإصدار 4.16.01 أو 4.16.05 من المكوّن:
> /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
حيث comp هو المكوّن المطلوب تثبيته و configFile هو ملف الإعداد للإصدار 4.16.01 أو 4.16.05.
- ألغِ تثبيت الإصدار 4.16.09 من apigee-setup:
-
للعودة بالمكوّن إلى إصدار محدّد من الإصدار 4.16.05:
- نزِّل إصدار المكوّن المحدّد:
> /<instal_dir>/apigee/apigee-service/bin/apigee-service comp-version install
حيث comp-version هو المكوّن والإصدار المطلوب تثبيته. على سبيل المثال:
> /<instal_dir>/apigee/apigee-service/bin/apigee-service edge-ui-4.16.05-0.0.3649 install
إذا كنت تستخدم مستودع Apigee على الإنترنت، يمكنك تحديد إصدارات المكوّنات المتاحة باستخدام الأمر التالي:
> yum --showduplicates list comp
على سبيل المثال:
> yum --showduplicates list edge-ui - استخدِم apigee-setup
لتثبيت المكوّن:
> /<install_dir>/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
على سبيل المثال:
> /<install_dir>/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
يُرجى ملاحظة أنّه عليك تحديد اسم المكوّن فقط عند إجراء عملية التثبيت.
- نزِّل إصدار المكوّن المحدّد:
يُرجى التواصل مع فريق دعم Apigee في حال مواجهة مشاكل عند العودة إلى الإصدار السابق.