การตั้งค่า Interface eth0 ให้เป็น full duplex ของ SUSE Linux

128

SUSE LINUX

เนื่องจากปัจจุบันมีการหันมาใช้ linux ที่เป็น opensource กันมากขึ้น เมื่อมีการนำมาใช้งาน ย่อมเกิดปัญหาตามมาเป็นเรื่องปกติ สิ่งหนึ่งที่เราจะเจอกันก็คือ  Network ทำไมช้า หรือ ติดต่อกับ Switch ไม่ได้ หรือติดต่อได้บ้างไม่ได้บ้าง ปัญหาเกิดจากความที่ Driver ของ Ethernet Card ไม่เข้ากันกับ Switch แบบ 100% ซึ่งอาจเป็นไปได้ซึ่งถ้าใช้ Mode ที่มันรู้จักกันเอง บางที่ทาง Host จะถูก Set เป็น  half duplex ส่วนทาง switch เองถูก set เป็น Full duplex ปัญหาที่เกิดคือจะทำงานช้าบ้างเร็วบ้าง ซึ่งมันก็เกิดกับ Eth0 หรือ ethXX แล้วแต่ว่ามี network กี่ใบ เรามาดูกันครับ

ปัญหา

เนื่องจากมี servers มาติดตั้งใหม่ใน data center แล้วพบว่าเกิดอาการเมื่อมีการ access เข้าไปทำงานที่ server ที่ติดตั้ง SUSE Linux เอาใว้ ทำงานช้าบ้างไวบ้าง เป็นบางจังหวะ ที่สังเกตุง่ายๆคือการ transfer file ใช้งาน พวก sftp จะสะดุด  เป็นอยู่อย่างนี้หลายเดือน ไม่สามารถเปิดให้ใช้งานได้ เพราะไม่เสถียรภาพพอ ถ้าให้ใช้งานมีหวังลูกค้าต่อว่าเป็นแน่

แนวทางแก้ไข

เนื่องจากเมือดูจาก network configuration แล้วจะพบว่า duplex ที่ตั้งค่าไว้ระหว่าง network switch กับ SUSE server ได้ค่าเป็น 1000 half duplex ผมเลยต้องใช้ command ของ Unix เข้าไปจัดการดังนี้

#vi /etc/sysconfig/network/scripts/settings-eth0
----
#!/bin/bash
ETHTOOL=`which ethtool`
if [ -x ${ETHTOOL} ]; then
    ${ETHTOOL} -s eth0 autoneg off speed 100 duplex full
else
    echo "Error: ethtool not found"
fi

สรุปปัญหา

เกิดจาก Driver ไม่เข้ากัน ก็ทำการปรับแต่งเองโดยทำให้ Fix เลย

Facebook Comments