إضافة مركز بيانات

الإصدار 4.18.01 من Edge الخاص بخدمة Private Cloud

يوضّح هذا المستند كيفية إضافة مركز بيانات (يسمى أيضًا منطقة) إلى مركز بيانات حالي.

اعتبارات قبل إضافة مركز بيانات

قبل تثبيت إضافة مركز بيانات، يجب أن تفهم كيفية ضبط خوادم OpenLDAP وCOKeeper وCassandra وPostgres في جميع مراكز البيانات. ويجب أيضًا التأكد من أنّ المنافذ اللازمة مفتوحة بين العُقد في مركزَي البيانات.

  • OpenLDAP
    يحتوي كل مركز بيانات على خادم OpenLDAP خاص به تم إعداده مع تفعيل النسخ المماثل. وعند تثبيت مركز البيانات الجديد، يجب إعداد OpenLDAP لاستخدام النسخ المتماثل، كما يجب إعادة ضبط خادم OpenLDAP في مركز البيانات الحالي لاستخدام النسخ المتماثل.
  • ZooKeeper
    بالنسبة إلى السمة ZK_HOSTS لكلا مركزَي البيانات، حدِّد عناوين IP أو أسماء نظام أسماء النطاقات لجميع عُقد ZooKeeper من مركزَي البيانات، بالترتيب نفسه، وميِّز أي عُقد باستخدام المعدِّل ":observer". يُطلق على العُقد التي لا تحتوي على أداة التعديل ":observer" اسم "التصويتين". يجب أن يكون لديك عدد فردي من "المصوتين" في إعداداتك.

    في هذه المخطط، يكون مضيف ZooKeeper في المضيف 9 هو المراقب:



    في مثال ملف الإعداد الموضح أدناه، تم وضع علامة على العقدة 9 باستخدام المعدِّل ":observer" بحيث يكون لديك خمسة مصوتين: العُقد 1 و2 و3 و7 و8.

    بالنسبة إلى السمة ZK_CLIENT_HOSTS لكل مركز بيانات، حدِّد عناوين IP أو أسماء نظام أسماء النطاقات لعُقَد ZooKeeper فقط في مركز البيانات، بالترتيب نفسه، لجميع عُقد ZooKeeper في مركز البيانات.
  • Cassandra
    يجب أن تحتوي جميع مراكز البيانات على العدد نفسه من عُقد Cassandra.

    بالنسبة إلى CASS_HOSTS لكل مركز بيانات، تأكَّد من تحديد جميع عناوين IP لـ Cassandra (وليس أسماء نظام أسماء النطاقات) لكلا مركزَي البيانات. بالنسبة لمركز البيانات 1، قم بإدراج عُقد Cassandra في مركز البيانات هذا أولاً. بالنسبة إلى مركز البيانات 2، أدرِج أولاً عُقد "كاساندرا" في مركز البيانات هذا. أدرِج عُقد Cassandra بالترتيب نفسه لجميع عُقد Cassandra في مركز البيانات.

    يجب أن تحتوي جميع عُقد Cassandra على لاحقة ":<d>,<r>"، على سبيل المثال "<ip>:1,1 = مركز البيانات 1 والرف/منطقة التوفّر 1 و"<ip>:2,1 = مركز البيانات 2 والرف/منطقة التوفُّر 1.
    على سبيل المثال، "192.168.124.201:1,1 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204:2,1 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204:2,1 192.120.12) 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204:2,1 192.120.12)

    في نموذج النشر هذا، سيظهر إعداد Cassandra على النحو التالي:


  • Postgres
    يثبّت Edge تلقائيًا جميع عُقد Postgres في الوضع الرئيسي. ومع ذلك، عندما تكون لديك عدة مراكز بيانات، يمكنك ضبط عُقد Postgres لاستخدام النسخ المماثل في وضع الاستعداد الرئيسي بحيث في حال تعذُّر العُقدة الرئيسية، يمكن أن تستمر عُقدة الاستعداد في حركة بيانات الخادم. وعادةً ما يمكنك ضبط خادم Postgres الرئيسي في أحد مراكز البيانات والخادم الاحتياطي في مركز البيانات الثاني.



    يعرض الجدول التالي إعدادات Postgres قبل وبعد ضبط كلا السيناريوهين:

    قبل

    بعد

    عقدة Master Postgres واحدة في dc-1

    عقدة Postgres الرئيسية في dc-1

    عقدة Postgres في وضع الاستعداد في dc-2

    عقدة Postgres الرئيسية في dc-1

    عقدة Postgres في وضع الاستعداد في dc-1

    عقدة Postgres الرئيسية في dc-1

    عقدة Postgres في وضع الاستعداد في dc-2

    إلغاء تسجيل عقدة Standby Postgres القديمة في dc-1

  • متطلبات المنافذ
    يجب التأكّد من أنّ المنافذ الضرورية مفتوحة بين العُقد في مركزَي البيانات. للاطّلاع على الرسم البياني للمنفذ، راجِع متطلبات التثبيت.

تحديث مركز البيانات الحالي

تتطلّب إضافة مركز بيانات تنفيذ الخطوات اللازمة لتثبيت عُقد مركز البيانات الجديدة وإعدادها، كما تتطلّب منك تعديل العُقد في مركز البيانات الأصلي. وتُعدّ هذه التعديلات ضرورية لأنّك تضيف عُقدتَين جديدتَين Cassandra و ZooKeeper في مركز البيانات الجديد بحيث يكون الوصول إليهما متاحًا في مركز البيانات الحالي، كما أنّك بحاجة إلى إعادة ضبط بروتوكول OpenLDAP لاستخدام النسخ المتماثل.

إنشاء ملفات الإعداد

في ما يلي ملفات الإعداد الصامتة لمركزَي البيانات، حيث يحتوي كل مركز بيانات على 6 عُقد كما هو موضّح في مخططات التثبيت. لاحظ أنّ ملف إعداد dc-1 يضيف إعدادات إضافية إلى:

  • اضبُط بروتوكول OpenLDAP مع النسخ المتماثل عبر عُقدتي OpenLDAP.
  • أضِف عُقد Cassandra و ZooKeeper الجديدة من dc-2 إلى ملف إعداد dc-1.
# Datacenter 1
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP1
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=1
LDAP_PEER=$IP7
APIGEE_LDAPPW=secret
MP_POD=gateway-1
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1 $IP7:2,1 $IP8:2,1 $IP9:2,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"
# Datacenter 2
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP7
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=2
LDAP_PEER=$IP1
APIGEE_LDAPPW=secret
MP_POD=gateway-2
REGION=dc-2
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP7:2,1 $IP8:2,1 $IP9:2,1 $IP1:1,1 $IP2:1,1 $IP3:1,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"

إجراء إضافة مركز بيانات جديد

في هذا الإجراء، تتم تسمية مراكز البيانات:

  • dc-1: مركز البيانات الحالي
  • dc-2: مركز البيانات الجديد
  1. في dc-1، أعِد تشغيل setup.sh على عُقد Cassandra الأصلية باستخدام ملف confiig dc-1 الجديد الذي يحتوي على عُقد Cassandra من dc-2:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. في dc-1، أعد تشغيل setup.sh في عقدة خادم الإدارة:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
  3. في dc-2، ثبِّت apigee-setup على جميع العُقد. راجِع تثبيت أداة إعداد واجهة برمجة التطبيقات Edge لمعرفة المزيد من المعلومات.
  4. في dc-2، ثبِّت Cassandra و ZooKeeper على العُقد المناسبة:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
  5. في dc-2، شغِّل أمر إعادة الإنشاء على جميع عُقد Cassandra، مع تحديد اسم المنطقة dc-1:
    > /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP في إعادة إنشاء dc-1
  6. في dc-2، ثبِّت خادم الإدارة على العقدة المناسبة:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
  7. في عقدة خادم الإدارة في dc-2، ثبِّت apigee-provision الذي يثبّت الأداة المساعدة apigee-adminapi.sh:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-provision install
  8. في dc-2، ثبِّت المسارات ومعالِجات الرسائل على العُقد المناسبة:
    > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
  9. في dc-2، ثبِّت Qpid على العُقد المناسبة:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
  10. في dc-2، ثبِّت Postgres على العقدة المناسبة:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
  11. قم بإعداد Postgres رئيسية/جاهزة لعقد Postgres. عقدة Postgres في dc-1 هي العقدة الرئيسية، بينما عقدة Postgres في dc-2 هي خادم الاستعداد.

    ملاحظة: إذا تم إعداد dc-1 من قبل بحيث تحتوي على عقدة Postgres في وضع الاستعداد الرئيسي/وضع الاستعداد، حينئذٍ يمكنك كجزء من هذا الإجراء استخدام عقدة Postgres الرئيسية الحالية في dc-1 كعقدة رئيسية، وعقدة Postgres في dc-2 كخادم وضع الاستعداد. لاحقًا في هذا الإجراء، سيتم إلغاء تسجيل خادم وضع الاستعداد الحالي Postgres في dc-1.
    1. في العقدة الرئيسية في dc-1، عدِّل ملف الإعداد لضبط:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    2. فعِّل النسخ المماثل على الشريحة الرئيسية الجديدة:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replction-on-master -f configFIle
    3. في عقدة وضع الاستعداد في dc-2، عدِّل ملف الإعداد لضبط ما يلي:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    4. في عقدة وضع الاستعداد في dc-2، أوقِف الخادم ثم احذِف أي بيانات Postgres حالية:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresqlstop
      > rm -rf /opt/apigee/data/apigee-postgresql/

      احذف البيانات الاحتياطية إذا لزم الأمر
    5. اضبط عقدة وضع الاستعداد في dc-2:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replcate-on-stockby -f configFile
  12. في dc-1، تعديل ضبط الإحصاءات وإعداد المؤسسات.
    1. في عقدة خادم الإدارة في dc-1، احصل على المعرّف الفريد العالمي لعقدة Postgres:
      > قائمة خوادم apigee-adminapi.sh -r dc-1 -p analytics -t postgres-server --admin adminEmail --pwd adminPword --host localhost

      يظهر UUID في نهاية البيانات التي تم عرضها. احفظ هذه القيمة.

      ملاحظة: في حال ضبط dc-1 على عُقدتي Postgres قيد التشغيل في وضع الاستعداد الرئيسي/وضع الاستعداد، سيظهر لك عنوانا IP ومعرِّفان عالميان (UUID) في الإخراج. عليك حفظ معرّفَي UUID. من خلال عناوين IP، من المفترض أن تتمكّن من تحديد المعرّف الفريد الفريد الخاص بالوحدة الرئيسية وأيهما مخصّص لعقدة وضع الاستعداد.
    2. في عقدة خادم الإدارة في dc-2، احصل على المعرّف الفريد العالمي لعقدة Postgres كما هو موضّح في الخطوة السابقة. احفظ هذه القيمة.
    3. في عقدة خادم الإدارة في dc-1، حدِّد اسم الإحصاءات ومجموعات المستهلكين. وتتطلّب العديد من الأوامر أدناه هذه المعلومات.
      بشكل تلقائي، يكون اسم مجموعة الإحصاءات هو axgroup-001، واسم مجموعة المستهلكين هو Consumer-group-001. في ملف الإعداد الصامت لمنطقة معيّنة، يمكنك ضبط اسم مجموعة الإحصاءات باستخدام سمة AXGROUP.

      إذا لم تكن متأكدًا من أسماء مجموعات الإحصاءات ومجموعات المستهلكين، استخدِم الأمر التالي لعرضهما:
      > قائمة مجموعات الإحصاءات apigee-adminapi.sh --admin adminEmail --pwd adminPword --host localhost

      يعرض هذا الأمر اسم مجموعة الإحصاءات في حقل الاسم واسم مجموعة المستهلكين في حقل مجموعات المستهلكين.
    4. في عقدة خادم الإدارة في dc-1، أزِل خادم Postgres الحالي من مجموعة الإحصاءات:
      1. أزل عقدة Postgres من مجموعة Consumer-group:
        > apigee-adminapi.sh analytics groups partner_groups datastores remove -g axgroup-001 -c Consumer-group-001 -u UUID -Y --admin adminEmail --pwd adminPword UID --host localhost adminPword UID

        في حال تشغيل dc-admin-host datastores على dc-admin-host-1
      2. أزل عقدة Postgres من مجموعة الإحصاءات:
        > apigee-adminapi.sh مجموعات الإحصاءات postgres_server remove -g axgroup-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost

        في حال تم ضبط dc-local-adminapi.sh على مجموعات إحصاءات Postgres_server الخاصة بـ -gaxgroup-admingedomain
    5. في عقدة خادم الإدارة في dc-1، أضِف خوادم Postgres الرئيسية/الجاهزة الجديدة إلى مجموعة الإحصاءات:
      1. أضِف كلاً من خادمي Postgres إلى مجموعة الإحصاءات:
        > apigee-adminapi.sh مجموعات الإحصاءات postgres_server في إضافة -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost

        حيث يتوافق Udc-dcNode_1 مع عقدة Udc2UID مع عقدة Postgres الأساسية في عقدة Udc2UID
      2. أضِف خوادم PG إلى مجموعة المستهلكين كخوادم رئيسية/جاهزة للاستخدام:
        > apigee-adminapi.sh analytics مجموعات apigee-adminapi.sh datastores add -g axgroup-001 -c Consumer-group-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
    6. أضِف خوادم Qpid من dc-2 إلى مجموعة الإحصاءات:
      1. في عقدة خادم الإدارة في dc-1، احصل على أرقام التعريف الفريدة العالمية لعُقد Qpid في dc-2:
        > قائمة خوادم apigee-adminapi.sh -r dc-2 -p Central -t qpid-server --admin adminEmail --pwd adminPword --host localhost للبيانات

        احفظ هذه القيم.
      2. في عقدة خادم الإدارة في dc-1، أضِف عُقد Qpid إلى مجموعة الإحصاءات (تشغيل كلا الأمرَين):
        >apigee-adminapi.sh مجموعات الإحصاءات qpid_server add -g axgroup-001 -u "UUID_1 --admin adminEmail --pwd adminPword-host-host localhost0 api-admin-host0 apigword-admin-host0

      3. في عقدة خادم الإدارة في dc-1، أضِف عُقد Qpid إلى مجموعة المستهلكين (تشغيل كلا الأمرين):
        > apigee-adminapi.sh analytics groups Consumer_groups partners add -g axgroup-001 -cconsumer-group-001 -u "UUID_1" --admin adminEmail {api-host-host0
        adminemail-host0
        adminemail-hosts
        admingehost طويل
    7. إلغاء تسجيل خادم وضع الاستعداد القديم Postgres وحذفه من dc-1:
      1. إلغاء تسجيل خادم وضع الاستعداد الحالي لـ dc-1 Postgres:
        > خوادم apigee-adminapi.sh إلغاء التسجيل -u UUID -r dc-1 -p analytics -t postgres-server -Y --admin adminEmail --pwd adminPword --host localhost

        حيث تكون العقدة UUID-dc1 UID في وضع الاستعداد القديم
      2. حذف خادم وضع الاستعداد الحالي dc-1 Postgres:
        ملاحظة: لا يؤدي هذا الأمر إلى إلغاء تثبيت عقدة خادم Postgres. يؤدي هذا الإجراء إلى إزالتها من قائمة عُقد Edge فقط. يمكنك لاحقًا إلغاء تثبيت Postgres من العقدة، إذا لزم الأمر.
        > خوادم apigee-adminapi.sh حذفها -u UUID --المشرف adminEmail --pwd adminPword --host localhost
  13. تحديث مسافات مفاتيح Cassandra باستخدام عامل النسخ المتماثل الصحيح لمركزَي البيانات. ما عليك سوى تنفيذ هذه الخطوة مرة واحدة على أي خادم من خوادم Cassandra في أي من مركزَي البيانات:

    ملاحظة: تضبط الأوامر أدناه كل عامل النسخ المتماثل على "3"، ما يشير إلى ثلاث عُقد في Cassandra في المجموعة. عدِّل هذه القيمة حسب الضرورة في عملية التثبيت.
    1. شغِّل أداة Cassandra cqlsh:
      > /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. نفِّذ أوامر CQL التالية في طلب "cqlsh>" لضبط مستويات النسخ المتماثل لمساحات مفاتيح Cassandra:
      1. cqlsh> ALTER KEYSPACE "identityzone" WITHيُسمح بالنسخ = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      2. cqlsh> ALTER KEYSPACE "system_traces" WITH مزامنتها = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. اطّلِع على مسافات المفاتيح باستخدام الأمر:
        cqlsh> select * from system.schema_keyspaces;
      4. اخرج من cqlsh:
        cqlsh> خروج
  14. نفِّذ أمرNodetool التالي على جميع عُقد Cassandra في dc-1 لتفريغ مساحة للذاكرة:
    > /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP في تنظيف البيانات
  15. لكل مؤسسة ولكل بيئة تريد دعمها في جميع مراكز البيانات:
    1. في عقدة خادم الإدارة في dc-1، أضِف MP_POD الجديد إلى المؤسسة:
      > apigee-adminapi.sh orgs pods add -o orgName -r dc-2 -p gateway-2 --admin adminEmail --pwd adminPword --host localhost
      هو المضيف المحلي المحدد في البوابة dc.2
      الذي يتم تحديده من خلال البوابة
      config.
    2. أضِف معالِجات الرسائل الجديدة إلى المؤسسة والبيئة:
      1. في عقدة خادم الإدارة في dc-2، احصل على أرقام التعريف الفريدة العالمية (UUID) لعُقد معالج الرسائل في dc-2:
        > قائمة خوادم apigee-adminapi.sh -r dc-2 -p gateway-2 -t message-processor --admin adminEmail --pwd adminPword --host localhost البيانات

        احفظ هذه القيم.
      2. في عقدة خادم الإدارة في dc-1، لكل معالِج رسائل في dc-2، أضِف "معالج الرسائل" إلى بيئة للمؤسسة:
        > apigee-adminapi.sh orgs servers add -o orgName -e envName -u UUID --admin adminEmail --adminpwd
    3. في عقدة خادم الإدارة في dc-1، تحقَّق من المؤسسة:
      > apigee-adminapi.sh orgs apis posts -o orgName -a apiProxyName --admin adminEmail --pwd adminPword --host localhost

      حيث يكون apiProxyName هو اسم الخادم الوكيل لواجهة برمجة التطبيقات الذي تم نشره في