Edge for Private Cloud، الإصدار 4.17.09
يصف هذا المستند كيفية إضافة مركز بيانات (يسمى أيضًا منطقة) إلى بيانات حالية الأوسط.
الاعتبارات الواجب مراعاتها قبل إضافة مركز بيانات
قبل تثبيت إضافة مركز بيانات، يجب أن تفهم كيفية تهيئة OpenLDAP، خوادم ZooKeeper و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.
لـ CASS_HOSTS لكل بيانات مركز، تأكَّد من تحديد جميع عناوين IP لـ Cassandra (وليس أسماء نظام أسماء النطاقات) لكلتا البيانات الرئيسية. بالنسبة لمركز البيانات 1، قم بإدراج عقد Cassandra في مركز البيانات هذا أولاً. لمركز البيانات 2، قم بإدراج عقد كاساندرا في مركز البيانات هذا أولاً. سرد عُقد 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.205:2,1 192.168.124.206:2,1"
سيتم استخدام العقدة الأولى في الرف/منطقة التوفّر 1 من كل مركز بيانات كنقطة أساسية. الخادم. في نموذج النشر هذا، سيبدو إعداد "كاساندرا" على النحو التالي:
-
Postgres
تثبّت Edge تلقائيًا جميع عُقد Postgres في الوضع الرئيسي. ومع ذلك، عندما يكون لديك العديد مراكز البيانات، يمكنك تهيئة عُقد Postgres لاستخدام النسخ المماثل الاحتياطي الرئيسي بحيث إذا فشل العقدة الرئيسية، يمكن لعقدة الاستعداد أن تستمر في عرض حركة المرور. عادةً ما تقوم بتهيئة خادم Postgres الرئيسي في مركز بيانات واحد، وخادم الاستعداد في البيانات الثانية الأوسط.
إذا تم إعداد مركز البيانات الحالي بالفعل ليتضمن عقدتين Postgres قيد التشغيل في في وضع الاستعداد الرئيسي/الاستعداد، وكجزء من هذا الإجراء، يجب إلغاء تسجيل عقدة الاستعداد الحالية واستبداله بعقدة الاستعداد في مركز البيانات الجديد.
يعرض الجدول التالي إعدادات Postgres قبل وبعد في كلا السيناريوهَين:
قبل
بعد
عقدة رئيسية واحدة لـ 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: مركز البيانات الجديد
- في dc-1، أعِد تشغيل setup.sh على عُقد Cassandra الأصلية باستخدام dc-1 الجديد
ملف confiig الذي يتضمّن عُقد Cassandra من dc-2:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1 - في dc-1، أعد تشغيل setup.sh على عقدة خادم الإدارة:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1 - في dc-2، ثبِّت apigee-setup على جميع العُقد. راجع تثبيت أداة إعداد واجهة برمجة التطبيقات Edge لمعرفة المزيد المعلومات.
- في dc-2، ثبِّت Cassandra و ZooKeeper على العُقد المناسبة:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2 - في dc-2، شغِّل أمر إعادة الإنشاء على جميع عُقد Cassandra، مع تحديد
اسم منطقة dc-1:
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP إعادة الإنشاء dc-1 - في dc-2، ثبِّت "خادم الإدارة" على العقدة المناسبة:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2 - في عقدة خادم الإدارة في dc-2، تثبيت
apigee-provision، التي تثبّت
الأداة apigee-adminapi.sh:
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision install - في dc-2، ثبِّت المسارات ومعالِجات الرسائل في الإعدادات
العُقد:
> /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2 - في dc-2، ثبِّت Qpid على العُقد المناسبة:
> /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2 - في dc-2، ثبِّت Postgres في العقدة المناسبة:
> /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2 - قم بإعداد صفحة Postgres الرئيسية/وضع الاستعداد لعُقد Postgres. عقدة Postgres في dc-1 هي
وعقدة Postgres في dc-2 هي خادم الاستعداد.
ملاحظة: إذا تم ضبط dc-1 بالفعل على اثنتين من Postgres العُقد التي تعمل في وضع الرئيسي/الاستعداد، ثم كجزء من هذا الإجراء، استخدم عقدة Postgres الرئيسية الحالية في dc-1 كعقدة رئيسية، عقدة Postgres في dc-2 كخادم الاستعداد. في وقت لاحق من هذا الإجراء، سيؤدي إلى إلغاء تسجيل خادم وضع الاستعداد الحالي Postgres في dc-1.- في العقدة الرئيسية في dc-1، عدِّل ملف الضبط الذي تريد ضبطه:
PG_MASTER=IPorDNSofDC1Master
PG_STANDBY=IPorDNSofDC2Standby - تفعيل النسخ المماثل على الشريحة الرئيسية الجديدة:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-repliction-on-master -f configFIle - في عقدة وضع الاستعداد في dc-2، عدِّل ملف الإعداد لضبطه:
PG_MASTER=IPorDNSofDC1Master
PG_STANDBY=IPorDNSofDC2Standby - في عقدة وضع الاستعداد في dc-2، أوقِف الخادم ثم احذف أي عنصر
بيانات Postgres الحالية:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
> rm -rf /opt/apigee/data/apigee-postgresql/
ملاحظة: إذا لزم الأمر، يمكنك الاحتفاظ بنسخة احتياطية من هذه البيانات قبل حذفها. - اضبط عقدة وضع الاستعداد في dc-2:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql إعداد-النسخ-الفعلي-لوضع الاستعداد -f configFile
- في العقدة الرئيسية في dc-1، عدِّل ملف الضبط الذي تريد ضبطه:
- في dc-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، يجب أن تتمكّن من تحديد معرّف المستخدم الفريد (UUID) المخصّص للصفحة الرئيسية وأيه عقدة الاستعداد. - في عقدة خادم الإدارة dc-2، احصل على المعرّف الفريد العالمي الخاص بـ Postgres كما هو موضح في الخطوة السابقة. احفظ هذه القيمة.
- في عقدة خادم الإدارة من dc-1، حدد اسم
التحليلات ومجموعات المستهلكين. يتطلب العديد من الأوامر أدناه هذه المعلومات.
يكون اسم مجموعة الإحصاءات هو axgroup-001 بشكلٍ تلقائي، واسم المستهلك هي مجموعة المستهلكين 001. في ملف الإعداد الصامت لمنطقة معيّنة، يمكنك ضبط اسم. مجموعة الإحصاءات باستخدام السمة AXGROUP.
إذا لم تكن متأكدًا من أسماء الإحصاءات ومجموعات المستهلكين، استخدِم ما يلي: الأمر لعرضهما:
> إحصاءات apigee-adminapi.sh قائمة المجموعات --admin adminEmail --pwd adminPword --host localhost
يعرض هذا الأمر اسم مجموعة الإحصاءات في حقل الاسم ومجموعة المستهلكين في حقل مجموعات المستهلكين. - في عقدة خادم الإدارة من dc-1، أزِل Postgres الحالية
الخادم من مجموعة التحليلات:
- أزِل عقدة Postgres من مجموعة المستهلكين:
> apigee-adminapi.sh مجموعات في "مجموعات Google" -u UUID -Y --admin adminEmail --pwd adminPword --مضيف محلي
إذا تم ضبط dc-1 على عقدتين Postgres قيد التشغيل في في وضع رئيسي/وضع الاستعداد، عليك إزالة ما يلي:
> apigee-adminapi.sh مجموعات في "مجموعات Google" -u "UUID_1,UUID_2" -Y --admin adminEmail --pwd adminPword --مضيف localhost - إزالة عقدة Postgres من مجموعة الإحصاءات:
> apigee-adminapi.sh مجموعات "إحصاءات" postgres_server remove -g axgroup-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost
إذا تم ضبط dc-1 على عقدتي Postgres تعملان في وضع الرئيسي/الاستعداد، عليك إزالة كلاهما:
> apigee-adminapi.sh مجموعات "إحصاءات" postgres_server remove -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail --pwd adminPword --مضيف محلي
- أزِل عقدة Postgres من مجموعة المستهلكين:
-
في عقدة خادم الإدارة dc-1، أضف الصفحة الرئيسية/وضع الاستعداد الجديد
نشر الخوادم في مجموعة الإحصاءات:
- إضافة خادمَي Postgres إلى مجموعة الإحصاءات:
> apigee-adminapi.sh مجموعات "إحصاءات" postgres_server add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
حيث يتجاوب UUID_1 مع عقدة Postgres الرئيسية في dc-1، وUUID_2 يتوافقان مع Postgres في وضع الاستعداد العقدة في dc-2. - إضافة خوادم PG إلى مجموعة المستهلكين كخوادم رئيسية أو في وضع الاستعداد:
> apigee-adminapi.sh مجموعات في "مجموعات Google" "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --مضيف محلي
- إضافة خادمَي Postgres إلى مجموعة الإحصاءات:
- أضِف خوادم Qpid من dc-2 إلى مجموعة الإحصاءات:
- في عقدة خادم الإدارة من dc-1، احصل على معرفات UUID لـ Qpid
العُقد في dc-2:
> apigee-adminapi.sh قائمة الخوادم -r dc-2 -p Central -t qpid-server --admin adminEmail --pwd adminPword --host localhost
تظهر أرقام التعريف الفريدة العالمية في نهاية البيانات المعروضة. احفظ تلك القيم. - في عقدة خادم الإدارة من dc-1، أضف عُقد Qpid إلى
مجموعة الإحصاءات:
>apigee-adminapi.sh مجموعات التحليلات qpid_server إضافة -g axgroup-001 -u "UUID_1 UUID_2" --admin adminEmail --pwd adminPword --host localhost - في عقدة خادم الإدارة من dc-1، أضف عُقد Qpid إلى
مجموعة المستهلكين:
> apigee-adminapi.sh مجموعات في "إحصاءات" "مجموعة المستهلكين" "مُستهلِكين" add -g axgroup-001 -cconsumer-group-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
- في عقدة خادم الإدارة من dc-1، احصل على معرفات UUID لـ Qpid
العُقد في dc-2:
- إلغاء تسجيل خادم وضع الاستعداد القديم لـ Postgres وحذفه من dc-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 في وضع الاستعداد القديم عقدة Postgres في dc-1. - احذف خادم الاستعداد الحالي لـ dc-1 Postgres:
ملاحظة: لن يؤدي هذا الأمر إلى إلغاء تثبيت عقدة خادم Postgres. أُنشأها جون هنتر، الذي كان متخصصًا إلى إزالته فقط من قائمة عقد Edge. يمكنك لاحقًا إلغاء تثبيت Postgres من إذا لزم الأمر.
> apigee-adminapi.sh الخوادم حذف -u UUID --admin adminEmail --pwd adminPword --مضيف محلي
- إلغاء تسجيل خادم الاستعداد الحالي dc-1 Postgres:
- في عقدة خادم الإدارة dc-1، احصل على المعرّف الفريد العالمي الخاص بـ Postgres
العقدة:
- حدِّث مساحات مفاتيح Cassandra باستخدام عامل النسخ الصحيح لمركزَي البيانات. إِنْتَ
يجب تنفيذ هذه الخطوة مرة واحدة فقط على أي خادم من خوادم Cassandra في أيّ من مركزَي البيانات:
ملاحظة: تُعيِّن الأوامر أدناه عامل النسخ على "3"، للإشارة إلى ثلاث عقد لـ "كاساندرا" في المجموعة العنقودية. عدِّل هذه القيمة حسب الضرورة لعملية التثبيت.- ابدأ تشغيل أداة Cassandra cqlsh:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - تنفيذ أوامر CQL التالية في "cqlsh>" لضبط النسخ المتماثل
مستويات Cassandra keyspaces:
- cqlsh> التغيير KEYSPACE "identityzone" WITH nontion = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> لوحة المفاتيح البديلة "system_trace" WITH مكرّر = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- اعرض مساحة المفاتيح باستخدام الأمر:
cqlsh> اختر * من system.schema_keyspaces; - الخروج من واجهة cqlsh:
cqlsh> الخروج
- ابدأ تشغيل أداة Cassandra cqlsh:
- شغِّل أمر العقدة التالي على جميع عُقد Cassandra في dc-1 لإخلاء ذاكرة:
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP تنظيف - لكل مؤسسة ولكل بيئة تريد دعمها على مستوى البيانات
المركزية:
- في عقدة خادم الإدارة dc-1، أضف MP_POD الجديد إلى
المؤسسة:
> مجموعات apigee-adminapi.sh orgs إضافة -o orgName -r dc-2 -p gateway-2 --admin adminEmail --pwd adminPword --host localhost
حيث يكون gateway-2 هو اسم لوحة المدخل كما هو محدد في MP_POD في ملف التهيئة dc-2. - إضافة معالجات الرسائل الجديدة إلى المؤسسة والبيئة:
- في عقدة خادم الإدارة dc-2، احصل على المعرفات الفريدة العامة (UUID)
عُقد معالج الرسائل في dc-2:
> apigee-adminapi.sh قائمة الخوادم -r dc-2 -p gateway-2 -t message-processor --admin adminEmail --pwd adminPword --host localhost
تظهر أرقام التعريف الفريدة العالمية في نهاية البيانات المعروضة. احفظ تلك القيم. - في عقدة خادم الإدارة من dc-1، لكل معالج رسائل
في dc-2، أضف معالج الرسائل إلى بيئة المؤسسة:
> مؤسسات apigee-adminapi.sh خوادم envs add -o orgName -e envName -u UUID --admin adminEmail --pwd adminPword --host localhost
- في عقدة خادم الإدارة dc-2، احصل على المعرفات الفريدة العامة (UUID)
عُقد معالج الرسائل في dc-2:
- في عقدة "خادم الإدارة" من dc-1، تحقَّق من المؤسسة:
> واجهات برمجة تطبيقات apigee-adminapi.sh orgs عمليات النشر -o orgName -a apiProxyName --admin adminEmail --pwd adminPword --host localhost
حيث يكون apiProxyName اسم خادم وكيل لواجهة برمجة التطبيقات تم نشره في التنظيم.
- في عقدة خادم الإدارة dc-1، أضف MP_POD الجديد إلى
المؤسسة: