إيقاف مركز بيانات

في بعض الأحيان، قد تحتاج إلى إيقاف مركز بيانات. على سبيل المثال، في حال ترقية نظام التشغيل، عليك تثبيت نظام التشغيل الجديد في مركز بيانات جديد ثم إيقاف مركز البيانات القديم. تقدم الأقسام التالية مثالاً لإيقاف تشغيل مركز بيانات حيث يوجد مركزان للبيانات، dc-1 وdc-2، على تثبيت مجمّع من 12 عقدة:

  • dc-1 هو مركز البيانات الذي سيتم الاستغناء عنه.
  • DC-2 هو مركز بيانات ثانٍ يُستخدم في إجراء الاستغناء عن الخدمة.

في حالة ترقية نظام التشغيل، قد يكون dc-2 هو مركز البيانات الذي تم تثبيت الإصدار الجديد من نظام التشغيل فيه. ومع ذلك، لا يلزم تثبيت نظام تشغيل جديد لإيقاف مركز البيانات.

الاعتبارات الواجب مراعاتها قبل إيقاف مركز البيانات

يُرجى مراعاة الاعتبارات التالية عند إيقاف مركز بيانات:

  • حظر كل وقت التشغيل وحركة بيانات الإدارة إلى مركز البيانات الذي يتم إيقافه وإعادة توجيهه إلى مراكز بيانات أخرى.
  • بعد خروج مركز البيانات من الموقع، ستقل السعة في مجموعة Apigee. ولتعويض ذلك، ننصحك بزيادة السعة في مراكز البيانات المتبقية أو إضافة مراكز البيانات بعد إيقافها.
  • خلال عملية الإيقاف، من المحتمل حدوث فقدان لبيانات الإحصاءات استنادًا إلى مكوّنات الإحصاءات التي يتم تثبيتها في مركز البيانات الذي يتم إيقافه نهائيًا. ويمكنك العثور على مزيد من التفاصيل في القسم إضافة عُقد Qpid أو إزالتها.
  • قبل إيقاف مركز بيانات، يجب أن تفهم طريقة ضبط جميع المكوّنات في جميع مراكز البيانات، وخاصةً خوادم OpenLDAP وFoKeeper وCassandra وPostgres. يجب عليك أيضًا الاحتفاظ بنسخ احتياطية من جميع المكونات وتكويناتها.

قبل البدء

  • خادم الإدارة: تعتمد جميع خطوات الإيقاف بشكل كبير على خادم الإدارة. إذا لم يتوفر لديك أكثر من خادم إدارة واحد، فننصحك بتثبيت مكوّن خادم الإدارة الجديد في مركز بيانات غير dc-1 قبل إيقاف خادم الإدارة في dc-1، والتأكد من توفر أحد خوادم الإدارة دائمًا.
  • جهاز التوجيه: قبل إيقاف جهاز التوجيه، يجب إيقاف إمكانية الوصول إلى أجهزة التوجيه من خلال حظر المنفذ 15999. تأكَّد من عدم توجيه حركة مرور وقت التشغيل إلى أجهزة التوجيه التي يتم إيقافها.
  • "كاساندرا" و"زول كيبر": توضّح الأقسام أدناه كيفية إيقاف تشغيل DC-1 في إعداد مركزَي بيانات. وإذا كان لديك أكثر من مركزَي بيانات، احرص على إزالة جميع المراجع إلى العقدة التي سيتم إيقافها (في هذه الحالة dc-1) من جميع ملفات الإعداد الصامتة في جميع مراكز البيانات المتبقية. بالنسبة إلى عُقد Cassandra التي سيتم إيقافها، أفلِت هذه المضيفين من CASS_HOSTS. يجب أن تظل عُقد Cassandra المتبقية بالترتيب الأصلي لـ CASS_HOSTS.

  • Postgres: في حال إيقاف Postgres الرئيسي، احرِص على الترويج لأي عقدة من عُقد الاستعداد المتاحة بصفتها وحدة تحكُّم رئيسية جديدة. وبينما يحتفظ خادم QPID بمخزن مؤقت في قائمة الانتظار، إذا لم يكن مشرف Postgres الرئيسي متاحًا لفترة أطول، قد تفقد بيانات الإحصاءات.

المتطلبات الأساسية

  • قبل إيقاف أي مكوِّن، ننصحك بإنشاء نسخة احتياطية كاملة من جميع العُقد. استخدم الإجراء الخاص بالإصدار الحالي من Edge لإجراء النسخ الاحتياطي. للاطّلاع على مزيد من المعلومات حول الاحتفاظ بنسخة احتياطية، راجِع الاحتفاظ بنسخة احتياطية والاستعادة.

    ملاحظة: إذا كانت لديك عدّة عُقد في Cassandra أو ZooKeeper، يمكنك الاحتفاظ بنسخة احتياطية منها واحدة تلو الأخرى، لأنّ عملية الاحتفاظ بنسخة احتياطية تؤدي إلى إيقاف ZooKeeper مؤقتًا.

  • تأكد من أن Edge قيد التشغيل قبل أن يتم وقفه، باستخدام الأمر:
    /opt/apigee/apigee-service/bin/apigee-all status
  • تأكَّد من عدم وصول أي حركة بيانات وقت التشغيل إلى مركز البيانات الذي تريد إخراجه من الخدمة.

ترتيب إطفاء المكونات

في حال تثبيت Edge for Private Cloud على عدة عُقد، يجب إيقاف مكونات Edge في هذه العُقد بالترتيب التالي:

  1. واجهة مستخدم Edge (Edge-ui)
  2. Management Server (خادم Edge-management-server)
  3. OpenLDAP (apigee-openldap)
  4. جهاز التوجيه (موجِّه حافة)
  5. Message Processor (معالج الرسائل) (edge-message-processor)
  6. Qpid Server وQpidd (edge-qpid-server وapigee-qpidd)
  7. قاعدة بيانات Postgres وPostgreSQL (edge-postgres-server وapigee-postgresql)
  8. ZooKeeper (apigee-zookeeper)
  9. كاساندرا (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، اتّبِع الخطوات التالية:

  1. إيقاف خادم الإدارة على dc-1:
    apigee-service edge-management-server stop
  2. البحث عن المعرّف الفريد العالمي لخادم الإدارة المسجَّل في dc-1:
    curl -u <AdminEmailID>:'<AdminPassword>' \
    -X GET “http://{MS_IP}:8080/v1/servers?pod=central&region=dc-1&type=management-server”
  3. إلغاء تسجيل نوع الخادم:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=management-server&region=dc-1&pod=central&uuid=UUID&action=remove"
  4. حذف الخادم. ملاحظة: في حال تثبيت مكونات أخرى على هذا الخادم أيضًا، يجب إلغاء تسجيلها كلها أولاً قبل حذف المعرّف الفريد العالمي (UUID).
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
  5. إلغاء تثبيت مكوِّن Management Server على dc-1:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall

فتح LDAP

يوضِّح هذا القسم كيفية إلغاء تفعيل بروتوكول OpenLDAP على dc-1.

ملاحظة: إذا كان لديك أكثر من مركزَي بيانات، راجِع عمليات الإعداد التي تتضمّن أكثر من مركزَي بيانات أدناه.

لإيقاف بروتوكول OpenLDAP على dc-1، اتّبِع الخطوات التالية:

  1. يمكنك الاحتفاظ بنسخة احتياطية من عقدة dc-1 OpenLDAP عن طريق اتّباع الخطوات الواردة في كيفية الاحتفاظ بنسخة احتياطية.
  2. يمكنك تقسيم النسخ المتماثل للبيانات بين مركزَي البيانات، dc-1 وdc-2، من خلال تنفيذ الخطوات التالية في كلا مركزَي البيانات.

    1. تأكَّد من الحالة الحالية:
      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

    2. أنشئ ملف break_repl.ldif يحتوي على الأوامر التالية:
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcSyncRepl
      
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcMirrorMode
    3. نفِّذ الأمر 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"

  3. يمكنك التحقق من أن dc-2 لم تعد تتم تكرارها في dc-1 من خلال إنشاء إدخال في dc-2 LDAP والتأكد من عدم ظهورها في LDAP من dc-1.

    يمكنك اختياريًا اتّباع الخطوات أدناه، التي تنشئ مستخدمًا يملك إذنًا بالقراءة فقط في عقدة OpenLDAP، وهي dc-2، ثم تحقّق مما إذا كان قد تم إنشاء نسخة طبق الأصل من المستخدم أم لا. ويتم بعد ذلك حذف المستخدم.

    1. إنشاء ملف 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}
    2. إضافة مستخدم باستخدام الأمر `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"

    3. ابحث عن المستخدم في 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
    4. إزالة المستخدِم الذي لديه إذن الوصول للقراءة فقط والذي أضفته سابقًا:
      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"
  4. إيقاف OpenLDAP في dc-1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
  5. إلغاء تثبيت مكوِّن OpenLDAP على dc-1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall

جهاز التوجيه

يشرح هذا القسم كيفية إيقاف جهاز التوجيه. يمكنك الاطّلاع على إزالة خادم لمعرفة المزيد من التفاصيل حول إزالة جهاز التوجيه.

تؤدي الخطوات التالية إلى إيقاف تشغيل جهاز التوجيه من تيار مستمر: 1 في حال كانت هناك عُقد جهاز توجيه متعددة تم إعدادها في "توفير الطاقة الموسمي"، نفِّذ الخطوات في جميع عُقد جهاز التوجيه عقدة تلو الأخرى.

ملاحظة: يفترض هنا أن منفذ التحقق من سلامة جهاز التوجيه 15999 قد تم ضبطه في جهاز موازنة الحمل، وأنّ حظر المنفذ 15999 سيؤدي إلى عدم التمكّن من الوصول إلى جهاز التوجيه. قد تحتاج إلى الوصول إلى الجذر لحظر المنفذ.

لإيقاف جهاز التوجيه، اتّبِع الخطوات التالية:

  1. إيقاف إمكانية الوصول إلى أجهزة التوجيه عن طريق حظر المنفذ 15999، وهو منفذ التحقق من الصحة. احرص على حظر حركة بيانات وقت التشغيل في مركز البيانات هذا:

    iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
  2. تأكَّد من إمكانية الوصول إلى جهاز التوجيه:

    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

  3. احصل على المعرّف الفريد العالمي لجهاز التوجيه، كما هو موضّح في الحصول على أرقام التعريف الفريدة العالمية (UUID).
  4. أوقِف جهاز التوجيه:
    /opt/apigee/apigee-service/bin/apigee-service edge-router stop
  5. أدرج مجموعات البوابة المتسلسلة المتاحة في المؤسسة من خلال الأمر التالي:
    curl -u  <AdminEmailID>:<AdminPassword> -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"

    يُرجى الاطّلاع على لمحة عن اللوحات.

  6. إلغاء تسجيل نوع الخادم:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=router&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"
  7. إلغاء تسجيل الخادم:
    curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. إلغاء تثبيت edge-router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
    راجِع إزالة خادم.
  9. مسح قواعد iptables لتفعيل المنفذ المحظور 15999:
    iptables -F

معالج الرسائل

يصف هذا القسم كيفية إيقاف معالج الرسائل من dc-1. راجِع إزالة خادم لمعرفة المزيد من التفاصيل حول إزالة "معالج الرسائل".

لنفترض أننا نفترض أن dc-1 تتضمن تثبيتًا مجمعًا من 12 عقدة، توجد عقدتان لمعالج الرسائل تم تكوينهما في dc-1. نفِّذ الأوامر التالية في كلتا العُقدتَين.

  1. احصل على المعرّفات الفريدة العالمية (UUID) لمعالِجات الرسائل، كما هو موضَّح في الحصول على معرّفات UUID.
  2. أوقِف معالج الرسائل:
    apigee-service edge-message-processor stop
  3. إلغاء تسجيل نوع الخادم:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers  \
    -d "type=message-processor&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"/pre>
  4. 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"
  5. إلغاء تسجيل نوع الخادم:
    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"
  6. إلغاء تثبيت معالج الرسائل:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
  7. إلغاء تسجيل الخادم:
    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، لذا عليك تنفيذ الخطوات التالية لكلا العُقدتَين:

  1. احصل على المعرّف الفريد العالمي لـ Qpidd، كما هو موضّح في الحصول على أرقام التعريف الفريدة العالمية (UUID).
  2. إيقاف 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
  3. للحصول على قائمة "إحصاءات Google" ومجموعات المستهلكين:
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
  4. إزالة 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}"
  5. إزالة 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"
  6. ألغِ تسجيل خادم Qpid من تثبيت Edge:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=qpid-server&region=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
  7. أزِل خادم Qpid من تثبيت Edge:
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. أعِد تشغيل جميع مكوِّنات 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
  9. إلغاء تثبيت 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 الرئيسية:

  1. احتفِظ بنسخة احتياطية من عقدة dc-1 Postgres الرئيسية باتّباع التعليمات الواردة في الروابط التالية:
  2. احصل على المعرّفات الفريدة العالمية (UUID) لخوادم Postgres، كما هو موضَّح في الحصول على أرقام التعريف الفريدة العالمية (UUID).
  3. في 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
  4. في عقدة وضع الاستعداد على dc-2، أدخِل الأمر التالي لجعلها العقدة الرئيسية:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>

    ملاحظة: إذا كان لديك أكثر من عقدة Postgres في وضع الاستعداد، يجب إضافة إدخالات المضيف على الشريحة الرئيسية الجديدة وتعديل إعداد النسخ المماثل لجميع عُقد وضع الاستعداد المتاحة.

    لإضافة إدخالات المضيف إلى شريحة Postgres الرئيسية الجديدة: اتّبِع الخطوات الواردة في القسم المناسب أدناه:

    في حالة وجود عقدة واحدة في وضع الاستعداد باقية

    على سبيل المثال، لنفترض أنه قبل الإنهاء، كانت هناك ثلاث عُقد Postgres تم تكوينها. لقد ألغيت إسناد المهمة الرئيسية الحالية وترقية إحدى عُقد وضع الاستعداد المتبقية لإتقانها. اضبط عقدة وضع الاستعداد المتبقية باتباع الخطوات التالية:

    1. في الشريحة الرئيسية الجديدة، عدِّل ملف الإعداد لضبط ما يلي:
      PG_MASTER=IP_or_DNS_of_new_PG_MASTER
      PG_STANDBY=IP_or_DNS_of_PG_STANDBY
    2. تفعيل النسخ المماثل على الشريحة الرئيسية الجديدة:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle

    في حال بقاء أكثر من عقدة في وضع الاستعداد

    1. أضِف الإعدادات التالية في /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
    2. تأكَّد من أنّ الملف /opt/apigee/customer/application/postgresql.properties يملكه مستخدم apigee:
            chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
      .
    3. إعادة تشغيل apigee-postgresql:
      apigee-service apigee-postgresql restart
    4. لتحديث إعدادات النسخ المماثل في عقدة الاستعداد:

      1. عدِّل ملف الإعداد /opt/silent.conf وعدِّل الحقل PG_MASTER بعنوان IP لشريحة Postgres الرئيسية الجديدة.
      2. أزِل أي بيانات قديمة في Postgres باستخدام الأمر التالي:
        rm -rf /opt/apigee/data/apigee-postgresql/
      3. إعداد النسخ المماثل في عقدة الاستعداد:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    5. تحقَّق من إعداد شريحة Postgres الرئيسية بشكل صحيح من خلال إدخال الأمر التالي في dc-2:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    6. أزِل خوادم Postgresql وأضِفها من مجموعة الإحصاءات ومجموعة المستهلكين.
      1. أزِل خادم Postgres القديم من مجموعة الإحصاءات باتّباع التعليمات الواردة في إزالة خادم Postgres من مجموعة إحصاءات.
      2. أضِف خادم مشاركات جديدًا إلى مجموعة الإحصاءات باتّباع التعليمات الواردة في إضافة خادم Postgres حالي إلى مجموعة إحصاءات.
    7. إلغاء تسجيل خادم Postgres القديم من dc-1:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"<
    8. حذف خادم Postgres القديم من dc-1:
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    9. أصبح خبير 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، اتّبِع الخطوات التالية:

    1. احصل على المعرّفات الفريدة العالمية (UUID) لخوادم Postgres، باتّباع التعليمات الواردة في الحصول على أرقام التعريف الفريدة العالمية (UUID).
    2. أوقِف 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
    3. أزِل خوادم Postgresql وأضِفها من مجموعة الإحصاءات ومجموعة المستهلكين.
      1. أزِل خادم Postgres القديم من مجموعة الإحصاءات باتّباع التعليمات الواردة في إزالة خادم Postgres من مجموعة إحصاءات.
      2. أضِف خادم مشاركات جديدًا إلى مجموعة الإحصاءات باتّباع التعليمات الواردة في إضافة خادم Postgres حالي إلى مجموعة إحصاءات.
    4. إلغاء تسجيل خادم Postgres القديم من dc-1:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"<
    5. حذف خادم Postgres القديم من dc-1:
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    6. أصبح خبير 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 و"كاساندرا"

    يوضّح هذا القسم كيفية إيقاف خادمَي ZooKeeper وCassandra في عملية إعداد مركزَي بيانات.

    وإذا كان لديك أكثر من مركزَي بيانات، احرص على إزالة جميع المراجع إلى العقدة التي سيتم إيقافها (في هذه الحالة dc-1) من جميع ملفات الإعداد الصامتة في جميع مراكز البيانات المتبقية. بالنسبة إلى عُقد Cassandra التي سيتم إيقافها، أفلِت هذه المضيفين من CASS_HOSTS. يجب أن تظل عُقد Cassandra المتبقية بالترتيب الأصلي لـ CASS_HOSTS.

    ملاحظة في ZooKeeper: يجب الحفاظ على النصاب الكامل لعُقد الناخبين أثناء تعديل السمة ZK_HOST في ملف الإعداد، لضمان بقاء مجموعة ZooKeeper صالحة. يجب أن يكون لديك عدد فردي من عُقد الناخبين في إعداداتك. لمزيد من المعلومات، راجِع مهام صيانة ZooKeeper في Apache.

    لإيقاف خادمَي ZooKeeper وCassandra:

    1. يمكنك الاحتفاظ بنسخة احتياطية من عُقد dc-1 Cassandra و ZooKeeper عن طريق اتّباع التعليمات الواردة في الروابط التالية:
    2. أدرِج المعرِّفات الفريدة العالمية (UUID) لخوادم ZooKeeper وCassandra في مركز البيانات حيث تكون عُقد Cassandra على وشك الإيقاف.

      apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
    3. إلغاء تسجيل نوع الخادم:
      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&region=dc-1&pod=central&uuid=UUID&action=remove"
    4. إلغاء تسجيل الخادم:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
    5. عدِّل ملف الإعداد باستخدام عناوين 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"
    6. عدِّل ملف الإعداد الصامت (الذي تم تعديله في الخطوة هـ) باستخدام عناوين IP للعُقد التي تم إيقافها نهائيًا وشغِّل الملف الشخصي لخادم "الإدارة" على جميع العُقد التي تستضيف خوادم الإدارة:
      /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
    7. عدِّل ملف الإعدادات باستخدام عناوين IP للعُقد التي تم إيقاف العمل بها وشغِّل الملف الشخصي MP/RMP على جميع عُقد جهاز التوجيه ومعالج الرسائل:
      • إذا تم ضبط جهاز توجيه Edge ومعالج الرسائل في العقدة نفسها، أدخِل:
        /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
      • في حال ضبط جهاز توجيه Edge ومعالج الرسائل على عُقد منفصلة، أدخِل ما يلي:

        بالنسبة إلى جهاز التوجيه:

        /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
    8. إعادة ضبط جميع عُقد Qpid، مع إزالة عناوين IP الخاصة بالعُقد التي تم إيقافها من ملف الاستجابة:
      /opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
    9. إعادة ضبط جميع عُقد Postgres، مع إزالة عناوين IP للعُقد التي تم إيقافها من ملف الاستجابة:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
    10. تغيير مسافة المفتاح system_auth إذا كانت مصادقة Cassandra مفعّلة في عقدة Cassandra الحالية، يمكنك تعديل عامل النسخ المماثل لمسافة المفتاح system_auth من خلال تنفيذ الأمر التالي:
      ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};

      يضبط هذا الأمر عامل النسخ المماثل على '3'، ما يشير إلى ثلاث عُقد Cassandra في المجموعة. عدِّل هذه القيمة حسب الضرورة.

      بعد الانتهاء من هذه الخطوة، يجب ألا تحتوي طوبولوجيا كاساندرا على dc-1 في أي من مساحات المفاتيح.

    11. عليك إيقاف عُقد Cassandra في dc-1، واحدة تلو الأخرى.

      لإيقاف عُقد Cassandra، أدخِل الأمر التالي:

      /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission

    12. تحقَّق من اتصال عُقد Cassandra من dc-1 باستخدام أحد الأوامر التالية:
      /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'

      أو أمر تحقّق ثانوي يتم تشغيله على العقدة التي تم إيقافها:

      /opt/apigee/apigee-cassandra/bin/nodetool netstats

      من المفترَض أن يعرض الأمر التالي:

      Mode: DECOMMISSIONED

    13. شغِّل الملف الشخصي في DS لجميع عُقد Cassandra و ZooKeeper في dc-2:
      /opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
    14. إيقاف apigee-cassandra وapigee-zookeeper في dc-1:
      apigee-service apigee-cassandra stop
      apigee-service apigee-zookeeper stop
    15. إلغاء تثبيت apigee-cassandra وapigee-zookeeper في dc-1:
      apigee-service apigee-cassandra uninstall
      apigee-service apigee-zookeeper uninstall

    حذف الروابط من dc-1

    لحذف الروابط من dc-1، نفِّذ الخطوات التالية:

    1. احذف الروابط من dc-1.
      1. اسرد جميع مجموعات اللوحات المتاحة ضمن المؤسسة:
        curl -v -u  <AdminEmailID>:<AdminPassword> -X GET "http://MS_IP:8080/v1/o/ORG/pods"
      2. للتحقّق مما إذا تمّت إزالة جميع الروابط، اطّلِع على UUIDs للخوادم المرتبطة باللوحات:
        curl -v -u  <AdminEmailID>:<AdminPassword> \
        -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"

        إذا لم يعرض هذا الأمر أي أرقام تعريف خاصة (UUID)، يعني ذلك أنّ الخطوات السابقة قد أزالت جميع عمليات الربط، ويمكنك تخطّي الخطوة التالية. وبخلاف ذلك، يمكنك تنفيذ الخطوة التالية.

      3. أزِل جميع روابط الخادم لأرقام التعريف الفريدة العالمية (UUID) التي تم الحصول عليها في الخطوة السابقة:
        curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
      4. إلغاء ربط المؤسسة بالمجموعة المتسلسلة:
        curl -v -u  <AdminEmailID>:<AdminPassword>  "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove&region=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
    2. حذف اللوحات:
      curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
    3. احذف المنطقة.
      curl -v -u <AdminEmailID>:<AdminPassword>  "http://MS_IP:8080/v1/regions/dc-1" -X DELETE

    ملاحظة: إذا فاتتك إحدى خطوات حذف الخوادم، ستعرض الخطوة أعلاه رسالة خطأ تفيد بأنّ خادمًا معيّنًا في المجموعة لا يزال متوفرًا. احذفها باتّباع خطوات تحديد المشاكل وحلّها أدناه، أثناء تخصيص الأنواع في الأمر curl.

    في هذه المرحلة، تكون قد أكملت إيقاف تشغيل DC-1.

    الملحق

    تحديد المشاكل وحلّها

    بعد تنفيذ الخطوات السابقة، إذا كانت لا تزال هناك خوادم في بعض مجموعات الإعلانات المتسلسلة، اتّبِع الخطوات التالية لإلغاء تسجيل الخوادم وحذفها. ملاحظة: غيِّر الأنواع ومجموعة الإعلانات المتسلسلة حسب الضرورة.

    1. يمكنك الحصول على UUIDs من خلال الأمر التالي:
      apigee-adminapi.sh servers list -r dc-1 -p POD -t  --admin <AdminEmailID> --pwd  '<AdminPassword>’ --host localhost
    2. إلغاء تسجيل نوع الخادم:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
    3. حذف الخادمين واحدًا تلو الآخر:
      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&region=dc-1
    curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway&region=dc-1
    curl -v -u  <AdminEmailID>:'<AdminPassword>'  http://MS_IP:8080/v1/servers?pod=analytics&region=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'. اختَر "max(client_received_start_timestamp)" من الإحصاءات.

    ”$org.$env.fact” limit 1;

    السجلّات

    تحقَّق من السجلات على المكوّنات للتأكّد من عدم حدوث أخطاء.