المحتويات

المقدمة

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

المتطلبات

المكونات المستخدمة

الحل

المصطلحات

الخطوات التي تم تنفيذها

المقدمة

يوضح هذا المستند كيفية نقل قاعدة بيانات PostGreSQL بين نظائر المجموعات المشتركة في المراسلة الفورية (IM) والحضور (IM&P).

تمت المساهمة من قبل جويل بيرلي وتحرير جوزيف كوجلين، مهندسي TAC من Cisco

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

المتطلبات

توصي Cisco بوجود بيئة تطابق هذه الشروط.

- لديك مجموعتا IM&P مع الإصدار (الإصدارات) 9.1.1

- تم إعداد نظائر نظام المجموعة بين نظام IM&P.

- تم تكوين قاعدة بيانات PostGreSQL على مجموعة واحدة مع مثيل قاعدة بيانات واحد مقترن بناشر IM&P

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى إصدار (إصدارات) البرامج والمكونات التالية:

- IM&P الإصدار (الإصدارات) 9.1.1

- PostgreSQL

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.

الحل

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

المصطلحات

- المجموعة 1 - مجموعة IM&P حيث تم تكوين قاعدة البيانات الخارجية في الأصل

- المجموعة 2 - مجموعة IM&P حيث سيتم نقل تكوين قاعدة البيانات الخارجية إليها.

- PostgreSQL - لمضيف قاعدة البيانات الخارجي

الخطوات التي تم تنفيذها

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

ملاحظة: تجدر الإشارة إلى أنه إذا تم إعداد الدردشة الدائمة بشكل صحيح للنظراء بين المجموعات. يجب أن يكون لكل عقدة في كل مجموعة مثيل قاعدة بيانات خاصة بها على PostGreSQL. الاستثناء الوحيد لهذا هو إذا كان الإصدار 11.5 فما فوق.

الخطوة 1. قم أولا بإدخال أمر واجهة سطر الأوامر (CLI) من ناشر IM&P حيث تتم إستضافة قاعدة البيانات الخاصة بك حاليا (Cluster1).

run sql select * from tcaliases

دون معرف المؤتمر الذي تم إنشاؤه ديناميكيا والاسم المستعار الذي تم إنشاؤه يدويا مقترنا بنظام المجموعة المحلي.

مثال لمعرف المؤتمر الديناميكي هو conference-2-StandAloneCluster2c2aa.jburleig.local. يمكنك الإبلاغ بأن هذا هو معرف المؤتمر الأساسي حيث يتم تعيين الأساسي على true وله قيمة في حقل fkprocessNode

أحد الأمثلة على الاسم المستعار لعقدة دردشة هو pchat1.jburleig.local يمكنك الإبلاغ عن ذلك لأن الأساسي تم تعيينه على false ولكنه يحتوي على نفس قيمة pid في عمود fkpProcessNode كما هو الحال مع معرف المؤتمر الأساسي.

مثال الإخراج:

admin:run sql select * from tcaliases

pkid                                  tcalias                                             isprimary  fkprocessnode                        peerclusterid

====================================  ==================================================  =========  ==================================== ==============

50a4cf3b-0474-4723-ba50-4cd2cc1dd277  conference-2-StandAloneCluster2c2aa.jburleig.local      t      2c2aa1f6-cc7a-470a-a0ba-c8a892db68ca  NULL

9eca651d-5a67-3116-a57b-1eb2ab0911bd  pchat1.jburleig.local                                   f      2c2aa1f6-cc7a-470a-a0ba-c8a892db68ca  NULL

838e900a-0d2f-4843-be00-ac0a6c803ab5  conference-2-StandAloneClustercbea5.jburleig.local      f      NULL                                  2202

الخطوة 2. إنشاء نسخة إحتياطية من قاعدة البيانات الحالية (PostgreSQL).

ملاحظة: يجب أن يتم ذلك من قبل مسؤول قاعدة البيانات وفقا لمتطلبات مؤسستك.

الخطوة 3. بعد ذلك قم بإنشاء مثيل قاعدة بيانات جديد (PostgreSQL)

- يسمى الجدول الذي تم إنشاؤه في الأمر أدناه cluster2 والمستخدم الذي تم إستخدامه لإنشائه هو cuser.

ملاحظة: يمكن أن يكون الأسلوب المرمز لقاعدة البيانات مختلفا عن الأسلوب UTF8.

CREATE DATABASE cluster2 WITH OWNER tcuser ENCODING 'UTF8'

الخطوة 4. ستحتاج إلى إضافة إدخال جديد للسماح بالوصول إلى المستخدم إلى قاعدة البيانات الجديدة التي تم إنشاؤها في الخطوة 2.

إذا كان تكوين قاعدة البيانات الخارجية الجديد على مجموعة IM&P سيكون على شبكة IP فرعية جديدة، فتأكد من تحديث الشبكة الفرعية في الإدخال الذي تقوم به في ملف pg.hba.conf (PostgreSQL).

- قم بإضافة الإدخال إلى install_dir/data/pg_hba.conf

host      DBName          DBUsere          Subnet             password

host      cluster2        tcuser           10.10.1.0/24       password

الخطوة 5. ستحتاج بعد ذلك إلى إنشاء قاعدة بيانات خارجية جديدة على مجموعة IM&P سيتم نقل التكوين إليها (المجموعة 2)

- انتقل إلى المراسلة > إعداد الخادم الخارجي > قواعد البيانات الخارجية

- حدد الزر إضافة جديد وقم بتكوين قاعدة البيانات الخارجية الجديدة واستخدم اسم قاعدة البيانات والمستخدم الذي تم إنشاؤه في الخطوة 3

الخطوة 6. قم الآن بتعطيل المحادثة المتواصلة على IM&P الحالي الذي يستضيف تكوين الدردشة المتواصلة وإلغاء تعيين قاعدة البيانات الخارجية المقترنة بتكوين الدردشة المتواصلة (Cluster1)

- انتقل إلى المراسلة > الدردشة الجماعية والدردشة المستمرة

- قم بإلغاء تحديد خانة الاختيار تمكين الدردشة الدائمة

- تعيين قاعدة البيانات الخارجية إلى غير معين

الخطوة 7. بعد ذلك قم بحذف تكوين قاعدة البيانات الخارجية (Cluster1)

- انتقل إلى المراسلة > إعداد الخادم الخارجي > قواعد البيانات الخارجية

- حدد خانة الاختيار بجوار قاعدة بيانات الدردشة الثابتة ل PostGreSQL التي تم تكوينها وحدد حذف.

الخطوة 8. بعد ذلك قم بحذف الاسم المستعار المخصص للدردشة المتواصلة الذي تم تكوينه على نظام المجموعة الحالي (نظام المجموعة 1)

- انتقل إلى المراسلة > تعيين الاسم المستعار لخادم الدردشة الجماعية

- حدد خانة الاختيار المجاورة للاسم المستعار الذي تم تكوينه وحدد حذف.

الخطوة 9. بمجرد إزالة تكوين الدردشة وقواعد البيانات الخارجية بشكل دائم بالكامل (نظام المجموعة 1) قم بإعادة تشغيل موجه Cisco XCP (نظام المجموعة 1)

الخطوة 10. قم بعد ذلك بتمكين الدردشة المستمرة على (Cluster2) وتخصيص قاعدة بيانات خارجية تم إنشاؤها في الخطوة 5.

- انتقل إلى المراسلة > الدردشة الجماعية والدردشة المستمرة

- حدد خانة الاختيار تمكين الدردشة المتواصلة

- قم بتعيين "قاعدة البيانات الخارجية" على قاعدة البيانات الخارجية التي تم إنشاؤها في الخطوة 5.

الخطوة 11. تحقق من أن إختبار اتصال قاعدة البيانات الخارجية يظهر "موافق" في (Cluster2) بعد تمكين الدردشة الدائمة، استمر فقط إذا كان لديه كافة علامات التأشير الخضراء.

- انتقل إلى المراسلة > إعداد الخادم الخارجي > قواعد البيانات الخارجية

- تحقق من أن مستكشف أخطاء قاعدة البيانات الخارجية ومصلحها يبدي علامات إختيار خضراء.

- حدد قاعدة البيانات الخارجية التي تم تكوينها في الخطوة 5

الخطوة 12. قم بإنشاء اسم مستعار مخصص على (Cluster2) تأكد من إستخدام الاسم المحدد للاسم الذي قمت بحذفه من المجموعة القديمة. يمكنك العثور على اسم الاسم المستعار في الإخراج من الخطوة 1.

- انتقل إلى المراسلة > تعيين الاسم المستعار لخادم الدردشة الجماعية > إضافة جديد

- قم بإضافة الاسم المستعار نفسه الذي سيتم تكوينه على نظام المجموعة 1. يمكنك العثور على اسم الاسم المستعار في إخراج الأمر من الخطوة 1.

الخطوة 13. إعادة التشغيل التالية لموجه XCP (المجموعة 2)

الخطوة 14. بمجرد إعادة تشغيل موجه Cisco XCP بنجاح (Cluster2)، قم بالمتابعة وإيقاف مدير مؤتمرات النص من Cisco (Cluster2)

الخطوة 15. قم بإجراء إستعادة لقاعدة البيانات باستخدام النسخ الاحتياطي ل PostgreSQL الذي تم إجراؤه في الخطوة 2. تأكد من إستعادة النسخة الاحتياطية إلى مثيل قاعدة البيانات الجديدة الذي تم إنشاؤه في الخطوة 3 (PostgreSQL)

- تحقق من أن البيانات المستوردة موجودة في جداول tc_rooms و tc_users و tc_messages و tc_msgarchive.

الخطوة 16. إعادة التشغيل التالية لخدمة PostgreSQL (PostgreSQL)

الخطوة 17. البدء التالي لإدارة مؤتمرات النص على نظام المجموعة 2.

- عند هذه النقطة، إذا قام المستخدم بتسجيل الدخول إلى Jabber، فسيتمكن من رؤية أي من غرف الدردشة التي تم إنشاؤها باستخدام الاسم المستعار للدردشة الدائمة. لن يتم عرض أي غرف دردشة مقترنة بمعرف مؤتمر غرفة الدردشة المعين بشكل ديناميكي نظرا لاقترانها حاليا بالمجموعة القديمة. ستقوم بإصلاح هذا عن طريق تشغيل أوامر تحديث SQL على خادم PostGREsql.

الخطوة 18. من سطر الأوامر PostGreSQL، قم بتنفيذ هذه الأوامر لتحديث معرف المؤتمر القديم إلى الاسم المستعار الجديد الذي تم إنشاؤه في الخطوة 12. (PostgreSQL)

ملاحظة: ستحتاج إلى تكييف هذه الأوامر لاحتواء معرف مؤتمر نظام المجموعة 1 ومعرف الاسم المستعار الذي قمت بتكوينه.

Updates for tc_rooms

update tc_rooms set room_jid = replace(room_jid, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

Updates for tc_users

update tc_users set room_jid = replace(room_jid, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

update tc_users set nick_jid = replace(nick_jid, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

update tc_users set initiator_jid = replace(initiator_jid, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

Updates for tc_messages

update tc_messages set room_jid = replace(room_jid, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

update tc_messages set msg = replace(msg, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

Updates for tc_msgarchive

update tc_msgarchive set to_jid = replace(to_jid, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

update tc_ msgarchive set nick_jid = replace(nick_jid, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

update tc_ msgarchive set message_string = replace(message_string, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

الخطوة 19. إعادة التشغيل التالية لخدمة PostgreSQL (PostgreSQL)

الخطوة 20. إعادة التشغيل التالية لإدارة مؤتمرات النص (المجموعة 2)

الخطوة 21. عند هذه النقطة، يجب أن يكون عملاء Jabber قادرين على تسجيل الدخول إلى IM&P واسترداد جميع الغرف في علامة التبويب "جميع الغرف".