Score:0

ผู้ใช้ btrfs มือใหม่: การตรวจสอบล้มเหลวและข้อผิดพลาดอินพุต/เอาต์พุตมากมาย

ธง nl

เพื่อนร่วมบ้านแนะนำให้ฉันใช้ btrfs แทนสิ่งที่ฉันทำมาจนถึงตอนนี้ ซึ่งใช้ mdadm กับไดรฟ์ที่โคลน และเพิ่มไดรฟ์พิเศษในอาร์เรย์เพื่อ "โคลน" การสำรองข้อมูล ระบบมีสามไดรฟ์ ทุกรุ่นแตกต่างกัน:

  • /dev/sda: TOSHIBA HDWQ140
  • /dev/sdb: HGST HUS724040AL
  • /dev/sdc: WDC WDS250G2B0B

ฉันได้ติดตั้ง btrfs แล้ว แต่ตอนนี้มันทำงานมาเกือบปีแล้ว และฉันพบว่าฉันควรจะมีงาน cron ทุกสัปดาห์เพื่อ "ขัด" มันฉันเริ่มพยายามตั้งค่าสคริปต์สำหรับสิ่งนี้ แม้ว่ามันจะดูเหมือนเป็นระบบ DIY ที่โง่เขลาที่คุณต้อง google สคริปต์ (ยอดฮิตที่ฉันพบคือจากปี 2014) และติดตั้งเพื่อให้ระบบไฟล์ของคุณทำงาน

ขณะที่ฉันกำลังดำเนินการทั้งหมดนี้ ฉันพบไฟล์บางไฟล์ที่จำเป็นต้องย้าย... ฉันจะข้ามรายละเอียดที่เต็มไปด้วยเลือด แต่การย้ายไฟล์จากระบบไฟล์ btrfs หนึ่งไปยังอีกระบบหนึ่งแล้วย้อนกลับมาสร้าง "อินพุต/เอาต์พุต" ทุกประเภท ข้อผิดพลาด" (ไม่เคยเห็นด้วย ext4) และแม้แต่อัญมณีนี้:

4 มกราคม 21:19:19 เคอร์เนลโฮสต์: [9771285.171522] พยายามเข้าถึงเกินจุดสิ้นสุดของอุปกรณ์
4 มกราคม 21:19:19 เคอร์เนลโฮสต์: [9771285.171522] sda1: rw=1, want=70370535518208, limit=7814035087
4 มกราคม 21:19:19 เคอร์เนลโฮสต์: [9771285.171529] ข้อผิดพลาด BTRFS (อุปกรณ์ sda1): bdev /dev/sda1 ข้อผิดพลาด: wr 1, rd 0, flush 0, เสียหาย 5, gen 0

ฉันถือว่าสิ่งเหล่านี้เกี่ยวข้องกัน แต่นี่คือสิ่งที่โง่จริง ฉันได้รับข้อผิดพลาด checksum ไม่ใช่แค่ในไฟล์ที่นั่งอยู่ประมาณหนึ่งปี แต่กับไฟล์ที่ฉันคัดลอกอย่างแท้จริงเมื่อไม่กี่ชั่วโมงก่อน ไปยังไดรฟ์ทางกายภาพอื่น. นอกจากนี้ เกือบทั้งหมดอยู่ในไฟล์ขนาดมหึมา (เช่น อิมเมจ DVD iso) หากนั่นเป็นข้อบ่งชี้ถึงสิ่งใด

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

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

คำถามที่จริงจังมาก:

  1. ข้อผิดพลาด checksum เหล่านี้เป็นเรื่องปกติและคาดหวังไว้หรือไม่?
  2. เหตุใดฉันจึงเห็นในไฟล์ที่คัดลอกเฉพาะวันนี้
  3. การขัดผิวเป็นประจำจะเพียงพอต่อการป้องกันสิ่งนี้หรือไม่?
  4. ฉันควรซื้อฮาร์ดไดร์ฟใหม่และโยนฮาร์ดไดร์ฟทั้งหมดที่อยู่ในเครื่องทิ้งไปเพราะใช้งานไม่ได้จริงหรือ?
  5. ยังไง ทำ คุณแนะนำให้สำรองไดรฟ์ข้อมูลขนาดหลายเทราไบต์หรือไม่

อัปเดต 2022-01-07: ฉันวิ่งแล้ว สมาร์ทคอนโทรล ในไดรฟ์ทั้งหมดและรายงานเหล่านี้ไม่มีปัญหาเลย Raw UDMA_CRC_Error_Count เป็น 0 สำหรับไดรฟ์ทั้งหมด พยายามกู้คืนไฟล์ที่เสียหาย... ไฟล์ tar ที่คัดลอกไปยังเครื่องล้มเหลวหลังจากไฟล์สองสามไฟล์มีข้อผิดพลาด I/O ไม่รู้จริงๆว่าเกิดอะไรขึ้นที่นี่:

  • หากไดรฟ์หรือสายเคเบิลไม่ดี สิ่งนี้จะแสดงใน SMART ใช่ไหม
  • ถ้าซีพียูหรือหน่วยความจำไม่ดี ระบบก็จะทำงานได้อย่างไม่มีที่ติ? (ปัจจุบันขึ้น 115 วันโดยไม่มีปัญหาชัดเจน)?
  • หากนี่เป็นบั๊กข้ามกระดานกับ btrfs มันจะไม่เกิดขึ้นทั่วอินเทอร์เน็ตเหรอ

ดังนั้นปัญหาที่แท้จริงอาจอยู่ที่ไหน

in flag
มีเหตุผลว่าทำไมการแจกแจงอย่างจริงจังทั้งหมดที่ลองใช้ btrfs จึงเมินเฉย มันไม่เสถียรพอที่จะใช้ในการผลิต
djdomi avatar
za flag
และบางคนชอบ ZFS และอื่น ๆ ไม่ใช่ ;)
in flag
เกี่ยวกับ: "คุณจะสำรองข้อมูล 4TB ได้อย่างไร": 4TB นั้นไม่มีอะไรเลย คุณได้รับสิ่งนั้นในพีซีสำหรับผู้บริโภคทั่วไปในปัจจุบัน คุณสำรองข้อมูลนั้นไปยังดิสก์ขนาด 4TB อื่น (หรือมากกว่านั้นใน RAID ที่ซ้ำซ้อน) หรือควรเป็นดิสก์อาร์เรย์ที่ใหญ่กว่าที่ให้คุณสำรองข้อมูลส่วนเพิ่มได้ จริงๆ แล้วขึ้นอยู่กับรูปแบบภัยคุกคามของคุณในการสำรองข้อมูล หากคุณต้องการป้องกันความล้มเหลวของฮาร์ดแวร์ (ดิสก์วินาทีเดียวก็เพียงพอแล้ว) หรือป้องกันการสูญหายของข้อมูลอื่นๆ (โทรจัน crypto การลบโดยไม่ตั้งใจ ฯลฯ)
Score:0
ธง nl

ฉันกำลังตอบคำถามของตัวเองเพราะฉันคิดว่านี่เป็นเรื่องที่น่าสนใจและอาจเป็นประโยชน์กับใครบางคน

TL; DR สาเหตุของปัญหาที่รายงานดูเหมือนจะล้มเหลว DRAM ไม่ใช่ความล้มเหลวของฮาร์ดไดรฟ์

  1. ไม่ การตรวจสอบเหล่านี้ไม่ปกติและคาดหวังไว้ ระบบอื่นที่ใช้ btrfs เวอร์ชันเดียวกันก็ทำงานได้ดีอย่างสมบูรณ์ พวกเขาระบุสิ่งผิดปกติ แต่ไม่จำเป็นกับดิสก์ ดูรายการถัดไป
  2. พวกเขากำลังแสดงบนข้อมูลที่คัดลอกใหม่ เนื่องจากมีความล้มเหลวที่สำคัญของ DRAM ในระบบ ซึ่งได้รับการยืนยันโดย X86MemTest มีเพียงหนึ่งในสองแท่งเท่านั้นที่แย่ และบังเอิญว่าแท่งนั้นถูกแมปกับหน่วยความจำที่สูงกว่า ดังนั้นเมื่อหน่วยความจำเหลือน้อยถูกใช้งานทั้งหมด (ไม่ค่อยเกิดขึ้น แต่บ่อยกว่าสำหรับไฟล์ขนาดใหญ่) เท่านั้นที่ล้มเหลว นี่คือเหตุผลที่พวกเขาไม่ส่งผลกระทบต่อเคอร์เนล
  3. การขัดถูเป็นประจำอาจตรวจพบปัญหาก่อนหน้านี้ การสครับตามปกติไม่ได้ช่วยอะไรเมื่อคุณมีไดรฟ์ (เช่น /dev/sdc) ซึ่งไม่ใช่ส่วนหนึ่งของมิรเรอร์ เพราะแม้ว่ามันจะเห็นข้อผิดพลาดเช็คซัม แต่ก็ไม่มีความหวังที่จะแก้ไข - นี้ โดยพื้นฐานแล้วเป็นข้อจำกัดของ btrfs ซึ่งพวกเขาสามารถเลือกฟังก์ชันเช็คซัมที่มีระยะแฮมมิ่งที่มากกว่า แต่เลือกฟังก์ชันที่คำนวณได้เร็วกว่าแทน (ฉันเชื่อ)
  4. ฉันซื้อฮาร์ดไดรฟ์ใหม่ซึ่งสามารถใช้เป็นข้อมูลสำรองได้ แต่การทดสอบ SMART หลายครั้งและความพยายามอื่น ๆ แนะนำว่าไดรฟ์ปัจจุบันน่าจะใช้ได้ "ไดรฟ์ทั้งหมดล้มเหลวในครั้งเดียว" อาจเป็นเบาะแสที่ดีว่าปัญหา ไม่ใช่ ฮาร์ดไดรฟ์
  5. ตามที่ระบุไว้ ไดร์ฟขนาดใหญ่กลายเป็นราคาถูก... และเนื่องจากตัวไดร์ฟเองดูเหมือนจะไม่ใช่จุดล้มเหลว แนวคิดของการใช้ฮาร์ดไดร์ฟสำหรับการสำรองข้อมูลดูเหมือนจะยังคงใช้ได้ต่อไป
Spooler avatar
us flag
นี่เป็นหนึ่งในเหตุผลที่หน่วยความจำ ECC ได้รับการแนะนำ *อย่างสูง* ในระบบ BTRFS (และระบบ ZFS) ระบบจัดการข้อมูลเหล่านี้ทำงานได้ดีในการจัดการปัญหาในที่เก็บข้อมูลรอง/ตติยภูมิ แต่ข้อผิดพลาดของที่เก็บข้อมูลหลักจะทำลายอาร์เรย์ที่ยิ่งใหญ่ที่สุด
Spooler avatar
us flag
คุณยังสามารถพิจารณาการจัดกลุ่มเพื่อแก้ปัญหานี้ ดำเนินการตรวจสอบระหว่างระบบอิสระสามระบบเพื่อสร้างฉันทามติด้านความสมบูรณ์ของข้อมูล และป้องกันความล้มเหลวของระบบใดระบบหนึ่งจากการทำลายข้อมูล สิ่งนี้ไม่ได้ถูกกว่า ECC RAM แต่ในบางกรณี การสร้างคลัสเตอร์แทนที่จะลงทุนเพิ่มเติมในโหนดเดียว (เช่น หากฮาร์ดแวร์สำหรับผู้บริโภคที่จำเป็นมีอยู่แล้ว เป็นต้น) ระบบไฟล์เหล่านี้ไม่สามารถคลัสเตอร์ข้ามโหนดได้ด้วยตัวเอง ดังนั้นสิ่งที่ฉันแนะนำจะต้องทำโดยใช้บางอย่างเช่น GlusterFS หรือ DRBD (สิ่งที่ฉันแนะนำก็ไม่ง่ายเช่นกัน)
Greg Nelson avatar
nl flag
ขอบคุณ @Spooler ฉัน *คิดว่า* เมนบอร์ดของฉัน (Gigabyte Aorus B450) รองรับ ECC RAM แต่ในการพิมพ์อย่างละเอียด มันระบุว่า "ในโหมดที่ไม่ใช่ ECC" พูดให้ชัดเจน นี่คือเซิร์ฟเวอร์ที่ใช้งานในบ้าน ดังนั้นฉันจึงไม่มีพื้นที่มากพอสำหรับตั้งค่าคลัสเตอร์ของเครื่อง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา