الرئيسية / لينكس / استكشاف مشاكل الأجهزة في Linux

استكشاف مشاكل الأجهزة في Linux

استكشاف مشاكل الأجهزة في Linux

 

قد يستغرق الأمر بعض الوقت لاستكشاف المشكلات المتعلقة بالأجهزة وحلها على Linux وحلها.

حتى مسؤولي النظم ذوي الخبرة العالية يقضون أحيانًا ساعات في العمل على حل التناقضات الغامضة في الأجهزة والبرامج.

أجهزة سريعة التشخيص والوحدات وبرامج التشغيل

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

يمكنك الحصول على معلومات مفصلة عن الجهاز باستخدام أوامر ls مثل lspci و lsblk و lscpu و lsscsi. على سبيل المثال ، فيما يلي

إخراج الأمر lsblk:

 

# lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  50G  0 disk
├─xvda1 202:1    0   1M  0 part
└─xvda2 202:2    0  50G  0 part /
xvdb    202:16   0  20G  0 disk
└─xvdb1 202:17   0  20G  0 part
إذا لم تكشف الأوامر ls عن أي أخطاء ، فاستخدم عمليات init (على سبيل المثال ، systemd)
لمعرفة كيفية عمل خادم Linux. systemd هي عملية التهيئة الأكثر شيوعًا لتمهيد مساحات المستخدم والتحكم في عمليات النظام المتعددة.

على سبيل المثال

هنا هو إخراج الأمر systemctl status:
# systemctl status
● bastion.f347.internal
State: running
Jobs: 0 queued
Failed: 0 units
Since: Wed 2018-11-28 01:29:05 UTC; 2 days ago
CGroup: /
├─1 /usr/lib/systemd/systemd –switched-root –system –deserialize 21
├─kubepods.slice
│ ├─kubepods-pod3881728a_f2af_11e8_af77_06af52f87498.slice
│ │ ├─docker-88b27385f4bae77bba834fbd60a61d19026bae13d18eb147783ae27819c34967.scope
│ │ │ └─23860 /opt/bridge/bin/bridge –public-dir=/opt/bridge/static –config=/var/console-config/console-c
│ │ └─docker-a4433f0d523c7e5bc772ee4db1861e4fa56c4e63a2d48f6bc831458c2ce9fd2d.scope
│ │   └─23639 /usr/bin/pod
….
يتيح لك Dmesg اكتشاف الأخطاء والتحذيرات في أحدث رسائل kernel. على سبيل المثال ، هنا هو إخراج dmesg | المزيد من الأوامر:
# dmesg | more
….
[ 1539.027419] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 1539.042726] IPv6: ADDRCONF(NETDEV_UP): veth61f37018: link is not ready
[ 1539.048706] IPv6: ADDRCONF(NETDEV_CHANGE): veth61f37018: link becomes ready
[ 1539.055034] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 1539.098550] device veth61f37018 entered promiscuous mode
[ 1541.450207] device veth61f37018 left promiscuous mode
[ 1542.493266] SELinux: mount invalid.  Same superblock, different security settings for (dev mqueue, type mqueue)
[ 9965.292788] SELinux: mount invalid.  Same superblock, different security settings for (dev mqueue, type mqueue)
[ 9965.449401] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 9965.462738] IPv6: ADDRCONF(NETDEV_UP): vetheacc333c: link is not ready
[ 9965.468942] IPv6: ADDRCONF(NETDEV_CHANGE): vetheacc333c: link becomes ready
يمكنك أيضًا الاطلاع على جميع سجلات نظام Linux في ملف / var / log / messages ، حيث ستجد الأخطاء المتعلقة بمشكلات محددة.
من المفيد مراقبة الرسائل عبر الأمر tail في الوقت الفعلي عند إجراء تعديلات على جهازك ، مثل تثبيت قرص إضافي أو إضافة واجهة شبكة Ethernet.
على سبيل المثال ، فيما يلي إخراج الأمر tail -f / var / log / messages:
# tail -f /var/log/messages
Dec  1 13:20:33 bastion dnsmasq[30201]: using nameserver 127.0.0.1#53 for domain in-addr.arpa
Dec  1 13:20:33 bastion dnsmasq[30201]: using nameserver 127.0.0.1#53 for domain cluster.local
Dec  1 13:21:03 bastion dnsmasq[30201]: setting upstream servers from DBus
Dec  1 13:21:03 bastion dnsmasq[30201]: using nameserver 192.199.0.2#53
Dec  1 13:21:03 bastion dnsmasq[30201]: using nameserver 127.0.0.1#53 for domain in-addr.arpa
Dec  1 13:21:03 bastion dnsmasq[30201]: using nameserver 127.0.0.1#53 for domain cluster.local
Dec  1 13:21:33 bastion dnsmasq[30201]: setting upstream servers from DBus
Dec  1 13:21:33 bastion dnsmasq[30201]: using nameserver 192.199.0.2#53
Dec  1 13:21:33 bastion dnsmasq[30201]: using nameserver 127.0.0.1#53 for domain in-addr.arpa
Dec  1 13:21:33 bastion dnsmasq[30201]: using nameserver 127.0.0.1#53 for domain cluster.local

تحليل وظائف الشبكات

قد يكون لديك مئات الآلاف من التطبيقات السحابية الأصلية لخدمة خدمات الأعمال في بيئة شبكات معقدة ؛ قد تشمل هذه المحاكاة الافتراضية ،
سحابة متعددة ، والسحابة المختلطة. هذا يعني أنه يجب عليك تحليل ما إذا كان اتصال الشبكة يعمل بشكل صحيح كجزء من استكشاف الأخطاء وإصلاحها.
تتضمن الأوامر المفيدة لمعرفة وظائف الشبكات في خادم Linux ip addr و traceroute و nslookup و dig و ping وغيرها. على سبيل المثال ، فيما يلي إخراج الأمر ip addr show:
# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
link/ether 06:af:52:f8:74:98 brd ff:ff:ff:ff:ff:ff
inet 192.199.0.169/24 brd 192.199.0.255 scope global noprefixroute dynamic eth0
valid_lft 3096sec preferred_lft 3096sec
inet6 fe80::4af:52ff:fef8:7498/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:67:fb:1a:a2 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:67ff:fefb:1aa2/64 scope link
valid_lft forever preferred_lft forever

شاهد أيضاً

كيفية تثبيت برنامج device driver على لينكس

كيفية تثبيت برنامج device driver على لينكس

كيفية تثبيت برنامج device driver على لينكس 1. واجهات المستخدم إذا كنت جديدًا على نظام …

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *