المقدمة
يصف هذا المستند كيفية أستكشاف أخطاء مثيل الشبكة الأحادية وإصلاحها في جلسات عمل مجموعة سياسات Cisco (CPS) بسبب الاستخدام المتزايد لمساحة DATA_PATH.
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:
- CPS 20.2
- MongoDB الإصدار 3.6.17
- UCS-B
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
يستخدم CPS MongoDB حيث يتم تشغيل العمليات أحادية الإتجاه على الأجهزة الافتراضية (VMs) ل SESSIONmgr لتكوين بنية قاعدة البيانات الأساسية الخاصة به.
يتم تشغيل مثيلات أحادية الإتجاه المتعددة على sessionMgr، وتم تعيين أرقام منافذ مختلفة لكل منها. وهذه المثيلات للآلهة الواحدة تشترك في مجموعات نسخ متماثلة مختلفة.
المشكلة
عند توقف أي مثيل أحادي الإتجاه بسبب زيادة إستهلاك مساحة DATA_PATH لمسار البيانات المرتبط به، ستلاحظ نفس الشيء في تشخيصات جلسة العمل تلك. فشلت الاتصالات بالمنفذ المحدد وهناك إستخدام 100٪ لقسم /var/data/sessions.X. وبالتالي، يدخل مثيل إله واحد هذا إلى حالة عدم الاتصال في مجموعة النسخ المتماثلة ذات الصلة. وبعد ذلك، تصبح حالة مشاركته في مجموعة النسخ المتماثلة هذه غير معروفة.
تم توفير نموذج للخطأ في التشخيصات. أدخل diagnostics.sh
أمر من ClusterManager أو pcrfClient للتحقق من الحالة الحالية ل mongod و Replica Set.
Could not connect to port 27718 on sessionmgr02 (set02)...[FAIL]
Disk usage on sessionmgr02...[FAIL]
Disk usage is above critical threshold (97%) on sessionmgr02.
Results of: ssh root@sessionmgr02 -x 'df -hP -x iso9660'
-----------------------------------
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 95G 28G 62G 32% /
tmpfs 48G 0 48G 0% /dev/shm
tmpfs 57G 0 57G 0% /var/data/sessions.1
tmpfs 12G 12G 0 100% /var/data/sessions.2
-----------------------------------
|---------------------------------------------------------------------------------------------|
| BALANCE:set02 |
| Status via arbitervip:27718 sessionmgr01:27718 |
| Member-1 - 27718 : - UNKNOWN - sessionmgr02 - OFF-LINE - 19003 days - 2 |
| Member-2 - 27718 : - PRIMARY - sessionmgr01 - ON-LINE - -------- - 3 |
| Member-3 - 27718 : 192.168.10.146 - ARBITER - arbitervip - ON-LINE - -------- - 0 |
|---------------------------------------------------------------------------------------------|
إستعادة مثيل Mongod في Sessionmgr
يوضح القسم تفاصيل الإجراء لاستعادة مثيل إله واحد في sessionMgr إذا كان معطلا بسبب زيادة إستهلاك مساحة DATA_PATH.
قبل أن يبدأ أنت هذا إجراء، أنت ينبغي يتلقى امتياز منفذ إلى:
- الوصول الجذري إلى واجهة سطر الأوامر (CLI) عبر بروتوكول CPS
- وصول المستخدم "QNS-SVN" إلى واجهة المستخدم الرسومية (GUI) ل CPS - Policy Builder و CPS Central
زودت هنا الإجراء ل sessionMg02 وميناء 27718، أي يكون جزء من set02.
- قم بتسجيل الدخول إلى جلسة العمل المعنية.
- أدخل هذا الأمر لتحديد القسم الذي قام بتخزين البيانات الخاصة بهذه المجموعة المحددة02.
[root@dc1-sessionmgr02 ~]# cat /etc/broadhop/mongoConfig.cfg | grep -A6 set02 | grep "DATA_PATH"
ARBITER_DATA_PATH=/var/data/sessions.2
DATA_PATH=/var/data/sessions.2
- أدخل هذا الأمر للتحقق من ما إذا كان
aido_client
العملية موجودة أو لا.
[root@dc1-sessionmgr02 ~]# monsum
Monit 5.26.0 uptime: 11d 2h 9m
┌─────────────────────────────────┬────────────────────────────┬───────────────┐
│ Service Name │ Status │ Type │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ dc1-sessionmgr02 │ OK │ System │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ whisper │ OK │ Process │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ snmpd │ OK │ Process │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ memcached │ OK │ Process │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ collectd │ OK │ Process │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ auditrpms.sh │ OK │ Process │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ aido_client │ OK │ Process │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ primary_db_frag │ OK │ Program │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ cpu_load_monitor │ OK │ Program │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ cpu_load_trap │ OK │ Program │
├─────────────────────────────────┼────────────────────────────┼───────────────┤
│ gen_low_mem_trap │ OK │ Program │
└─────────────────────────────────┴────────────────────────────┴───────────────┘
- إذا
aido_client
العملية موجودة، أدخل monit stop aido_client
أمر لإيقاف ذلك.
- أدخل هذا الأمر للتحقق من ما إذا كانت عملية مثيل وحدة النظام الشخصي لا تزال نشطة أم لا.
[root@dc1-sessionmgr02 ~]# ps -ef | grep 27718
root 12292 11114 0 02:05 pts/0 00:00:00 grep --color=auto 27718
root 19620 1 0 2021 ? 01:36:51 /usr/bin/mongod --ipv6 --syncdelay 1 --slowms 500 --storageEngine
mmapv1 --bind_ip_all --port 27718 --dbpath=/var/data/sessions.2 --replSet set02 --fork --pidfilepath
/var/run/sessionmgr-27718.pid --oplogSize 5120 --logpath /var/log/mongodb-27718.log --logappend --quiet
[root@dc1-sessionmgr02 ~]#
- إذا كان مثيل إله واحد لا يزال نشطا، فأدخل هذا الأمر لإيقافه.
[root@dc1-sessionmgr02 ~]# /etc/init.d/sessionmgr-27718 stop
Stopping sessionmgr-27718 (via systemctl): [ OK ]
[root@dc1-sessionmgr02 ~]#
- انتقل إلى Data_PATH الذي تم تلقيه في الخطوة 1.
[root@dc1-sessionmgr02 ~]# cd /var/data/sessions.2
[root@dc1-sessionmgr02 sessions.2]# ls -lrt
total 6616100
-rw------- 1 root root 16777216 Jun 22 2018 admin.ns
-rw------- 1 root root 67108864 Jun 22 2018 admin.0
-rw------- 1 root root 69 Nov 10 07:27 storage.bson
-rw------- 1 root root 16777216 Nov 10 07:27 vouchers.ns
-rw------- 1 root root 67108864 Nov 10 07:27 vouchers.0
-rw------- 1 root root 2146435072 Nov 10 07:27 local.2
drwx------ 2 root root 4096 Nov 10 07:27 local
-rw------- 1 root root 67108864 Nov 10 07:27 local.0
-rw------- 1 root root 16777216 Jan 7 14:38 config.ns
-rw------- 1 root root 67108864 Jan 7 14:38 config.0
-rw------- 1 root root 16777216 Jan 11 02:06 local.ns
-rw------- 1 root root 2146435072 Jan 11 02:06 local.1
drwx------ 2 root root 4096 Jan 11 02:06 diagnostic.data
-rw------- 1 root root 2146435072 Jan 11 02:06 local.3
-rw------- 1 root root 0 Jan 11 02:07 mongod.lock
drwx------ 2 root root 4096 Jan 11 02:08 journal
[root@dc1-sessionmgr02 sessions.2]#
- دخلت الأمر
rm -rf *
لمسح DATA_PATH.
- أدخل هذا الأمر لبدء مثيل أحادي الإتجاه. يستغرق هذا الأمر بضع دقائق لإكماله.
[root@dc1-sessionmgr02 ~]# /etc/init.d/sessionmgr-27718 start
Starting sessionmgr-27718 (via systemctl): [ OK ]
[root@dc1-sessionmgr02 ~]#
- إذا كنت قد أوقفت
aido_client
في الخطوة 3، أدخل monit start adio_client
أمر in order to بدأت مرة أخرى.
- أدخل
diagnostics.sh
أمر من ClusterManager أو pcrfClient لتأكيد إستعادة مثيل الإله الأحادي الخاص به ليصبح على الإنترنت في مجموعة النسخ المتماثلة.
|---------------------------------------------------------------------------------------------|
| BALANCE:set02 |
| Status via arbitervip:27718 sessionmgr01:27718 sessionmgr02:27718 |
| Member-1 - 27718 : - SECONDARY - sessionmgr02 - ON-LINE - 0 sec - 2 |
| Member-2 - 27718 : - PRIMARY - sessionmgr01 - ON-LINE - -------- - 3 |
| Member-3 - 27718 : XX.XX.XX.XX - ARBITER - arbitervip - ON-LINE - -------- - 0 |
|---------------------------------------------------------------------------------------------|