في بعض الأحيان، قد تحتاج إلى إيقاف مركز بيانات نهائيًا. على سبيل المثال، إذا كنت تجري ترقية لنظام التشغيل، عليك تثبيت نظام التشغيل الجديد في مركز بيانات جديد ثم إيقاف مركز البيانات القديم. تعرض الأقسام التالية مثالاً على إيقاف مركز بيانات نهائيًا، حيث يتضمّن مركزَي بيانات، dc-1 وdc-2، على عملية تثبيت مجمّعة تتضمّن 12 عقدة:
- dc-1 هو مركز البيانات الذي سيتم إيقافه نهائيًا.
- dc-2 هو مركز بيانات ثانٍ يُستخدم في إجراء إيقاف التشغيل.
إذا كنت بصدد ترقية نظام التشغيل، قد يكون dc-2 هو مركز البيانات الذي ثبّت فيه الإصدار الجديد من نظام التشغيل. ومع ذلك، لا يلزم تثبيت نظام تشغيل جديد لإيقاف مركز بيانات نهائيًا.
اعتبارات قبل إيقاف مركز بيانات نهائيًا
يجب مراعاة الاعتبارات التالية عند إيقاف مركز بيانات نهائيًا:
- حظر جميع زيارات وقت التشغيل والإدارة إلى مركز البيانات الذي سيتم إيقافه نهائيًا وإعادة توجيهها إلى مراكز بيانات أخرى
- بعد إيقاف مركز البيانات نهائيًا، ستنخفض سعة مجموعة 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-ui)
- خادم الإدارة (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
لإيقاف وإلغاء تثبيت مكوّن واجهة مستخدم 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
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) الخاص بجهاز التوجيه، كما هو موضّح في الحصول على المعرّفات الفريدة العالمية.
- إيقاف جهاز التوجيه:
/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) الخاصة بجهات معالجة الرسائل، كما هو موضّح في الحصول على أرقام التعريف الفريدة العالمية (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 الاحتياطي، اتّبِع الخطوات التالية:
- احصل على معرّفات 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 نهائيًا، اتّبِع الخطوات التالية:
- احتفِظ بنسخة احتياطية من عقد Cassandra وZooKeeper في مركز البيانات 1 باتّباع التعليمات الواردة في الروابط التالية:
أدرِج معرّفات 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
- أدرِج جميع الحاويات المتاحة ضمن المؤسسة:
- احذف الحاويات (pods) من خلال تنفيذ ما يلي:
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-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، أدخِل:
/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
السجلّات
راجِع السجلّات في المكوّنات للتأكّد من عدم حدوث أي أخطاء.
- على الجهاز الرئيسي الجديد، عدِّل ملف الإعدادات لضبط ما يلي: