ข้อผิดพลาดบิตเดียวบนอุปกรณ์ RAID?


6

เป็นครั้งแรกที่ฉันเป็นเจ้าของ PC (30 ปี) ฉันพบข้อผิดพลาดดิสก์แบบบิตเดียว ในอาเรย์ RAID ลำดับเหตุการณ์คือ

  1. อัปโหลดกลุ่มภาพดิจิทัล (ไฟล์ Camera Raw) จากการ์ด CF
  2. ทำการแก้ไขบางอย่างใน Lightroom (ซึ่งไม่ปรับปรุงไฟล์ต้นฉบับ)
  3. สำรองข้อมูลทุกอย่างไปยังดิสก์เก็บถาวรภายนอก (ใช้ Retrospect)
    ... เวลาผ่านไป (ประมาณ 1 สัปดาห์) ...
  4. เปิดไฟล์อีกครั้งใน Lightroom - มันเสียหาย (รอยเปื้อนสีม่วงแดงขนาดใหญ่)
  5. กู้คืนสำเนาจากดิสก์เก็บถาวร - สำเนาที่กู้คืนไม่เสียหาย
  6. เปรียบเทียบสองไฟล์ มีความแตกต่างเพียงบิตเดียว ... ไบต์ที่ แต่เดิม 0x34 คือ 0xB4

อุปกรณ์ออนไลน์คือไดรฟ์ 2TB ใน RAID-1 บน ฮาร์ดแวร์ การ์ด RAID (3WARE 9560SE-4LPML)

เมื่อพิจารณาตามลำดับข้างต้นข้อผิดพลาดจะถูกนำมาใช้อย่างชัดเจนในบางครั้งหลังจากขั้นตอนที่ 3 เนื่องจากสำเนาที่เก็บถาวรไม่เสียหายดังนั้นจึงไม่เกิดขึ้นในระหว่างการเขียนต้นฉบับ ไฟล์ดังกล่าวเป็นไฟล์ raw ของ Canon CR2 และ Lightroom ไม่เคยอัปเดตไฟล์ RAW ดั้งเดิมพวกเขาจะถูกพิจารณาว่าเป็น "เชิงลบดิจิทัล" และไม่เคยอัปเดต แต่จะบันทึกการแก้ไขทั้งหมดเป็นไฟล์ XMP sidecar ที่มีลำดับการแก้ไขที่ใช้ วันที่ / เวลาของไฟล์จะไม่ได้รับการแก้ไขจากต้นฉบับ

เห็นได้ชัดว่าข้อผิดพลาดบิตเกิดขึ้นอย่างชัดเจนและเผยแพร่โดยฮาร์ดแวร์ RAID โดยไม่มีการเตือน ฉันได้ตรวจสอบบันทึกข้อผิดพลาดของ RAID และไม่มีอะไรสำคัญในช่วง 18 เดือนที่ผ่านมา

เพื่อสรุป:

  1. แต่เดิมข้อมูลถูกเขียนอย่างถูกต้อง
  2. มันถูกอ่านอย่างถูกต้องเมื่อมันถูกคัดลอกไปยังการสำรองข้อมูล
  3. บางครั้งหลังจากนั้นบิตก็พลิก บนดิสก์ (เนื่องจากไม่มีการเขียนไฟล์ใหม่)
  4. ฮาร์ดแวร์ RAID ถูกตั้งค่าให้เรียกใช้ "ยืนยัน" สัปดาห์ละครั้ง ไม่พบข้อผิดพลาด

นั่นเป็นเพียงนอกลู่นอกทาง ฉันคาดว่าจะมีข้อผิดพลาดที่ไม่ถูกต้องในบันทึกฮาร์ดแวร์ RAID

นอกจากนี้ฉันสามารถแยกแยะดิสก์ที่ล้มเหลวได้เนื่องจากข้อมูล SMART บนไดรฟ์ทั้งสองแสดง ศูนย์ สำหรับคุณลักษณะข้อผิดพลาดที่เกี่ยวข้องทั้งหมด:

196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       0

และทุกสิ่งทุกอย่างก็มีน้อยเช่นกัน

ทุกคนมีสถานการณ์ที่จะเกิดขึ้น ตรวจไม่พบ ?


สิ่งที่ดีที่คุณมีการสำรองข้อมูลจริงไม่ใช่เพียงแค่มิรเรอร์ฮาร์ดแวร์ (การสำรองข้อมูล) Raid1 ที่สะท้อนข้อมูลแบบสุ่มนั้นดูเหมือนจะไม่แปลกอะไรเลย แม้ว่าคนที่มีไวรัสระบาดกระจกควรจะทำอย่างไร? นั่นทำให้คุณมีข้อผิดพลาดเพียงเล็กน้อยในขณะที่คุณนั่งอยู่ที่นั่นบนแผ่นดิสก์ มันเกิดขึ้นบ่อยครั้งกว่าว่ามีข้อผิดพลาดของ ram เนื่องจากวิธีการตั้งค่า ram เวลาและการระบายความร้อนและทั้งหมดจากนั้นข้อผิดพลาดนั้นจะถูกเก็บไว้
Psycogeek

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

@ExUmbris หากยังคงมีอยู่: สถานการณ์หนึ่งที่ฉันสามารถจินตนาการได้อาจเป็นแรมแบบสุ่ม (หรือมีแนวโน้มมากขึ้นที่คอนโทรลเลอร์ RAID ตามคำอธิบายของคุณ) จะพลิกการเขียนในขั้นตอนที่ 1 แต่คุณกำลังทำงานกับสำเนาแคชที่ดีในขั้นตอนที่ 2 และ 3 แม้จะมีสำเนาที่เสียหายอยู่ในดิสก์ หนึ่งสัปดาห์ต่อมาเมื่อคุณเข้าถึงข้อมูลอีกครั้งแน่นอนว่าคุณอ่านมันอีกครั้งจากดิสก์และจบลงด้วยข้อมูลที่เสียหายซึ่งเขียนขึ้นในตอนแรก สิ่งนี้ทำให้มีการตั้งสมมติฐานมากมายและอาศัยความโชคร้ายเล็กน้อย แต่ทั้งหมดนี้ฉันคิดได้จริงๆ
Jason C

@JasonC อืม .... ดูเหมือนว่ามันจะเป็นไปได้จริง ฉันยังมีทั้งสองชุดอยู่ดังนั้นฉันจะลองรีบูตเครื่องใหม่เพื่อให้แน่ใจว่าได้ล้างแคชและตัวควบคุม RAID
Ex Umbris

2
@ JasonC คุณถูกต้อง หลังจากรีบูตเครื่องเต็มแล้วไฟล์จะไม่เสียหายอีกต่อไปดังนั้นปัญหาต้องอยู่ในดิสก์หรือแคชคอนโทรลเลอร์ RAID ดูเหมือนว่าไฟล์บนดิสก์นั้นใช้ได้ หากคุณโพสต์สิ่งนี้เป็นคำตอบฉันจะยอมรับมัน
Ex Umbris

คำตอบ:


2

ความเป็นไปได้อย่างหนึ่งคือการสุ่มพลิกบิตใน RAM หรือตัวควบคุมในการอ่านในขั้นตอนที่ 4 หากข้อมูลเสียหายเมื่ออ่านแล้วคุณจะเห็นมันในขั้นตอนที่ 4 ถ้าเป็นแคชที่คุณยังเห็นในขั้นตอนที่ 6 ไฟล์เนื่องจากข้อมูลแคชที่เสียหายอาจยังคงใช้อยู่

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

ความล้มเหลวสิ่งนี้ความเป็นไปได้ที่สองแม้ไม่มีความเป็นไปได้ก็อาจเป็นแรมแบบสุ่ม (หรือมีแนวโน้มมากขึ้นบนตัวควบคุม RAID ตามคำอธิบายของคุณ) การอ่านเขียนในขั้นตอนที่ 1 แต่คุณกำลังทำงานกับสำเนาแคชที่ดีในขั้นตอนที่ 2 และ 3 แม้จะมีสำเนาที่เสียหายอยู่ในดิสก์ หนึ่งสัปดาห์ต่อมาเมื่อคุณเข้าถึงข้อมูลอีกครั้งแน่นอนว่าคุณอ่านมันอีกครั้งจากดิสก์และจบลงด้วยข้อมูลที่เสียหายซึ่งเขียนขึ้นในตอนแรก สิ่งนี้ทำให้มีข้อสันนิษฐานมากมายและอาศัยความโชคร้ายเล็กน้อย หากเป็นกรณีนี้คุณจะต้องกู้คืนไฟล์ข้อมูลสำรองและดำเนินการต่อ

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


กรณีนี้เป็นปัญหาของ OP แทนที่จะเป็นไปได้ที่สอง


1
ความคิดเห็นดั้งเดิมของคุณแนะนำให้มีส่วนร่วมที่เป็นไปได้ของแคชและการรีบูต poweroff หลังจากนั้นไฟล์ไม่เสียหาย ดังนั้นปัญหาไม่เคยอยู่ในสำเนาของข้อมูลในแคชเท่านั้น อาจจะ บนคอนโทรลเลอร์ RAID แต่ฉันไม่สามารถแยกแยะข้อผิดพลาดในหน่วยความจำหลักได้เนื่องจากบล็อกไฟล์สามารถเก็บแคชไว้ได้สักพักเนื่องจากฉันมีหน่วยความจำ 12GB ในระบบ ขอบคุณที่ชี้นำฉันในทิศทางที่ถูกต้อง ฉันเดาว่าถึงเวลาเรียกใช้ memtest ข้ามคืน :-)
Ex Umbris

ดีใจที่ได้ผล 12GB เป็น RAM ที่มีความหนาแน่นสูงในระดับที่เหมาะสมลางสังหรณ์ของฉันเป็นนิวตรอนโชคร้ายในสถานที่ที่เหมาะสมและผิดเวลา แต่ memtest เป็นความคิดที่ดี
Jason C

3

ตรวจสอบหน่วยความจำของคุณ ระบบไฟล์เช่น zfs แนะนำหน่วยความจำ ecc (ตรวจสอบข้อผิดพลาดและแก้ไขหน่วยความจำ) เพื่อป้องกันปัญหาเช่นนี้

คอนโทรลเลอร์ควบคุมการโจมตีของคุณเพียงแค่เขียนข้อมูลที่ได้รับมา ไม่ได้ตรวจสอบว่าข้อมูลที่ได้รับนั้นถูกต้องเพียงแค่เขียนอย่างถูกต้อง

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

ฉันอยู่นอกเมืองในห้องขัง แต่ฉันสามารถอ้างอิงแหล่งข่าวได้ในวันจันทร์


1
เปลวสุริยะและเส้นใยสังกะสีมักเข้าสู่ข้อมูลของฉัน
Keltari

ฉันได้ปรับปรุงคำอธิบายดั้งเดิมของฉัน โปรดจำไว้ว่าข้อผิดพลาดเกิดขึ้นบนดิสก์ในบางจุดหลังจากทำการสำรองข้อมูลที่ดี ข้อผิดพลาด RAM ไม่เหมาะกับสถานการณ์จริงของฉัน
Ex Umbris

@Keltari การศึกษาเก่าของ IBM ประมาณการข้อผิดพลาด 1 บิตต่อเดือนต่อ 256MB RAM เนื่องจากการแผ่รังสีคอสมิค (ข้อผิดพลาด ~ 1 บิตต่อวันสำหรับ RAM 8GB) การแผ่รังสีแสงอาทิตย์เป็นสาเหตุส่วนใหญ่ของข้อผิดพลาดของหน่วยความจำ
Jason C

@ExUmbris จริงข้อผิดพลาด RAM จะพอดีกับคำอธิบาย มันเกิดขึ้นกับสำเนาหนึ่งของข้อมูล แต่ไม่ใช่อีกอย่าง? คอมพิวเตอร์เห็นข้อมูลว่าเขียนอะไรและคอนโทรลเลอร์ RAID และ ฮาร์ดไดรฟ์ไม่มีปัญหารายงานดังนั้นจึงมีความเป็นไปได้มากที่จะเขียนสิ่งที่ RAM บอกให้เขียน สองรุ่นที่แตกต่างกันสองอุปกรณ์ที่แตกต่างกันอย่างไร ใช่มันเป็นข้อผิดพลาดของหน่วยความจำ
Canadian Luke
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.