วิธีตีความข้อมูล smartctl (smartmon)


20

เรามีเซิร์ฟเวอร์ linux ที่ใช้งานหนักเป็นเวลา 3 ปี เรากำลังเรียกใช้เซิร์ฟเวอร์เสมือนจริงจำนวนหนึ่งบนเซิร์ฟเวอร์บางตัวที่ไม่ได้ทำงานได้ดีและในช่วงเวลาหนึ่งความจุของเซิร์ฟเวอร์ io นั้นสูงเกินกว่าที่จะนำไปสู่ ​​iowait ที่ไม่ดี มีไดรฟ์ SATA แบบ Barracuda ขนาด 4 500GB เชื่อมต่อกับคอนโทรลเลอร์การโจมตี 3com 1 Drive มีระบบปฏิบัติการและอีก 3 ตัวติดตั้ง raid-5

ตอนนี้เรามีการถกเถียงเกี่ยวกับสภาพของไดรฟ์และไม่ว่าพวกเขาจะล้มเหลวอย่างแข็งขัน

นี่คือส่วนหนึ่งของเอาต์พุตสำหรับ 1 ใน 4 ดิสก์ พวกเขาทั้งหมดมีสถิติที่ค่อนข้างคล้ายกัน:

คุณสมบัติการแก้ไขโครงสร้างข้อมูล SMART จำนวน: 10
แอตทริบิวต์ SMART เฉพาะของผู้ขายพร้อมเกณฑ์:
ID # ATTRIBUTE_NAME กำหนดค่าเป็น FLAG ที่เลวร้ายที่สุด THRESH ประเภทปรับปรุง WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate 0x000f 118 099 006 Pre-Fail เสมอ - 169074425
  3 Spin_Up_Time 0x0003 095 092 000 Pre-Fail เสมอ - 0
  4 Start_Stop_Count 0x0032 100 100 020 Old_age เสมอ - 26
  5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-ล้มเหลวเสมอ - 0
  7 Seek_Error_Rate 0x000f 077 060 030 Pre-Fail เสมอ - 200009354607
  9 Power_On_Hours 0x0032 069 069 000 Old_age เสมอ - 27856
 10 Spin_Retry_Count 0x0013 100 100 097 Pre-Fail เสมอ - 1
 12 Power_Cycle_Count 0x0032 100 100 020 Old_age เสมอ - 26
184 ไม่รู้จัก _ แอตทริบิวต์ 0x0032 100 100 099 Old_age เสมอ - 0
187 Reported_ แก้ไขข้อผิดพลาด 0x0032 100 100 000 Old_age เสมอ - 0
188 Unknown_Attribute 0x0032 100 100 000 Old_age เสมอ - 1
189 High_Fly_Writes 0x003a 100 100 000 Old_age เสมอ - 0
190 Airflow_Temperature_Cel 0x0022 071 060 045 Old_age เสมอ - 29 (อายุการใช้งานต่ำสุด / สูงสุด 26/37)
194 Temperature_Celsius 0x0022 029 040 000 Old_age เสมอ - 29 (0 21 0 0)
195 Hardware_ECC_Recovered 0x001a 046 033 000 Old_age เสมอ - 169074425
197 ปัจจุบัน_Pending_Sector 0x0012 100 100 000 Old_age เสมอ - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age ออฟไลน์ - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age เสมอ - 0

รุ่น SMART Error Log: 1
ไม่มีข้อผิดพลาดเข้าสู่ระบบ

การตีความของฉันเกี่ยวกับเรื่องนี้คือเราไม่ได้มีเซ็กเตอร์ที่ไม่ดีหรือสิ่งบ่งชี้อื่น ๆ ว่าไดรฟ์ใด ๆ ล้มเหลวอย่างแข็งขัน

อย่างไรก็ตาม Raw_Read_Error_Rate และ Seek_Error_Rate ที่สูงนั้นกำลังถูกชี้ไปเพื่อบ่งชี้ว่าไดรฟ์กำลังจะตาย


1
มีคำอธิบายที่ดีที่นี่ (นานเกินกว่าที่จะโพสต์ใหม่, โปรดไปที่ลิงก์): lime-technology.com/wiki/Understanding_SMART_Reportsในกรณีที่ลิงค์ดับลงราคาที่สำคัญบางคำ: "นี่เป็นตัวบ่งชี้อัตราปัจจุบันของข้อผิดพลาดของ การดำเนินการอ่านเซกเตอร์กายภาพระดับต่ำในการดำเนินการปกติมีข้อผิดพลาดจำนวนเล็กน้อยอยู่เสมอ [... ] ไม่มีปัญหากับไดรฟ์ " และ "โปรดอย่าสนใจหมายเลข RAW_VALUE อย่างสมบูรณ์! มีเพียง Seagates เท่านั้นที่รายงานมูลค่าดิบซึ่งใช่ดูเหมือนว่าจะเป็นจำนวนข้อผิดพลาดในการอ่านข้อมูลดิบ แต่ควรละเว้นอย่างสมบูรณ์"
Konrad Gajewski

คำตอบ:


7

จากประสบการณ์ของผมซีเกทมีตัวเลขแปลก ๆ สำหรับแอตทริบิวต์สมาร์ทสองตัวนั้น เมื่อวินิจฉัย Seagate ฉันมักจะเพิกเฉยต่อสิ่งเหล่านี้และมองอย่างใกล้ชิดในสาขาอื่น ๆ เช่น Count Sector ที่จัดสรรใหม่ แน่นอนเมื่อมีข้อสงสัยจะเปลี่ยนไดรฟ์ แต่ Seagates ใหม่เอี่ยมจะมีตัวเลขสูงสำหรับคุณลักษณะเหล่านั้น


58

สำหรับดิสก์ของ Seagate (และอาจเป็นของเก่าจาก WD เช่นกัน) Seek_Error_Rate และ Raw_Read_Error_Rate เป็นหมายเลข 48 บิตโดยที่ 16 บิตที่สำคัญที่สุดคือจำนวนข้อผิดพลาดและ 32 บิตต่ำเป็นจำนวนของการดำเนินการ

% python
>>> 200009354607 & 0xFFFFFFFF
2440858991
>>> (200009354607 & 0xFFFF00000000) >> 32
46

ดังนั้นดิสก์ของคุณทำงาน 2440858991 ค้นหาซึ่ง 46 ล้มเหลว ประสบการณ์ของฉันกับไดรฟ์ Seagate คือพวกเขามักจะล้มเหลวเมื่อจำนวนข้อผิดพลาดเกิน 1,000 YMMV


7
ด้วยเหตุนี้ฉันหวังว่าฉันจะได้ข้อมูลนั้นเมื่อฉันโพสต์คำถามเดิม
gview

1
มันมีประโยชน์มาก ช่วยฉันจากความตื่นตระหนก
Halsafar

ใครสามารถให้ลิงก์ใด ๆ เพื่อยืนยันว่าพวกเขาเป็นหมายเลข 48 บิตด้วยการแยกนี้? ฉันต้องการยืนยันหมายเลขนี้
iuridiniz

9

"อัตราการค้นหาข้อผิดพลาด" และ "อัตราข้อผิดพลาดในการอ่านข้อมูลดิบ" RAW_VALUES นั้นไม่มีความหมายสำหรับทุกคนยกเว้นการสนับสนุนของ Seagate ตามที่คนอื่น ๆ ชี้ให้เห็นค่าที่แท้จริงของพารามิเตอร์เช่น "การนับส่วนที่ถูกจัดสรรใหม่" หรือรายการในบันทึกข้อผิดพลาดของไดรฟ์มีแนวโน้มที่จะบ่งชี้ความน่าจะเป็นที่สูงขึ้นของความล้มเหลว

แต่คุณสามารถดูข้อมูลที่ถูกตีความในคอลัมน์ VALUE, WORST และ THRESH ซึ่งมีความหมายที่จะอ่านเป็นมาตรวัด:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH
  7 Seek_Error_Rate         0x000f   077   060   030

หมายความว่าขณะนี้อัตราการค้นหาข้อผิดพลาดของคุณถือว่าเป็น "77% ดี" และมีรายงานว่าเป็นปัญหาโดย SMART เมื่อถึง "30% ดี" มันต่ำถึง "60% ดี" หนึ่งครั้ง แต่ได้หายไปอย่างน่าอัศจรรย์ตั้งแต่นั้นมา โปรดทราบว่าค่าที่ตีความจะถูกคำนวณโดยตรรกะ SMART ของไดรฟ์ภายในและการคำนวณที่แน่นอนอาจหรือไม่อาจเผยแพร่โดยผู้ผลิตและโดยทั่วไปจะไม่สามารถปรับแต่งโดยผู้ใช้

โดยส่วนตัวฉันพิจารณาไดรฟ์ที่มีรายการบันทึกข้อผิดพลาดว่า "ล้มเหลว" และกระตุ้นให้เปลี่ยนทันทีที่เกิดขึ้น แต่ในทุกข้อมูลสมาร์ทได้เปิดออกมาจะเป็นตัวบ่งชี้ที่ค่อนข้างอ่อนแอในการทำนายความล้มเหลวเป็นงานวิจัยที่ตีพิมพ์โดย Googleเปิด


4

ฉันรู้ว่าการสนทนานี้ค่อนข้างเก่า แต่ต้องการเพิ่ม 2 เซนต์ของฉัน ฉันพบว่าข้อมูลอัจฉริยะเป็นตัวบ่งชี้ที่ดีของการล้มเหลว เมื่อคุณได้รับขีด จำกัด สมาร์ทที่สะดุดแล้วเปลี่ยนไดรฟ์ นั่นคือสิ่งที่เกณฑ์เหล่านี้มีไว้สำหรับ

เวลาส่วนใหญ่คุณจะเริ่มเห็นภาคที่ไม่ดี นั่นคือสัญญาณว่าไดรฟ์เริ่มล้มเหลว สมาร์ทช่วยฉันหลายครั้ง ฉันใช้ซอฟต์แวร์ RAID 1 และมันมีประโยชน์มากเพราะคุณเพียงแค่แทนที่ไดรฟ์ที่ล้มเหลวและสร้างอาร์เรย์ขึ้นใหม่

ฉันยังทำการทดสอบตัวเองระยะสั้นและระยะยาวทุกสัปดาห์

smartctl -t short /dev/sda
smartctl -t long /dev/sda 

หรือเพิ่ม /etc/smartd.conf และส่งอีเมลถึงคุณหากมีข้อผิดพลาด

/dev/sda -s L/../../3/22 -I 194 -m someemail@somedomain
/dev/sdb -s L/../../7/22 -I 194 -m someemail@somedomain

อย่าลืมติดตั้ง logwatch และเปลี่ยนเส้นทางไปยังที่อยู่อีเมลและตรวจสอบอีเมลรายวันจาก logwatch ธงที่มีสถานะสะดุดของ SMARTD จะปรากฏขึ้นที่นั่น แต่ก็ไม่มีประโยชน์หากไม่มีใครเฝ้าดูอยู่เป็นประจำ


1

ใช่เขตข้อมูลเหล่านั้นดูไม่ดี แต่ฉันไม่เชื่อถือ (อีกต่อไป) ข้อมูลที่รายงานโดยสมาร์ท (เครื่องทดสอบของฉันมีไดรฟ์ที่น่าจะตายไปนานแล้วถ้าคุณอ่านข้อมูลด้วย smartctrl) ข้อเท็จจริงคือคุณได้รายงานแล้ว iowait สูงและไดรฟ์มีอายุ 3 ปี นี่น่าจะเพียงพอสำหรับคุณที่จะเปลี่ยนไดรฟ์


1
ด้วยเหตุผลหลายประการเราจำเป็นต้องเพิ่มการลงทุนด้านฮาร์ดแวร์ให้สูงสุด iowait เกี่ยวข้องกับภาระที่ไร้สาระเช่นเดียวกับข้อผิดพลาดในการกำหนดค่าบางอย่างที่เราทำเมื่อติดตั้งกล่อง
gview

0

ขออภัยในความมุ่งมั่นของโพสต์นี้ แต่จากประสบการณ์ของฉันฟิลด์ "อัตราการอ่านผิดพลาด" และ "การกู้คืนฮาร์ดแวร์ ECC" สำหรับไดรฟ์ซีเกทจะไปทั่วสถานที่จริง ๆและเพิ่มขึ้นเรื่อย ๆ ในช่วงล้านล้านจุด จะวนรอบเป็นศูนย์เพื่อดำเนินการกระบวนการต่อไปอีกครั้ง ฉันเป็น Seagate รุ่น ST9750420AS ที่มีปัญหานั้นมาตั้งแต่วันแรกและยังใช้งานได้ดีแม้หลังจากผ่านไปไม่กี่ปีและใช้งานได้นานกว่า 3,500 ชั่วโมง

ฉันคิดว่าเขตข้อมูลเหล่านั้นสามารถเพิกเฉยได้อย่างปลอดภัยหากคุณใช้งานในกรณีของคุณ เพียงตรวจสอบให้แน่ใจว่าทั้งสองฟิลด์กำลังรายงานหมายเลขเดียวกันและซิงค์อย่างต่อเนื่อง หากพวกเขาไม่ดี ... จริง ๆ นั่นอาจหมายถึงปัญหา


0

ในการคำนวณคำตอบนี้โดยอัตโนมัติให้ใช้เครื่องคำนวณจาวาสคริปต์ออนไลน์:

https://yksi.ml/

สิ่งนี้จะบอกคุณ:

  • จำนวนการดำเนินการทั้งหมด
  • จำนวนการดำเนินการล้มเหลว

เครื่องคิดเลขใช้ได้สำหรับของ Seagate:

  • ขออัตราความผิดพลาด
  • อัตราการอ่านผิดพลาดแบบ Raw
  • กู้คืนฮาร์ดแวร์ ECC แล้ว

สำหรับการอ่านเพิ่มเติมเกี่ยวกับการคำนวณของปกติ (ระหว่าง 0 และ 100 ค่า) ให้ดูที่บทความนี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.