المقدمة
يصف هذا المستند كيفية أستكشاف أخطاء الحالة وإصلاحهاJOINING باستخدام الجهاز الظاهري (VM) لوكيل توجيه القطر (DRA) من Cisco Policy Suite.
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
ملاحظة: توصي Cisco بأن يكون لديك حق الوصول إلى جذر الامتياز إلى CPS DRA CLI.
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:
- CPS-DRA 22.2
- نظام الحوسبة الموحدة (UCS)-B
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
يعمل عميل توجيه القطر الظاهري (vDRA) ل CPS كمكون عملياتي داخل شبكة، حيث يوجه الرسائل إلى عقد الوجهة المقصودة الخاصة بهم من خلال إستخدام خوارزميات التوجيه.
ويشتمل الدور المركزي الذي يلعبه برنامج CPS vDRA على توجيه الرسائل وما يعقبه من إرسال الاستجابات إلى نقاط المنشأ الأصلية.
يتكون برنامج CPS vDRA من مجموعة من الأجهزة الافتراضية (VM) التي يتم تنسيقها كتجمع باستخدام محركات وحدات الإرساء، بينما يتكون برنامج CPS vDRA من وحدات متميزة، وهي الأجهزة الرئيسية وأجهزة التحكم والمديرة والموزع والعمال.
admin@orchestrator[master-1]# show docker engine
Fri Jul 14 09:36:18.635 UTC+00:00
MISSED
ID STATUS PINGS
----------------------------------
control-1 CONNECTED 0
control-2 CONNECTED 0
director-1 CONNECTED 0
director-2 CONNECTED 0
director-3 CONNECTED 0
director-4 CONNECTED 0
director-5 CONNECTED 0
director-6 CONNECTED 0
director-7 CONNECTED 0
director-8 CONNECTED 0
distributor-1 CONNECTED 0
distributor-2 CONNECTED 0
distributor-3 CONNECTED 0
distributor-4 CONNECTED 0
master-1 CONNECTED 0
worker-1 CONNECTED 0
worker-2 CONNECTED 0
worker-3 CONNECTED 0
admin@orchestrator[master-1]#
الحالة - تشير إلى ما إذا كان تطبيق الجدولة متصلا بمحرك الإرساء ويتم تشغيله على مضيف.
إختبارات الاتصال المفقودة - عدد إختبارات الاتصال المفقودة المتتالية لمضيف معين.
المشكلة
في بعض الأحيان، يعلق الجهاز الظاهري CPS vDRA في دولة الانضمام لأسباب مختلفة.
admin@orchestrator[master-1]# show docker engine
Fri Jul 14 09:36:18.635 UTC+00:00
MISSED
ID STATUS PINGS
----------------------------------
control-1 CONNECTED 0
control-2 CONNECTED 0
director-1 JOINING 57
director-2 JOINING 130
director-3 JOINING 131
director-4 JOINING 130
director-5 JOINING 30
director-6 JOINING 129
distributor-1 CONNECTED 0
distributor-2 CONNECTED 0
distributor-3 CONNECTED 0
distributor-4 CONNECTED 0
master-1 CONNECTED 0
worker-1 CONNECTED 0
worker-2 CONNECTED 0
worker-3 CONNECTED 0
admin@orchestrator[master-1]#
الأسباب المحتملة لأن يصبح الجهاز الظاهري عالقا في JOINING الحالة،
1. لا يمكن الوصول إلى الجهاز الظاهري (VM) من الجهاز الظاهري الرئيسي.
1.1. تحقق مما إذا كانت حالة إتصالات النسج على VM المتأثرة في وضع السكون.
ملاحظة: يقوم Weave Net بإنشاء شبكة افتراضية توصل حاويات Docker المنشورة عبر البيئات المضيفة المتعددة ويمكن من اكتشافها التلقائي. باستخدام Weave Net، يمكن تشغيل التطبيقات المتنقلة القائمة على الخدمات الدقيقة التي تتكون من حاويات متعددة في أي مكان: على مضيف واحد أو أجهزة مضيفة متعددة أو حتى عبر مزودي الشبكات ومراكز البيانات. تستخدم التطبيقات الشبكة كما لو كانت الحاويات جميعها موصلة بمحول الشبكة نفسه، دون تكوين تعيينات المنافذ أو السفراء أو الارتباطات.
يحتوي CPS-DRA على حالتين أساسيتين من الوصلات النسيجية: FastDP و Sleeve. والتفضيل داخل مجموعة CPS-DRA موجه بشكل ثابت نحو حيازة وصلات نسجية في fastdp الولاية.
cps@director-1:~$ weave status connections
-> xx.xx.xx.xx:6783 established sleeve 4e:5f:58:99:d5:65(worker-1) mtu=1438
-> xx.xx.xx.xx:6783 established sleeve 76:33:17:3a:c7:ec(worker-2) mtu=1438
<- xx.xx.xx.xx:54751 established sleeve 76:3a:e9:9b:24:84(director-1) mtu=1438
-> xx.xx.xx.xx:6783 established sleeve 6e:62:58:a3:7a:a0(director-2) mtu=1438
-> xx.xx.xx.xx:6783 established sleeve de:89:d0:7d:b2:4e(director-3) mtu=1438
1.2. تحقق مما إذا كانت رسائل السجل هذه موجودة في journalctl السجل على VM المتأثرة.
2023-08-01T10:20:25.896+00:00 docker-engine Docker engine control-1 is unreachable
2023-08-01T10:20:25.897+00:00 docker-engine Docker engine control-2 is unreachable
2023-08-01T10:20:25.935+00:00 docker-engine Docker engine distributor-1 is unreachable
2023-08-01T10:20:25.969+00:00 docker-engine Docker engine worker-1 is unreachable
INFO: 2023/08/02 20:46:26.297275 overlay_switch ->[ee:87:68:44:fc:6a(worker-3)] fastdp timed out waiting for vxlan heartbeat
INFO: 2023/08/02 20:46:26.297307 overlay_switch ->[ee:87:68:44:fc:6a(worker-3)] using sleeve
2. يتم استنفاد مساحة قرص الجهاز الظاهري.
2.1. تحقق من إستخدام مساحة القرص على الجهاز الافتراضي المتأثر وحدد القسم الذي به إستخدام كبير لمساحة القرص.
cps@control-2:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 32G 0 32G 0% /dev
tmpfs 6.3G 660M 5.7G 11% /run
/dev/sda3 97G 97G 0 100% /
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/sdb1 69G 4.7G 61G 8% /data
/dev/sda1 180M 65M 103M 39% /boot
/dev/sdb2 128G 97G 25G 80% /stats
overlay 97G 97G 0 100% /var/lib/docker/overlay2/63854e8173b46727e11de3751c450037b5f5565592b83112a3863febf3940792/merged
overlay 97G 97G 0 100% /var/lib/docker/overlay2/a86da2c7a289dc2b71359654c5160a9a8ae334960e78def78e6eecea95855853/merged
overlay 97G 97G 0 100% /var/lib/docker/overlay2/9dfd1bf36282c4e707a3858beba91bfaa383c78b5b9eb3acf0e58f335126d9b7/merged
overlay 97G 97G 0 100% /var/lib/docker/overlay2/49ee42311e82974707a6041d82e6c550004d1ce25349478bb974cc017a84aff5/merged
cps@control-2:~$
إجراء إستعادة الأجهزة الافتراضية الخاصة بالمحول (CPS-DRA) من الدولة المنضمة
الاقتراب 1.
إذا لم يكن بالإمكان الوصول إلى الجهاز الظاهري (VM) الرئيسي، فاستخدم هذا النهج.
1. تحقق من حالة اتصال النسج على الأجهزة الافتراضية/الأجهزة المتأثرة، إذا كان وضع السكون.
#weave connection status
Sample output:
cps@director-1:~$ weave status connections
-> xx.xx.xx.xx:6783 established sleeve 4e:5f:58:99:d5:65(worker-1) mtu=1438
-> xx.xx.xx.xx:6783 established sleeve 76:33:17:3a:c7:ec(worker-2) mtu=1438
<- xx.xx.xx.xx:54751 established sleeve 76:3a:e9:9b:24:84(director-1) mtu=1438
-> xx.xx.xx.xx:6783 established sleeve 6e:62:58:a3:7a:a0(director-2) mtu=1438
-> xx.xx.xx.xx:6783 established sleeve de:89:d0:7d:b2:4e(director-3) mtu=1438
2. قم بإعادة تشغيل النسج على الأجهزة الافتراضية المعنية.
#docker restart weave
3. تحقق مما إذا كانت حالة اتصال النسج قد انتقلت إلى fastdp الحالة وتم نقل VM المتأثر إلى CONNECTED الحالة.
4. إذا كانت أجهزة VM لا تزال عالقة في JOINING الحالة، فعليك إعادة تمهيد تشغيل أجهزة VM التي تؤثر عليها.
#sudo reboot now or #init 6
5. تحقق الآن مما إذا كان الجهاز الظاهري المتأثر قد انتقل إلى CONNECTED الحالة.
admin@orchestrator[master-1]# show docker engine
Fri Jul 14 09:36:18.635 UTC+00:00
MISSED
ID STATUS PINGS
----------------------------------
control-1 CONNECTED 0
control-2 CONNECTED 0
director-1 CONNECTED 0
director-2 CONNECTED 0
director-3 CONNECTED 0
director-4 CONNECTED 0
distributor-1 CONNECTED 0
distributor-2 CONNECTED 0
distributor-3 CONNECTED 0
distributor-4 CONNECTED 0
master-1 CONNECTED 0
worker-1 CONNECTED 0
worker-2 CONNECTED 0
worker-3 CONNECTED 0
admin@orchestrator[master-1]#
6. تحقق مما إذا كان vPAS يبدأ بتغذية حركة المرور وجميع الحاويات قيد التشغيل (خاصة نقطة النهاية للقطر)، ثم قم بإعادة تشغيل orchestrator-backup-a الحاوية في DRC01 VM.
#docker restart orchestrator-backup-a
7. والآن، تحقق مما إذا كانت VPAS قد بدأت في معالجة حركة المرور.
الاقتراب 2.
في حالة استنفاد مساحة القرص الخاصة ب VM.
1. التعرف على الدليل الذي يستهلك مساحة كبيرة على القرص.
root@control-2:/var/lib/docker/overlay2#du -ah / --exclude=/proc | sort -r -h | head -n 10
176G 9dfd1bf36282c4e707a3858beba91bfaa383c78b5b9eb3acf0e58f335126d9b7
2. إجراء تصويب للملفات/السجلات/عمليات الإغراق التي تستهلك مساحة كبيرة على القرص.
root@control-2:/var/lib/docker/overlay2/9dfd1bf36282c4e707a3858beba91bfaa383c78b5b9eb3acf0e58f335126d9b7/diff# ls -lrtha | grep G
total 88G
-rw------- 1 root root 1.1G Jul 12 18:10 core.22781
-rw------- 1 root root 1.2G Jul 12 18:12 core.24213
-rw------- 1 root root 1.2G Jul 12 18:12 core.24606
-rw------- 1 root root 1.1G Jul 12 18:12 core.24746
-rw------- 1 root root 1.1G Jul 12 18:13 core.25398
3. التعرف على الحاويات التي يتم تشغيلها على الجهاز الظاهري المتأثر (خاصة الحاويات غير الصحية).
admin@orchestrator[master-1]# show docker service | exclude HEALTHY
Fri Jul 14 09:37:20.325 UTC+00:00
PENALTY
MODULE INSTANCE NAME VERSION ENGINE CONTAINER ID STATE BOX MESSAGE
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
cc-monitor 103 cc-monitor 22.1.1-release control-2 cc-monitor-s103 STARTED true Pending health check
mongo-node 103 mongo-monitor 22.1.1-release control-2 mongo-monitor-s103 STARTED true Pending health check
mongo-status 103 mongo-status 22.1.1-release control-2 mongo-status-s103 STARTED false -
policy-builder 103 policy-builder 22.1.1-release control-2 policy-builder-s103 STARTED true Pending health check
prometheus 103 prometheus-hi-res 22.1.1-release control-2 prometheus-hi-res-s103 STARTED true Pending health check
prometheus 103 prometheus-planning 22.1.1-release control-2 prometheus-planning-s103 STARTED false -
admin@orchestrator[master-1]#
4. حدد الحاوية التي تقوم بتشغيل ملفات أساسية كبيرة الحجم، للقيام بذلك، قم بفحص كل حاوية مستضافة على الجهاز الظاهري المتأثر، واحدا تلو الآخر.
Sample output for container "cc-monitor-s103":
root@control-2:/var/lib/docker/overlay2/9dfd1bf36282c4e707a3858beba91bfaa383c78b5b9eb3acf0e58f335126d9b7/merged# docker inspect cc-monitor-s103| grep /var/lib/docker/overlay2/| grep merged
"MergedDir": "/var/lib/docker/overlay2/9dfd1bf36282c4e707a3858beba91bfaa383c78b5b9eb3acf0e58f335126d9b7/merged",
root@control-2:/var/lib/docker/overlay2/9dfd1bf36282c4e707a3858beba91bfaa383c78b5b9eb3acf0e58f335126d9b7/merged#
5. تحقق مما إذا كان لديك حق الوصول إلى ذلك الحاوية المحددة أم لا.
#admin@orchestrator[master-0]# docker connect cc-monitor-s103
6. إذا تعذر عليك الوصول إلى جهاز الاتصال هذا، فقم بإزالة الملفات الأساسية الضخمة لتحرير بعض المساحة.
root@control-2:/var/lib/docker/overlay2/9dfd1bf36282c4e707a3858beba91bfaa383c78b5b9eb3acf0e58f335126d9b7/diff# rm -rf core*
7. تسجيل الدخول إلى الحاوية المتأثرة من الجهاز الظاهري المتأثر.
#docker exec -it cc-monitor-s103 bash
8. قم بإعادة تشغيل app العملية في الحاوية لإيقاف إنشاء ملفات أساسية كبيرة الحجم.
root@cc-monitor-s103:/# supervisorctl status
app STARTING
app-logging-status RUNNING pid 30, uptime 21 days, 23:02:17
consul RUNNING pid 26, uptime 21 days, 23:02:17
consul-template RUNNING pid 27, uptime 21 days, 23:02:17
haproxy RUNNING pid 25, uptime 21 days, 23:02:17
root@cc-monitor-s103:/#
root@cc-monitor-s103:/# date; supervisorctl restart app
Fri Jul 14 09:08:38 UTC 2023
app: stopped
app: started
root@cc-monitor-s103:/#
root@cc-monitor-s103:/# supervisorctl status
app RUNNING pid 26569, uptime 0:00:01
app-logging-status RUNNING pid 30, uptime 21 days, 23:02:44
consul RUNNING pid 26, uptime 21 days, 23:02:44
consul-template RUNNING pid 27, uptime 21 days, 23:02:44
haproxy RUNNING pid 25, uptime 21 days, 23:02:44
root@cc-monitor-s103:/#
9. إذا كانت الخطوة 8. لا تساعد في إيقاف إنشاء الملفات الأساسية المجمعة، قم بإعادة تشغيل الحاوية المتأثرة.
#docker restart cc-monitor-s103
10. تحقق مما إذا كان إنشاء الملف الأساسي المجمع قد توقف.
11. لإعادة VM المتأثر إلى الحالة المتصلة، قم بتسجيل الدخول إلى orchestrator الحاوية وقم بإعادة orchestration-engine التشغيل.
cps@master-1:~$ date; docker exec -it orchestrator bash
Fri Jul 14 09:26:12 UTC 2023
root@orchestrator:/#
root@orchestrator:/# supervisorctl status
confd RUNNING pid 20, uptime 153 days, 23:33:33
consul RUNNING pid 19, uptime 153 days, 23:33:33
consul-template RUNNING pid 26, uptime 153 days, 23:33:33
haproxy RUNNING pid 17, uptime 153 days, 23:33:33
mongo RUNNING pid 22, uptime 153 days, 23:33:33
monitor-elastic-server RUNNING pid 55, uptime 153 days, 23:33:33
monitor-log-forward RUNNING pid 48, uptime 153 days, 23:33:33
orchestration-engine RUNNING pid 34, uptime 153 days, 23:33:33
orchestrator_back_up RUNNING pid 60, uptime 153 days, 23:33:33
remove-duplicate-containers RUNNING pid 21, uptime 153 days, 23:33:33
rolling-restart-mongo RUNNING pid 18, uptime 153 days, 23:33:33
simplehttp RUNNING pid 31, uptime 153 days, 23:33:33
root@orchestrator:/#
root@orchestrator:/# date; supervisorctl restart orchestration-engine
Fri Jul 14 09:26:39 UTC 2023
orchestration-engine: stopped
orchestration-engine: started
root@orchestrator:/#
12. إذا لم تساعد الخطوة 11. في إستعادة الجهاز الظاهري، انتقل لإعادة تشغيل المحرك-poxy في الجهاز الظاهري المتأثر.
cps@control-2:~$ docker ps | grep engine
0b778fae2616 engine-proxy:latest "/w/w /usr/local/bin…" 5 months ago Up 3 weeks engine-proxy-ddd7e7ec4a70859b53b24f3926ce6f01
cps@control-2:~$ docker restart engine-proxy-ddd7e7ec4a70859b53b24f3926ce6f01
engine-proxy-ddd7e7ec4a70859b53b24f3926ce6f01
cps@control-2:~$
cps@control-2:~$ docker ps | grep engine
0b778fae2616 engine-proxy:latest "/w/w /usr/local/bin…" 5 months ago Up 6 seconds engine-proxy-ddd7e7ec4a70859b53b24f3926ce6f01
cps@control-2:~$
13. والآن، تحقق مما إذا كان الجهاز الظاهري المتأثر قد انتقل إلى CONNECTED الحالة.
admin@orchestrator[master-1]# show docker engine
Fri Jul 14 09:36:18.635 UTC+00:00
ID STATUS MISSED PINGS
----------------------------------
control-1 CONNECTED 0
control-2 CONNECTED 0
director-1 CONNECTED 0
director-2 CONNECTED 0
director-3 CONNECTED 0
director-4 CONNECTED 0
distributor-1 CONNECTED 0
distributor-2 CONNECTED 0
distributor-3 CONNECTED 0
distributor-4 CONNECTED 0
master-1 CONNECTED 0
worker-1 CONNECTED 0
worker-2 CONNECTED 0
worker-3 CONNECTED 0
admin@orchestrator[master-1]#