eth0 NIC लिंक कर्नेल लॉग में संदेश को दोहरा रहा है


14

मैंने कुछ दिनों पहले देखा है कि एक ही तरह के संदेश दोहराते हैं और मैं सकारात्मक रूप से कह सकता हूं कि उस अवधि में जानबूझकर कुछ भी नहीं बदला गया (स्थापित / अनइंस्टॉल किया गया)।

यहाँ /var/log/kern.log संदेश का नमूना :

Mar 30 06:32:45 aurora kernel: [566322.867110] e1000e: eth0 NIC Link is Down

Mar 30 06:32:47 aurora kernel: [566325.313634] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx

Mar 30 06:32:59 aurora kernel: [566337.632930] e1000e: eth0 NIC Link is Down

Mar 30 06:33:18 aurora kernel: [566356.543664] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None

Mar 30 11:05:47 aurora kernel: [582689.779752] e1000e: eth0 NIC Link is Down

Mar 30 11:05:50 aurora kernel: [582692.174337] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx

पूर्ण लॉग फ़ाइल से - जब सभी लॉग संदेश इस तरह की गिनती में लेते हैं - मैं निष्कर्ष निकाल सकता हूं:

  • eth0 हर कुछ घंटों में विफल रहता है
  • eth0 दो सेकंड के लिए पहले मामले में विफल रहता है और दूसरे में 19 सेकंड के लिए

यह प्रोडक्शन सर्वर है जिसकी मैं यहां बात कर रहा हूं।

इस समस्या को कैसे हल किया जाए, क्योंकि मेल सर्वर 19 सेकंड की अवधि के उत्पादन और नेटवर्क विफलताओं में है जो मैं बर्दाश्त नहीं कर सकता?


1
आपने अब तक क्या जाँच की है? क्या केबल ठीक से जुड़ी हुई है और अनचाही स्थिति में है? क्या दूसरे छोर पर स्विच भी नीचे जाने वाले लिंक का निरीक्षण करता है? वर्थ नोटिंग यह है कि अलग-अलग समय पर पता चला लिंक अलग है (प्रवाह नियंत्रण आपके लॉग में भिन्न होता है)। हो सकता है कि ऑटोनॉग्रेशन विफल हो जाए? यदि आप 1000Mbps FD Rx / Tx को लागू करते हैं तो समस्या दूर हो जाती है?
हाकन लिंडक्विस्ट

@ HåkanLindqvist मेरे पास केबल की जांच करने का विकल्प नहीं है, क्योंकि सर्वर शारीरिक रूप से मेरे पास नहीं है। क्या मुझे सर्वर फ़ार्म टेक सामान को जांचने के लिए कहना चाहिए? मैं 1000Mbps FD Rx / Tx कैसे लागू कर सकता हूं? और, प्रवाह नियंत्रण के बारे में अलग-अलग समय पर अलग होना, क्या यह मुद्दा है?
मिलो Milakonović

समय के साथ "लिंक" बदलने से मुझे पता चलता है कि कुछ काफी सही नहीं है, लेकिन वास्तविक कारण का पता लगाना पूरी तरह से एक अलग सवाल है। तकनीकी कर्मचारियों से पूछना एक अच्छा विचार हो सकता है।
हाकन लिंडक्विस्ट

1
आप सर्वर-अंत में ऑटो-वार्ता स्थिति आदि की जांच करने के लिए एथ्टूल या एमआईआई-टूल का उपयोग कर सकते हैं। आपको यह सुनिश्चित करने की आवश्यकता है कि आपका सर्वर स्विच मैच के लिए है। यह एक हार्डवेयर समस्या की तरह लगता है - सर्वर एडेप्टर, केबल या स्विच हो सकता है। मेरा सुझाव है कि स्विच की स्थिति को देखने के लिए देखें कि यह क्या सोचता है।
पॉल हेल्डेन

जवाबों:


10
  1. तार पर त्रुटियों की जांच करें, के आउटपुट में "त्रुटियों" फ़ील्ड को देखें ifconfig। यदि गैर-शून्य है तो हार्डवेयर (केबल, एनआईसी कार्ड, या हब / स्विच) के साथ समस्याएं हैं। एक अविश्वसनीय ईथरनेट केबल इस क्षेत्र में भी त्रुटि देगा।
  2. ईथरनेट केबल को बदलें, चरण 1 की परवाह किए बिना। यह त्वरित, सस्ता और आसान है, और यह तब भी किया जाना चाहिए जब आपका लिंक यादृच्छिक अंतराल पर ऊपर और नीचे जा रहा हो।
  3. उपयोग करें ethtoolऔर सुनिश्चित करें कि नेटवर्क सेटिंग्स (डुप्लेक्स, आदि) स्विच पर मेल खाते हैं। यदि आप स्विच के व्यवस्थापक नहीं हैं, तो नेटवर्क व्यवस्थापक से आपको सेटिंग प्रदान करने के लिए कहें।
  4. यदि स्विच में प्रवाह नियंत्रण सक्षम है, तो सुनिश्चित करें कि यह आपके लिनक्स बॉक्स पर सक्षम है। अन्यथा, इसे अक्षम करें।

एक साइड नोट के रूप में, आपको आकलन करना चाहिए कि क्या आपको प्रवाह नियंत्रण की आवश्यकता है। एचपी के अनुसार, यह केवल उच्च-प्रदर्शन अनुप्रयोगों के लिए आवश्यक है: एचपी के लेख को देखें जब फ्लो कंट्रोल का उपयोग करें


1
यह वायर की त्रुटियाँ थीं। सर्वर फ़ार्म टेक सामान काम करने के बाद मैंने त्रुटियों की सूचना दी है।
मिलोस Milakonović

1
'ifconfig' त्रुटी दिखा रहा था?
माइकल मार्टिनेज

1

यहाँ मेरा फिक्स है। यह समस्या विशिष्ट हार्डवेयर पर होती है (एनआईसी पर 2 पोर्ट में से केवल 1 मशीन पर), हमेशा e1000e ड्राइवर के साथ, कर्नेल 3.9 या तो। यह फ़ाइल सेंटोस 7 के लिए है, इसमें जाती है /etc/init.d/और इसके साथ सक्षम होना पड़ता है chkconfig --add <name>। इंटरफ़ेस नाम हार्डकोड किया गया है ... इसे सेट करना सुनिश्चित करें।

#!/bin/sh

### BEGIN INIT INFO
# Provides:          pm-e1000e-fix
# Required-Start:    $network
# Required-Stop:     $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 6
# Short-Description: workaround for e1000e issue
# Description:       e1000e fix
### END INIT INFO

################################################################################
# Give Usage Information                                                       #
################################################################################
usage() {
    echo "Usage: $0 start|restart" >&2
    exit 1
}

################################################################################
# E X E C U T I O N    B E G I N S   H E R E                                   #
################################################################################
command="$1"
shift

interface="eth0"

case "$command" in
    start)
        ethtool -K "$interface" gso off gro off tso off
        ;;
    restart)
        ethtool -K "$interface" gso off gro off tso off
        ;;
    *)
        usage
        ;;
esac
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.