في بعض الأحيان، قد تحتاج إلى إيقاف تشغيل مركز بيانات. على سبيل المثال، إذا كنت تُجري ترقية لنظام التشغيل، عليك تثبيت نظام التشغيل الجديد في مركز بيانات جديد ثم إيقاف مركز البيانات القديم. تعرض الأقسام التالية مثالاً على إيقاف مركز بيانات نهائيًا، حيث يوجد مركزان للبيانات، dc-1 وdc-2، في تثبيت مجمّع يتألف من 12 عقدة:
- dc-1 هو مركز البيانات الذي سيتم إيقافه نهائيًا.
- dc-2 هو مركز بيانات ثانٍ يُستخدم في إجراء الإيقاف النهائي.
إذا كنت تقوم بترقية نظام التشغيل لديك، فقد يكون dc-2 هو مركز البيانات الذي قمت بتثبيت الإصدار الجديد من نظام التشغيل (OS) فيه. ومع ذلك، لا يلزم تثبيت نظام تشغيل جديد لإيقاف تشغيل مركز البيانات.
اعتبارات قبل إيقاف مركز بيانات
يُرجى مراعاة ما يلي عند إيقاف مركز بيانات نهائيًا:
- احظر جميع زيارات وقت التشغيل والإدارة إلى مركز البيانات الذي يتم إيقافه نهائيًا وأعِد توجيهها إلى مراكز بيانات أخرى.
- بعد إيقاف مركز البيانات نهائيًا، ستنخفض السعة في مجموعة Apigee. وللتعويض عن ذلك، يمكنك زيادة السعة في مراكز البيانات المتبقية أو إضافة مراكز بيانات بعد إيقاف التشغيل.
- أثناء عملية الإيقاف النهائي، من المحتمل أن يتم فقدان بيانات الإحصاءات، وذلك حسب مكوّنات الإحصاءات المثبَّتة في مركز البيانات الذي يتم إيقافه نهائيًا. يمكنك العثور على مزيد من التفاصيل في مقالة إضافة عُقد Qpid أو إزالتها.
- قبل إيقاف مركز بيانات، يجب أن تفهم كيفية ضبط جميع المكوّنات في جميع مراكز البيانات، خاصةً خوادم OpenLDAP وZooKeeper وCassandra وPostgres. يجب أيضًا الاحتفاظ بنُسخ احتياطية من جميع المكوّنات وإعداداتها.
قبل البدء
- خادم الإدارة: تعتمد جميع خطوات الإيقاف النهائي بشكل كبير على خادم الإدارة. إذا كان لديك خادم إدارة واحد فقط، ننصحك بتثبيت مكوّن خادم إدارة جديد على مركز بيانات غير dc-1 قبل إيقاف خادم الإدارة على dc-1، والتأكّد من أنّ أحد خوادم الإدارة متاح دائمًا.
- الموجّه: قبل إيقاف تشغيل الموجّه، يجب إيقاف إمكانية الوصول إلى الموجّهات من خلال حظر المنفذ 15999. تأكَّد من عدم توجيه أي زيارات أثناء التشغيل إلى أجهزة التوجيه التي يتم إيقافها نهائيًا.
Cassandra وZooKeeper: توضّح الأقسام أدناه كيفية إيقاف dc-1 في إعداد مركزَي بيانات. إذا كان لديك أكثر من مركزَي بيانات، احرص على إزالة جميع الإشارات إلى العقدة التي يتم إيقافها نهائيًا (dc-1 في هذه الحالة) من جميع ملفات الإعداد الصامتة في جميع مراكز البيانات المتبقية. بالنسبة إلى عُقد Cassandra التي سيتم إيقافها، يمكنك إزالة هذه المضيفات من
CASS_HOSTS. يجب أن تظل عُقد Cassandra المتبقية بالترتيب الأصلي لـCASS_HOSTS.Postgres: في حال إيقاف عقدة Postgres الرئيسية، احرص على ترقية أيّ من عقد الاستعداد المتاحة لتصبح عقدة Postgres رئيسية جديدة. على الرغم من أنّ خادم QPID يحتفظ بمخزن مؤقت في قائمة الانتظار، إذا لم يكن خادم Postgres الرئيسي متاحًا لفترة أطول، قد تفقد بيانات الإحصاءات.
المتطلبات الأساسية
قبل إيقاف أي مكوّن، ننصحك بإجراء نسخة احتياطية كاملة لجميع العُقد. استخدِم الإجراء الخاص بإصدار Edge الحالي لإجراء النسخ الاحتياطي. لمزيد من المعلومات حول الاحتفاظ بنسخة احتياطية، يُرجى الاطّلاع على مقالة الاحتفاظ بنسخة احتياطية واستعادة البيانات.
ملاحظة: إذا كانت لديك عُقد Cassandra أو ZooKeeper متعددة، يمكنك الاحتفاظ بنسخة احتياطية منها واحدة تلو الأخرى، لأنّ عملية الاحتفاظ بنسخة احتياطية تؤدي إلى إيقاف ZooKeeper مؤقتًا.
- تأكَّد من أنّ Edge يعمل قبل إيقافه، وذلك باستخدام الأمر:
/opt/apigee/apigee-service/bin/apigee-all status
- تأكَّد من عدم وصول أي زيارات في وقت التشغيل حاليًا إلى مركز البيانات الذي توقفه عن العمل.
ترتيب إيقاف المكوّنات نهائيًا
إذا ثبّت Edge for Private Cloud على عُقد متعددة، عليك إيقاف مكوّنات Edge على هذه العُقد بالترتيب التالي:
- Edge UI (edge-ui)
- خادم الإدارة (edge-management-server)
- OpenLDAP (apigee-openldap)
- جهاز التوجيه (جهاز توجيه الحافة)
- معالج الرسائل (edge-message-processor)
- Qpid Server وQpidd (edge-qpid-server وapigee-qpidd)
- قاعدة بيانات Postgres وPostgreSQL (edge-postgres-server وapigee-postgresql)
- ZooKeeper (apigee-zookeeper)
- Cassandra (apigee-cassandra)
توضّح الأقسام التالية كيفية إيقاف كل مكوّن.
Edge UI
لإيقاف مكوّن واجهة مستخدم Edge في dc-1 وإلغاء تثبيته، أدخِل الأوامر التالية:
/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui uninstall
خادم الإدارة
لإيقاف خادم الإدارة على dc-1، اتّبِع الخطوات التالية:
- أوقِف خادم الإدارة على dc-1:
apigee-service edge-management-server stop
- ابحث عن المعرّف الفريد العالمي (UUID) لخادم الإدارة المسجَّل في dc-1:
curl -u <AdminEmailID>:'<AdminPassword>' \ -X GET “http://{MS_IP}:8080/v1/servers?pod=central®ion=dc-1&type=management-server” - نوع خادم إلغاء التسجيل:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=management-server®ion=dc-1&pod=central&uuid=UUID&action=remove" - احذف الخادم. ملاحظة: إذا تم تثبيت مكوّنات أخرى أيضًا على هذا الخادم،
يجب إلغاء تسجيلها جميعًا أولاً قبل حذف المعرّف الفريد العالمي (UUID).
curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/{UUID} - إلغاء تثبيت مكوّن Management Server على dc-1:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall
Open LDAP
يشرح هذا القسم كيفية إيقاف OpenLDAP على dc-1.
ملاحظة: إذا كان لديك أكثر من مركزَي بيانات، يُرجى الاطّلاع على عمليات الإعداد التي تتضمّن أكثر من مركزَي بيانات أدناه.
لإيقاف OpenLDAP على dc-1، اتّبِع الخطوات التالية:
- احتفِظ بنسخة احتياطية من عقدة dc-1 OpenLDAP باتّباع الخطوات الواردة في كيفية الاحتفاظ بنسخة احتياطية.
يمكنك إيقاف عملية نسخ البيانات بين مركزَي البيانات dc-1 وdc-2 من خلال تنفيذ الخطوات التالية في كلا المركزَين.
- التحقّق من الحالة الحالية:
ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {credentials} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncreplمن المفترض أن يكون الناتج مشابهًا لما يلي:
olcSyncrepl: {0}rid=001 provider=ldap://{HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={credentials} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1 - أنشئ ملفًا
break_repl.ldifيحتوي على الأوامر التالية:dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcSyncRepl dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcMirrorMode - نفِّذ الأمر
ldapmodify:ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldifمن المفترض أن يكون الناتج مشابهًا لما يلي:
modifying entry "olcDatabase={2}bdb,cn=config" modifying entry "olcDatabase={2}bdb,cn=config"
- التحقّق من الحالة الحالية:
يمكنك التحقّق من أنّ dc-2 لم يعُد ينسخ البيانات إلى dc-1 من خلال إنشاء إدخال في dc-2 LDAP والتأكّد من عدم ظهوره في LDAP الخاص بـ dc-1.
يمكنك اختياريًا اتّباع الخطوات أدناه، والتي تنشئ مستخدمًا يملك حق الوصول للقراءة فقط في عقدة dc-2 OpenLDAP، ثم التحقّق مما إذا كان المستخدم قد تم نسخه أم لا. ويتم حذف المستخدم بعد ذلك.
- أنشِئ ملفًا باسم
readonly-user.ldifفي dc-2 يتضمّن المحتوى التالي:dn: uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com objectClass: organizationalPerson objectClass: person objectClass: inetOrgPerson objectClass: top cn: readonly-user sn: readonly-user userPassword: {testPassword} - أضِف المستخدم باستخدام الأمر `ldapadd` في dc-2:
ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldifستكون النتيجة مشابهة لما يلي:
adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
- ابحث عن المستخدم في dc-1 للتأكّد من عدم تكراره. إذا لم يكن المستخدم
موجودًا في dc-1، ستتأكد من أنّ كلا خادمَي LDAP لم يعودا يكرران البيانات:
ldapsearch -H ldap://{HOST}:{PORT} -x -w {credentials} -D "cn=manager,dc=apigee,dc=com" -b uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com -LLLمن المفترض أن يكون الناتج مشابهًا لما يلي:
No such object (32) Matched DN: ou=users,ou=global,dc=apigee,dc=com
- أزِل المستخدم الذي يملك الإذن بالقراءة فقط والذي أضفته سابقًا:
ldapdelete -v -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
- أنشِئ ملفًا باسم
- أوقِف OpenLDAP في dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- ألغِ تثبيت مكوّن OpenLDAP على dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall
جهاز التوجيه
يوضّح هذا القسم كيفية إيقاف جهاز توجيه. يمكنك الاطّلاع على مقالة إزالة خادم لمزيد من التفاصيل حول إزالة جهاز التوجيه.
تؤدي الخطوات التالية إلى إيقاف جهاز التوجيه من dc-1. في حال ضبط عُقد موجّه متعددة في dc-1، نفِّذ الخطوات في جميع عُقد الموجّه واحدة تلو الأخرى
ملاحظة: يُفترض هنا أنّه تم ضبط منفذ فحص السلامة 15999 الخاص بجهاز التوجيه في جهاز موازنة الحمل، وأنّ حظر المنفذ 15999 سيجعل جهاز التوجيه غير متاح. قد تحتاج إلى إذن الوصول إلى الجذر لحظر المنفذ.
لإيقاف جهاز توجيه، اتّبِع الخطوات التالية:
أوقِف إمكانية الوصول إلى أجهزة التوجيه عن طريق حظر المنفذ 15999، وهو منفذ التحقّق من السلامة. تأكَّد من حظر حركة بيانات وقت التشغيل في مركز البيانات هذا:
iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
تأكَّد من إمكانية الوصول إلى جهاز التوجيه:
curl -vvv -X GET http://{ROUTER_IP}:15999/v1/servers/self/reachableمن المفترض أن يكون الناتج مشابهًا لما يلي:
About to connect() to 10.126.0.160 port 15999 (#0) Trying 10.126.0.160... Connection refused Failed connect to 10.126.0.160:15999; Connection refused Closing connection 0 curl: (7) Failed connect to 10.126.0.160:15999; Connection refused
- احصل على المعرّف الفريد العالمي (UUID) لجهاز التوجيه، كما هو موضّح في الحصول على المعرّفات الفريدة العالمية (UUID).
- إيقاف جهاز التوجيه:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- أدرِج مجموعات البوابة المتاحة في المؤسسة باستخدام الأمر التالي:
curl -u <AdminEmailID>:<AdminPassword> -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"يُرجى الاطّلاع على لمحة عن Pods.
- إلغاء تسجيل نوع الخادم:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=router&region=dc-1&pod=gateway-1&uuid=UUID&action=remove" - احذف الخادم:
curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID - إلغاء تثبيت "
edge-router": يُرجى الاطّلاع على إزالة خادم./opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
- احذف قواعد
iptablesلتفعيل المنفذ المحظور 15999:iptables -F
معالج الرسائل
يصف هذا القسم كيفية إيقاف معالج الرسائل من dc-1. يُرجى الاطّلاع على إزالة خادم لمزيد من التفاصيل حول إزالة معالج الرسائل.
بما أنّنا نفترض أنّ dc-1 يحتوي على تثبيت مجمّع مكوّن من 12 عقدة، هناك عقدتان لمعالج الرسائل تم ضبطهما في dc-1. نفِّذ الأوامر التالية في كلتا العقدتَين.
- احصل على المعرّفات الفريدة العالمية لمعالِجات الرسائل، كما هو موضّح في الحصول على المعرّفات الفريدة العالمية.
- أوقِف معالج الرسائل:
apigee-service edge-message-processor stop
- إلغاء تسجيل نوع الخادم:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=message-processor&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"/pre> - Disassociate an environment from the Message Processor.
Note: You need to remove the bindings on each org/env that associates the Message Processor UUID.
curl -H "Content-Type:application/x-www-form-urlencoded" -u <AdminEmailID>:'
' \ -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \ -d "action=remove&uuid=UUID" - إلغاء تسجيل نوع الخادم:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- إلغاء تثبيت معالج الرسائل:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
- إلغاء تسجيل الخادم:
curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/UUID
خادم Qpid وQpidd
يوضّح هذا القسم كيفية إيقاف خادم Qpid (edge-qpid-server) وQpidd (apigee-qpidd).
هناك عقدتان من Qpid تم ضبطهما في dc-1، لذا عليك تنفيذ الخطوات التالية لكلتا العقدتين:
- احصل على المعرّف الفريد العالمي (UUID) لـ Qpidd، كما هو موضّح في الحصول على المعرّفات الفريدة العالمية (UUID).
- إيقاف
edge-qpid-serverوapigee-qpidd:/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop - الحصول على قائمة بمجموعات "إحصاءات Google" والمستهلكين:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax - إزالة Qpid من مجموعة المستهلكين:
curl -u <AdminEmailID>:'<AdminPassword>' -H "Content-Type: application/json" -X DELETE \ "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/consumer-groups/{consumer_group}/consumers/{QPID_UUID}" - إزالة Qpid من مجموعة الإحصاءات:
curl -v -u <AdminEmailID>:'<AdminPassword>' \ -X DELETE "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/servers?uuid={QPID_UUID}&type=qpid-server" - ألغِ تسجيل خادم Qpid من تثبيت Edge:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=qpid-server®ion=dc-1&pod=central&uuid={QPID_UUID}&action=remove" - أزِل خادم Qpid من تثبيت Edge:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID - أعِد تشغيل جميع مكوّنات edge-qpid-server على جميع العُقد للتأكّد من تطبيق التغيير
على هذه المكوّنات:
$ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
- ألغِ تثبيت edge-qpid-server وapigee-qpidd:
$ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall $ /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
Postgres وPostgresql
قد يحتوي مركز البيانات الذي توقفه عن العمل على قاعدة بيانات Postgres رئيسية أو قاعدة بيانات Postgres احتياطية. توضّح الأقسام التالية كيفية إيقافها:
جارٍ إيقاف Postgres الرئيسي
ملاحظة: في حال إيقاف Postgres الرئيسي، تأكَّد من ترقية أي من العُقد الاحتياطية المتاحة لتصبح Postgres الرئيسي الجديد. بينما تخزّن قوائم انتظار QPID البيانات مؤقتًا، إذا لم يكن Postgres الرئيسي متاحًا لفترة طويلة، قد تفقد بيانات الإحصاءات.
لإيقاف Postgres الرئيسي:
- احتفِظ بنسخة احتياطية من العقدة الرئيسية dc-1 Postgres باتّباع التعليمات الواردة في الروابط التالية:
- احصل على المعرّفات الفريدة العالمية (UUID) لخوادم Postgres، كما هو موضّح في الحصول على المعرّفات الفريدة العالمية (UUID).
- في dc-1، أوقِف
edge-postgres-serverوapigee-postgresqlعلى الجهاز الرئيسي الحالي:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop - في العقدة الاحتياطية في dc-2، أدخِل الأمر التالي لجعلها العقدة الرئيسية:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>
ملاحظة: إذا كان لديك أكثر من عقدة Postgres احتياطية واحدة، يجب إضافة إدخالات المضيف على العقدة الرئيسية الجديدة وتعديل إعدادات النسخ المتماثل لجميع عقد Postgres الاحتياطية المتاحة.
لإضافة إدخالات المضيف إلى Postgres الرئيسي الجديد: اتّبِع الخطوات الواردة في القسم المناسب أدناه:
إذا تبقّت عقدة احتياطية واحدة فقط
على سبيل المثال، لنفترض أنّه قبل إيقاف التشغيل، تم ضبط ثلاث عُقد Postgres. لقد أوقفت العقدة الرئيسية الحالية ورقّيت إحدى عُقد postgres الاحتياطية المتبقية إلى عقدة رئيسية. اضبط عقدة الاستعداد المتبقية باتّباع الخطوات التالية:
- على الخادم الرئيسي الجديد، عدِّل ملف الإعداد لضبط ما يلي:
PG_MASTER=IP_or_DNS_of_new_PG_MASTER PG_STANDBY=IP_or_DNS_of_PG_STANDBY
- فعِّل النسخ المتماثل على النسخة الرئيسية الجديدة:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
إذا كان هناك أكثر من عقدة احتياطية واحدة متبقية
- أضِف الإعدادات التالية في
/opt/apigee/customer/application/postgresql.properties:conf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
- تأكَّد من أنّ الملف /opt/apigee/customer/application/postgresql.properties مملوك لمستخدم
apigee:
chown apigee:apigee /opt/apigee/customer/application/postgresql.properties - إعادة تشغيل "
apigee-postgresql":apigee-service apigee-postgresql restart
- عدِّل ملف الإعداد
/opt/silent.confوعدِّل الحقلPG_MASTERباستخدام عنوان IP الخاص بخادم Postgres الرئيسي الجديد. - أزِل أي بيانات قديمة في Postgres باستخدام الأمر التالي:
rm -rf /opt/apigee/data/apigee-postgresql/
- إعداد النسخ المتماثل على عقدة الاستعداد:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- تحقَّق من إعداد Postgres الرئيسي بشكلٍ صحيح عن طريق إدخال الأمر التالي في dc-2:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- إزالة خوادم Postgresql وإضافتها من مجموعة الإحصاءات ومجموعة المستهلكين
- أزِل خادم Postgres القديم من مجموعة الإحصاءات باتّباع التعليمات الواردة في مقالة إزالة خادم Postgres من مجموعة إحصاءات.
- أضِف خادم postgres جديدًا إلى مجموعة الإحصاءات باتّباع التعليمات الواردة في إضافة خادم Postgres حالي إلى مجموعة إحصاءات.
- ألغِ تسجيل خادم postgres القديم من dc-1:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"< - احذف خادم postgres القديم من dc-1:
curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID - أصبح من الآمن الآن إيقاف خادم Postgres الرئيسي القديم. إلغاء تثبيت
edge-postgres-serverوapigee-postgresql:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall
لتعديل إعدادات النسخ المتماثل على عقدة احتياطية:
إيقاف تشغيل Postgres الاحتياطي
ملاحظة: يعرض مستند التثبيت المجمّع المكوّن من 12 عقدة عقدة dc-1 postgresql كعقدة رئيسية، ولكن لتسهيل الأمر، يُفترض في هذا القسم أنّ عقدة dc-1 postgresql هي عقدة احتياطية وأنّ عقدة dc-2 postgresql هي عقدة رئيسية.
لإيقاف Postgres standby، اتّبِع الخطوات التالية:
- احصل على المعرّفات الفريدة العالمية (UUID) لخوادم Postgres، باتّباع التعليمات الواردة في الحصول على المعرّفات الفريدة العالمية (UUID).
- أوقِف
apigee-postgresqlعلى عقدة الاستعداد الحالية في dc-1:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop - إزالة خوادم Postgresql وإضافتها من مجموعة الإحصاءات ومجموعة المستهلكين
- أزِل خادم Postgres القديم من مجموعة الإحصاءات باتّباع التعليمات الواردة في مقالة إزالة خادم Postgres من مجموعة إحصاءات.
- أضِف خادم postgres جديدًا إلى مجموعة الإحصاءات باتّباع التعليمات الواردة في إضافة خادم Postgres حالي إلى مجموعة إحصاءات.
- ألغِ تسجيل خادم postgres القديم من dc-1:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"< - احذف خادم postgres القديم من dc-1:
curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID - أصبح من الآمن الآن إيقاف خادم Postgres الرئيسي القديم. إلغاء تثبيت
edge-postgres-serverوapigee-postgresql:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall
ZooKeeper وCassandra
يشرح هذا القسم كيفية إيقاف خوادم ZooKeeper وCassandra في إعداد مركزَي بيانات.
إذا كان لديك أكثر من مركزَي بيانات، احرص على إزالة جميع الإشارات إلى العقدة التي يتم إيقافها نهائيًا (dc-1 في هذه الحالة) من جميع ملفات الإعداد الصامتة في جميع مراكز البيانات المتبقية. بالنسبة إلى عُقد Cassandra التي سيتم إيقافها، يمكنك إزالة هذه المضيفات من
CASS_HOSTS. يجب أن تظل عُقد Cassandra المتبقية بالترتيب الأصلي لـCASS_HOSTS.ملاحظة حول ZooKeeper: يجب الحفاظ على نصاب قانوني لعُقد الناخبين أثناء تعديل السمة
ZK_HOSTفي ملف الإعداد، لضمان بقاء مجموعة ZooKeeper تعمل بشكل صحيح. يجب أن يكون لديك عدد فردي من عُقد التصويت في الإعدادات. لمزيد من المعلومات، يُرجى الاطّلاع على مهام صيانة Apache ZooKeeper.لإيقاف خوادم ZooKeeper وCassandra:
- احتفِظ بنسخة احتياطية من عُقد dc-1 Cassandra وZooKeeper باتّباع التعليمات الواردة في الروابط التالية:
أدرِج معرّفات UUID لخوادم ZooKeeper وCassandra في مركز البيانات الذي سيتم إيقاف عُقد Cassandra فيه.
apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
- إلغاء تسجيل نوع الخادم:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=cache-datastore&type=user-settings-datastore&type=scheduler-datastore&type=audit-datastore&type=apimodel-datastore&type=application-datastore&type=edgenotification-datastore&type=identityzone-datastore&type=user-settings-datastore&type=auth-datastore®ion=dc-1&pod=central&uuid=UUID&action=remove"
- إلغاء تسجيل الخادم:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- عدِّل ملف الإعدادات باستخدام عناوين IP للعُقد التي تم إيقافها وإزالتها من
ZK_HOSTSوCASS_HOSTS.مثال: لنفترض أنّ لديك عناوين IP
$IP1 $IP2 $IP3في dc-1 و$IP4 $IP5 $IP6في dc-2، وأنّك بصدد إيقاف dc-1. بعد ذلك، عليك إزالة عناوين IP$IP1 $IP2 $IP3من ملفات الإعداد.- إدخالات ملف الإعداد الحالية:
ZK_HOSTS="$IP1 $IP2 $IP3 $IP4 $IP5 $IP6" CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1, $IP4:2,1 $IP5:2,1 $IP6:2,1”
- إدخالات ملف الإعداد الجديدة:
ZK_HOSTS="$IP4 $IP5 $IP6" CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
- إدخالات ملف الإعداد الحالية:
- عدِّل ملف الإعداد الصامت (الذي تم تعديله في الخطوة هـ) باستخدام عناوين IP للعُقَد التي تمت إزالتها
وإيقاف تشغيلها، ثم شغِّل ملف تعريف خادم الإدارة
على جميع العُقَد التي تستضيف خوادم الإدارة:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
- عدِّل ملف الإعداد باستخدام عناوين IP للعُقَد التي تم إيقافها نهائيًا وشغِّل الملف الشخصي لـ MP/RMP على جميع عُقَد "الموجّه" و"معالج الرسائل":
- إذا تم ضبط Edge Router وMessage Processor على العقدة نفسها، أدخِل:
/opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
إذا تم ضبط Edge Router وMessage Processor على عُقد منفصلة، أدخِل ما يلي:
بالنسبة إلى جهاز التوجيه:
/opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file
بالنسبة إلى معالج الرسائل:
/opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
- إذا تم ضبط Edge Router وMessage Processor على العقدة نفسها، أدخِل:
- أعِد ضبط جميع عُقد Qpid، مع إزالة عناوين IP للعُقد التي تم إيقافها نهائيًا من ملف الاستجابة:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- أعِد ضبط جميع عُقَد Postgres، مع إزالة عناوين IP للعُقَد التي تم إيقافها نهائيًا من ملف الاستجابة:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
- تعديل مساحة المفاتيح
system_authإذا كانت مصادقة Cassandra مفعَّلة على عقدة Cassandra حالية، عدِّل عامل النسخ المتماثل لمساحة مفاتيحsystem_authمن خلال تشغيل الأمر التالي:ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};يضبط هذا الأمر عامل النسخ المتماثل على
'3'، ما يشير إلى ثلاث عُقد Cassandra في المجموعة. عدِّل هذه القيمة حسب الحاجة.بعد إكمال هذه الخطوة، من المفترض ألا تحتوي بنية Cassandra على
dc-1في أي من مساحات المفاتيح. - أوقِف تشغيل عُقد Cassandra على dc-1، واحدة تلو الأخرى.
لإيقاف عُقد Cassandra، أدخِل الأمر التالي:
/opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
- تحقَّق من اتصال عُقد Cassandra من dc-1 باستخدام أحد الأوامر التالية:
/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'
أو أمر التحقّق الثانوي الذي سيتم تشغيله على العقدة التي تم إيقافها:
/opt/apigee/apigee-cassandra/bin/nodetool netstats
من المفترض أن يعرض الأمر أعلاه ما يلي:
Mode: DECOMMISSIONED
- شغِّل ملف DS الشخصي لجميع عُقد Cassandra وZooKeeper في dc-2:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
- أوقِف
apigee-cassandraوapigee-zookeeperفي dc-1:apigee-service apigee-cassandra stop
apigee-service apigee-zookeeper stop - إلغاء تثبيت
apigee-cassandraوapigee-zookeeperفي dc-1:apigee-service apigee-cassandra uninstall
apigee-service apigee-zookeeper uninstall
احذف عمليات الربط من dc-1
لحذف عمليات الربط من dc-1، اتّبِع الخطوات التالية:
- احذف عمليات الربط من dc-1.
- إدراج جميع مجموعات الوحدات المتاحة ضمن المؤسسة:
curl -v -u <AdminEmailID>:<AdminPassword> -X GET "http://MS_IP:8080/v1/o/ORG/pods"
- للتحقّق مما إذا تمت إزالة جميع عمليات الربط، احصل على
معرّفات UUID للخوادم المرتبطة بالمجموعات:
curl -v -u <AdminEmailID>:<AdminPassword> \ -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"
إذا لم يعرض هذا الأمر أي معرّفات UUID، يعني ذلك أنّ الخطوات السابقة قد أزالت جميع عمليات الربط، ويمكنك تخطّي الخطوة التالية. بخلاف ذلك، نفِّذ الخطوة التالية.
- أزِل جميع عمليات ربط الخادم لمعرّفات UUID التي تم الحصول عليها في الخطوة السابقة:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- إلغاء ربط المؤسسة بالوحدة:
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove®ion=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
- إدراج جميع مجموعات الوحدات المتاحة ضمن المؤسسة:
- احذف مجموعات الأجهزة:
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
- احذف المنطقة.
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1" -X DELETE
ملاحظة: إذا فاتتك إحدى خطوات حذف الخوادم، ستعرض الخطوة أعلاه رسالة خطأ تفيد بأنّ خادمًا معيّنًا في المجموعة لا يزال موجودًا. لذلك، احذفها باتّباع خطوات تحديد المشاكل وحلّها أدناه، مع تخصيص الأنواع في الأمر
curl.في هذه المرحلة، تكون قد أكملت عملية إيقاف dc-1.
الملحق
تحديد المشاكل وحلّها
إذا كان لا يزال هناك خوادم في بعض المجموعات بعد تنفيذ الخطوات السابقة، يُرجى اتّباع الخطوات التالية لإلغاء تسجيل الخوادم وحذفها. ملاحظة: يمكنك تغيير الأنواع والوحدة حسب الحاجة.
- احصل على معرّفات UUID باستخدام الأمر التالي:
apigee-adminapi.sh servers list -r dc-1 -p POD -t --admin <AdminEmailID> --pwd '<AdminPassword>’ --host localhost
- نوع خادم إلغاء التسجيل:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
- احذف الخوادم واحدًا تلو الآخر:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID
التحقق من صحة البيانات
يمكنك التحقّق من صحة عملية الإيقاف النهائي باستخدام الأوامر التالية.
خادم الإدارة
نفِّذ الأوامر التالية من خوادم الإدارة في جميع المناطق.
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central®ion=dc-1 curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway®ion=dc-1 curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=analytics®ion=dc-1
نفِّذ الأمر التالي على جميع المكوّنات للتحقّق من متطلبات المنافذ لجميع منافذ الإدارة.
curl -v http://MS_IP:8080/v1/servers/self
اطّلِع على مجموعة الإحصاءات.
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080}/v1/o/ORG/e/ENV/provisioning/axstatus" curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/analytics/groups/ax
عُقد Cassandra/ZooKeeper
في جميع عُقد Cassandra، أدخِل ما يلي:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift
سيؤدي ذلك إلى عرض الحالة
runningأوnot runningلتلك العقدة المحدّدة.في عقدة واحدة، أدخِل ما يلي:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> status
ستعرض الأوامر أعلاه معلومات مركز البيانات النشط.
على عُقد ZooKeeper، أدخِل أولاً:
echo ruok | nc <host> 2181
سيعرض هذا الأمر
imok.ثم أدخِل:
echo stat | nc <host> 2181 | grep Mode
ستكون قيمة
Modeالتي يعرضها الأمر أعلاه إحدى القيم التالية:observerأوleaderأوfollower.في عقدة ZooKeeper واحدة:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt
على العقدة الرئيسية في Postgres، نفِّذ ما يلي:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
تأكَّد من أنّ الردّ يشير إلى أنّ العقدة هي العقدة الرئيسية.
على عقدة الاستعداد:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
تأكَّد من أنّ الردّ يشير إلى أنّ العقدة في وضع الاستعداد.
سجِّل الدخول إلى قاعدة بيانات PostgreSQL باستخدام الأمر
psql -h localhost -d apigee -U postgres
عندما يُطلب منك ذلك، أدخِل كلمة مرور المستخدم "postgres" على النحو التالي:
'postgres'. اختَر "max(client_received_start_timestamp)" من الإحصاءات.”$org.$env.fact” limit 1؛السجلّات
راجِع السجلّات في المكوّنات للتأكّد من عدم وجود أخطاء.
- على الخادم الرئيسي الجديد، عدِّل ملف الإعداد لضبط ما يلي: