المقدمة
يصف هذا المستند إجراء إسترداد مزامنة الإصدار (SVN) في مجموعة سياسات Cisco (CPS).
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
ملاحظة: cisco يوصي أن أنت ينبغي يتلقى امتياز جذر وصول إلى CPS CLI.
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:
- CPS 20.2
- نظام الحوسبة الموحدة (UCS)-B
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
Apache SVN هو الإصدار المستخدم في نظام التحكم في إنشاء ومراجعة CPS. وهو يحافظ على جميع تكوينات نهج CPS وله مستودعات يمكن إنشاء الملفات فيها وتحديثها وحذفها. يحتفظ SVN بفرق الملف كل مرة يتم إجراء أي تغيير على ملف على الخادم ولكل تغيير يقوم بإنشاء رقم مراجعة.
وبشكل عام، يتم إجراء معظم التفاعلات مع SVN عبر Policy Builder (PB).
بمعنى آخر، يقوم CPS بتخزين بيانات تكوين النهج باستخدام SVN، أو التخريب، في قاعدة بيانات SVN. الذي يوفر واجهة مستخدم رسومية (GUI) لعرض قاعدة بيانات SVN (DB) التي تسمى Policy Builder (PB) والتي تتصل بالجهاز الظاهري ل PCRFclient/التشغيل والصيانة (OAM) عبر واجهة خارجية و IP الظاهري (VIP) و Policy Director (PD).
يجب أن تكون بيانات التكوين في قاعدة بيانات SVN الخاصة بكل من عملاء pcrfClient متزامنة في أي وقت.
يتكون CPS من نشر نموذج التوفر العالي (HA) النشط والاحتياطي لعقد PCRFoclient، حيث تعمل عقدة واحدة كنشاط وتعمل العقدة الأخرى كإستعداد.
المشكلة
من المحتمل في بعض الحالات أن يكون SVN بين عقد PCRFoclient في بروتوكول CPS غير متزامن ومن ثم يكون مطلوبا لجعلها متزامنة.
في بعض الحالات، غالبا ما يتم نشر نهج النشر، في وقت تبديل arbintVip أو حتى إذا لم يكن خادم SVN قابلا للوصول، يتم إنشاء أقفال SVN على المستودع الوجهة.
بعد ذلك، تصبح مزامنة SVN قديمة ويمكن رؤيتها في /var/log/httpd/svnsync.log
في pcrfclient المتأثر. عند إنشاء هذه الأقفال، يعرض لك إخراج تشخيص CPS خطأ مزامنة SVN. قم بتشغيل هذا الأمر من "إدارة نظام المجموعة" أو PCRFCLIENT للتحقق من حالة مزامنة SVN.
[root@installer ~]# diagnostics.sh --svn
CPS Diagnostics HA Multi-Node Environment
----------------------------
Checking svn sync status between pcrfclient01 & 02...
svn is not sync between pcrfclient01 & pcrfclient02...[FAIL]
Corrective Action(s): Run ssh pcrfclient01 /var/qps/bin/support/recover_svn_sync.sh
إجراء إسترداد مزامنة SVN بين عقد PCRFCLIENT
الاقتراب 1
يتم إستخدام هذا النهج عندما لا يوجد تأمين SVN تم إنشاؤه.
الخطوة 1. سجل الدخول إلى عقدة pcrfClient المعنية كما هو موضح في التشخيصات ثم قم بتشغيل هذا الأمر لمزامنة SVN بين عقد PCRFclient النشطة والاحتياطية.
/var/qps/bin/support/recover_svn_sync.sh
إخراج الأمر إذا نجحت مزامنة SVN:
[root@dc1-pcrfclient01 ~]# /var/qps/bin/support/recover_svn_sync.sh
=================================================================
[Thu Aug 25 09:10:44 UTC 2022] [INFO] /var/qps/bin/support/recover_svn_sync.sh script is running from console
-----sync betweeen pcrfclient01 & pcrfclient02 --------------------
[Thu Aug 25 09:10:47 UTC 2022] [INFO] Doing SVN sync between pcrfclient01 and pcrfclient02...
[Thu Aug 25 09:11:06 UTC 2022] [INFO] SVN are already in sync between pcrfclient01 and pcrfclient02
[Thu Aug 25 09:11:07 UTC 2022] [INFO] SVN UUID are matched between pcrfclient01 and pcrfclient02
[Thu Aug 25 09:11:07 UTC 2022] [INFO] SVN sync completed successfully for pcrfclient01 & pcrfclient02
[root@dc1-pcrfclient01 ~]#
إذا تعذر على هذا الأمر مزامنة SVN وإرسال هذا الخطأ المرتبط بقفل SVN في المستودع الوجهة أو المرآة، فانتقل إلى النهج 2. والذي يتضمن تأمين سرقة SVN.
الخطوة 2. قم بتشغيل هذا الأمر إما من Cluster Manager (إدارة نظام المجموعة) أو pcrfClient، للتحقق من حالة مزامنة SVN.
[root@installer ~]# diagnostics.sh --svn
CPS Diagnostics HA Multi-Node Environment
---------------------------
Checking svn sync status between pcrfclient01 & pcrfclient02...[PASS]
[root@installer ~]#
الاقتراب الثاني
يمكنك إستخدام هذا النهج إذا تم إنشاء تأمين SVN في المستودع الوجهة أو المرآة.
الخطوة 1. سجل الدخول إلى عقدة pcrfClient المقابلة كما هو موضح في التشخيصات وقم بتشغيل هذا الأمر.
Command syntax:
svnsync synchronize file:///var/svn/repos-mirror http://svn.example.com/repos
Sample command:
/usr/bin/ssh -k qns@pcrfclient01 -t '' '/usr/bin/svnsync info http://pcrfclient02/repos-proxy-sync'
[root@dc1-pcrfclient01 ~]# /usr/bin/ssh -k qns@pcrfclient01 -t '' '/usr/bin/svnsync info http://pcrfclient02/repos-proxy-sync'
Source URL: http://pcrfclient01/repos-proxy-sync
Source Repository UUID: f1937c9d-1688-463a-9d4e-db944d9aafb1
Last Merged Revision: 170
[root@dc1-pcrfclient01 ~]#
2. قم بتشغيل هذا الأمر لسرقة قفل SVN على المستودع الوجهة أو المرآة.
/usr/bin/ssh -k qns@pcrfclient01 -t '' '/usr/bin/svnsync sync --steal-lock http://pcrfclient02/repos-proxy-sync'
ملاحظة: يتسبب هذا الأمر في قيام SvnSync، حسب الضرورة، بسرقة القفل الذي يستخدمه على المستودع الوجهة أو النسخ لضمان الوصول الحصري إلى المستودع. يجب إستخدام هذا الخيار فقط عند وجود تأمين في المستودع الوجهة أو المرآة ويعرف عنه أنه قديم - أي عندما تكون متأكدا من عدم وجود عمليات SvnSync أخرى تصل إلى المستودع.
3. قم بتشغيل هذا الأمر لمزامنة SVN بين عقد PCRFclient النشطة والاحتياطية.
[root@dc1-pcrfclient01 ~]# /var/qps/bin/support/recover_svn_sync.sh
=================================================================
[Thu Aug 25 09:10:44 UTC 2022] [INFO] /var/qps/bin/support/recover_svn_sync.sh script is running from console
-----sync betweeen pcrfclient01 & pcrfclient02 --------------------
[Thu Aug 25 09:10:47 UTC 2022] [INFO] Doing SVN sync between pcrfclient01 and pcrfclient02...
[Thu Aug 25 09:11:06 UTC 2022] [INFO] SVN are already in sync between pcrfclient01 and pcrfclient02
[Thu Aug 25 09:11:07 UTC 2022] [INFO] SVN UUID are matched between pcrfclient01 and pcrfclient02
[Thu Aug 25 09:11:07 UTC 2022] [INFO] SVN sync completed successfully for pcrfclient01 & pcrfclient02
[root@dc1-pcrfclient01 ~]#
2. قم بتشغيل هذا الأمر من "إدارة نظام المجموعة" أو PCRFclient للتحقق من حالة مزامنة SVN.
[root@installer ~]# diagnostics.sh --svn
CPS Diagnostics HA Multi-Node Environment
---------------------------
Checking svn sync status between pcrfclient01 & pcrfclient02...[PASS]
[root@installer ~]#