الإصدار 4.18.01 من Edge for Private Cloud
في حال حدوث خطأ أثناء التحديث إلى Edge 4.18.01، يمكنك التراجع عن المكوّن الذي تسبب في الخطأ ثم محاولة التحديث مرة أخرى. على سبيل المثال، إذا تعذّر تحديث Postgres 9.6، يمكنك التراجع عن عُقد Postgres فقط ومحاولة التحديث مرة أخرى.
هناك سيناريوهان قد تحتاج فيهما إلى إجراء عملية تراجع:
- العودة إلى إصدار أقدم على سبيل المثال، من 4.18.01 إلى 4.17.01.
- العودة إلى إصدار أقدم في الإصدار نفسه
استخدِم الإجراء أدناه لإجراء عملية العودة إلى إصدار سابق في كلا السيناريوهين.
المستخدمون الذين يمكنهم تنفيذ عملية العودة إلى إصدار سابق
يجب أن يكون المستخدم الذي ينفّذ عملية العودة إلى الإصدار السابق هو نفسه المستخدم الذي حدّث 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 السابق.
- اضبط عقدة الاستعداد القديمة لتكون عقدة استعداد للعقدة الرئيسية الجديدة. وستكون العقدة الاحتياطية القديمة بالإصدار نفسه من تثبيت 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 الرئيسية:
- رقِّ العقدة الاحتياطية الجديدة لتصبح العقدة الرئيسية الجديدة:
> apigee-service apigee-postgresql promote-standby-to-master new_standby_IP
أدخِل كلمة مرور Postgres لمستخدم "apigee"، والتي تكون تلقائيًا "postgres"، إذا طُلب منك ذلك.
- عدِّل ملف الإعداد الذي استخدمته لتثبيت الإصدار الحالي من Edge لتحديد ما يلي:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- اضبط النسخة الرئيسية الجديدة:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- رقِّ العقدة الاحتياطية الجديدة لتصبح العقدة الرئيسية الجديدة:
- أعِد إنشاء العقدة الاحتياطية القديمة:
- عدِّل ملف الإعداد الذي استخدمته لتثبيت الإصدار الحالي من Edge لتحديد ما يلي:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node 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"
- كرِّر الخطوة السابقة للحصول على عناوين 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.01/4.16.05 إلى الإصدار 4.17.09.
بدلاً من ذلك، يمكنك إلغاء تثبيت 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, and 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.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
لكل عقدة تستضيف مكوّنًا للتراجع عنه:
- أوقِف المكوّن للعودة إلى الإصدار السابق:
- في حال التراجع عن أيّ من المكوّنات التالية على العقدة، يجب
إيقافها جميعًا: خادم الإدارة أو جهاز التوجيه أو معالج الرسائل أو خادم 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
- في حال العودة إلى إصدار سابق من جهاز التوجيه، عليك حذف
محتوى
/opt/nginx/conf.d:> cd /opt/nginx/conf.d > rm -rf *
- في حال التراجع عن أيّ من المكوّنات التالية على العقدة، عليك إلغاء تثبيتها جميعًا: خادم الإدارة أو جهاز التوجيه أو معالج الرسائل أو خادم Qpid أو خادم Postgres:
-
للعودة إلى إصدار سابق من المكوّن:
- إلغاء تثبيت الإصدار 4.18.01 من "
apigee-setup":> /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- نزِّل ملف bootstrap.sh للإصدار المطلوب: على سبيل المثال، للإصدار 4.16.09:
> curl https://software.apigee.com/bootstrap_4.16.09.sh -o /tmp/bootstrap_4.16.09.sh
- ثبِّت الإصدار 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، سيُطلب منك إدخاله.
- تثبيت "
apigee-setup":> /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- ثبِّت الإصدار المطلوب من المكوّن:
> /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
حيث comp هو المكوّن المطلوب تثبيته وconfigFile هو ملف الإعداد للإصدار المطلوب.
- في حال التراجع عن Qpid، يمكنك تفريغ iptables:
> sudo iptables -F
- إلغاء تثبيت الإصدار 4.18.01 من "
- للعودة بالمكوّن إلى إصدار محدّد من الإصدار 4.18.01:
- نزِّل إصدار المكوّن المحدّد:
> /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
- استخدِم
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 إذا واجهت مشاكل عند العودة إلى الإصدار السابق.