في بعض الأحيان، قد تحتاج إلى إيقاف مركز بيانات نهائيًا. على سبيل المثال، إذا كنت تجري ترقية لنظام التشغيل، عليك تثبيت نظام التشغيل الجديد في مركز بيانات جديد ثم إيقاف مركز البيانات القديم. تعرض الأقسام التالية مثالاً على إيقاف مركز بيانات نهائيًا، حيث يوجد مركزان للبيانات، dc-1 وdc-2، في تثبيت مجمّع يتألف من 12 عقدة:
- dc-1 هو مركز البيانات الذي سيتم إيقافه نهائيًا.
- dc-2 هو مركز بيانات ثانٍ يُستخدم في إجراء الإيقاف النهائي.
إذا كنت تقوم بترقية نظام التشغيل لديك، فقد يكون dc-2 هو مركز البيانات الذي قمت بتثبيت الإصدار الجديد من نظام التشغيل (OS) فيه. ومع ذلك، لا يلزم تثبيت نظام تشغيل جديد لإيقاف تشغيل مركز البيانات.
اعتبارات قبل إيقاف مركز بيانات
يُرجى مراعاة ما يلي عند إيقاف مركز بيانات نهائيًا:
- احظر جميع زيارات وقت التشغيل والإدارة إلى مركز البيانات الذي يتم إيقافه نهائيًا وأعِد توجيهها إلى مراكز بيانات أخرى.
- بعد إيقاف مركز البيانات نهائيًا، ستنخفض السعة في مجموعة Apigee. وللتعويض عن ذلك، يمكنك زيادة السعة في مراكز البيانات المتبقية أو إضافة مراكز بيانات بعد إيقاف التشغيل.
- أثناء عملية إيقاف الخدمة، هناك احتمال لفقدان بيانات الإحصاءات، وذلك حسب مكونات الإحصاءات المثبّتة في مركز البيانات الذي سيتم إيقاف الخدمة فيه. يمكنك الاطّلاع على مزيد من التفاصيل في مقالة إضافة عُقد Qpid أو إزالتها.
- قبل إيقاف مركز بيانات نهائيًا، عليك فهم طريقة ضبط جميع المكوّنات في جميع مراكز البيانات، خاصةً خوادم SymasLDAP و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 الحالي لإجراء النسخ الاحتياطي. لمزيد من المعلومات حول الاحتفاظ بنسخة احتياطية، يُرجى الاطّلاع على مقالة الاحتفاظ بنسخة احتياطية واستعادة البيانات.
- تأكَّد من أنّ Edge يعمل قبل إيقافه، وذلك باستخدام الأمر:
/opt/apigee/apigee-service/bin/apigee-all status
- تأكَّد من عدم وصول أي زيارات في وقت التشغيل حاليًا إلى مركز البيانات الذي توقفه عن العمل.
ترتيب إيقاف المكوّنات نهائيًا
إذا ثبّت Edge for Private Cloud على عُقد متعددة، عليك إيقاف مكوّنات Edge على هذه العُقد بالترتيب التالي:
- واجهة مستخدم Edge الجديدة (
edge-management-uiوedge-management-ui-static) - خادم الإدارة (edge-management-server)
- Symas LDAP (apigee-openldap)
- جهاز التوجيه (جهاز توجيه الحافة)
- معالج الرسائل (edge-message-processor)
- خادم Qpid وQpidd (edge-qpid-server وapigee-qpidd)
- قاعدة بيانات Postgres وPostgreSQL (edge-postgres-server وapigee-postgresql)
- ZooKeeper (apigee-zookeeper)
- Cassandra (apigee-cassandra)
توضّح الأقسام التالية كيفية إيقاف كل مكوّن.
واجهة مستخدم Edge الجديدة
لإيقاف وإلغاء تثبيت مكوّنات واجهة مستخدم New Edge الخاصة بـ dc-1، أدخِل الأوامر التالية:
/opt/apigee/apigee-service/bin/apigee-service edge-management-ui stop/opt/apigee/apigee-service/bin/apigee-service edge-management-ui uninstall/opt/apigee/apigee-service/bin/apigee-service edge-management-ui-static 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
Symas LDAP
يوضّح هذا القسم كيفية إيقاف SymasLDAP على dc-1.
ملاحظة: إذا كان لديك أكثر من مركزَي بيانات، يُرجى الاطّلاع على عمليات الإعداد التي تتضمّن أكثر من مركزَي بيانات أدناه.
لإيقاف SymasLDAP على dc-1، اتّبِع الخطوات التالية:
- احتفِظ بنسخة احتياطية من عقدة dc-1 SymasLDAP باتّباع الخطوات الواردة في كيفية الاحتفاظ بنسخة احتياطية.
يمكنك إيقاف عملية نسخ البيانات بين مركزَي البيانات dc-1 وdc-2 من خلال تنفيذ الخطوات التالية في كلا المركزَين.
- التحقّق من الحالة الحالية:
/opt/symas/bin/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}mdb,cn=config changetype: modify delete: olcSyncRepl dn: olcDatabase={2}mdb,cn=config changetype: modify delete: olcMirrorMode - نفِّذ الأمر
ldapmodify:/opt/symas/bin/ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldifمن المفترض أن يكون الناتج مشابهًا لما يلي:
modifying entry "olcDatabase={2}mdb,cn=config" modifying entry "olcDatabase={2}mdb,cn=config"
- التحقّق من الحالة الحالية:
يمكنك التحقّق من أنّ dc-2 لم يعُد ينسخ البيانات إلى dc-1 من خلال إنشاء إدخال في dc-2 LDAP والتأكّد من عدم ظهوره في LDAP الخاص بـ dc-1.
يمكنك اختياريًا اتّباع الخطوات أدناه، والتي تنشئ مستخدمًا يملك حق الوصول للقراءة فقط في عقدة dc-2 SymasLDAP، ثم التحقّق مما إذا كان المستخدم قد تم نسخه طبق الأصل أم لا. ويتم حذف المستخدم بعد ذلك.
- أنشِئ ملفًا باسم
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:
/opt/symas/bin/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 لم يعودا يكرران البيانات:
/opt/symas/bin/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
- أزِل المستخدم الذي يملك الإذن بالقراءة فقط والذي أضفته سابقًا:
/opt/symas/bin/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"
- أنشِئ ملفًا باسم
- أوقِف SymasLDAP في dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- ألغِ تثبيت مكوّن SymasLDAP على dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall
جهاز التوجيه
يوضّح هذا القسم كيفية إيقاف جهاز توجيه نهائيًا. يمكنك الاطّلاع على مقالة إزالة خادم لمزيد من التفاصيل حول إزالة جهاز التوجيه.
تؤدي الخطوات التالية إلى إيقاف جهاز التوجيه من dc-1. إذا تم ضبط عُقد Router متعددة في dc-1، نفِّذ الخطوات في جميع عُقد Router واحدة تلو الأخرى
ملاحظة: يُفترض هنا أنّه تم ضبط منفذ فحص السلامة 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®ion=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. نفِّذ الأوامر التالية في كلتا العقدتَين.
- احصل على المعرّفات الفريدة العالمية (UUID) لمعالِجات الرسائل، كما هو موضّح في الحصول على المعرّفات الفريدة العالمية.
- أوقِف معالج الرسائل:
apigee-service edge-message-processor stop
- إلغاء تسجيل نوع الخادم:
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" - إلغاء ربط بيئة بمعالج الرسائل
curl -H "Content-Type:application/x-www-form-urlencoded" <AdminEmailID>:'<AdminPassword>’ \ -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 Server (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 الرئيسي الجديد. بينما تخزّن قوائم انتظار 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 باتّباع التعليمات الواردة في الحصول على المعرّفات الفريدة العالمية.
- أوقِف
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
في هذه المرحلة، تكون قد أكملت عملية إيقاف 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-1curl -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، أدخِل:
/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) عندما يُطلب منك ذلك.بعد ذلك، نفِّذ الاستعلام التالي للتحقّق من الحدّ الأقصى
client_received_start_timestamp:SELECT max(client_received_start_timestamp) FROM "analytics"."$org.$env.fact" LIMIT 1;
عُقد Cassandra/ZooKeeper
السجلّات
راجِع السجلّات في المكوّنات للتأكّد من عدم وجود أخطاء.
- على الخادم الرئيسي الجديد، عدِّل ملف الإعداد لضبط ما يلي: