RAID-Z บนฮาร์ดดิสก์ไดรฟ์เดียวโง่หรือไม่


18

เห็นได้ชัดว่าถ้าไดรฟ์ทั้งหมดตายจากนั้น RAID-Z บนดิสก์เดียวจะไม่ช่วย แต่ข้อผิดพลาดประเภทอื่น ๆ ล่ะ?

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

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

คำถามแรกคือฮาร์ดไดรฟ์เสียอย่างไร สมมติฐานของฉันข้างต้นถูกต้องหรือไม่ เป็นเรื่องจริงหรือเปล่าที่บล็อกเสียมีข้อผิดพลาด แต่ไดรฟ์ทั้งหมดยังสามารถใช้งานได้เป็นส่วนใหญ่ หากเป็นเช่นนั้นดูเหมือนว่า RAID-Z สามารถซ่อมแซมบล็อกที่ไม่ดีหรือพื้นที่ที่ไม่ดีของดิสก์โดยใช้พาริตีของบล็อกอื่น ๆ (พื้นที่)

กรณีการใช้งานสำหรับการสำรองข้อมูล ถ้าฉันผลักข้อมูลออกไปที่ไดรฟ์ 8 TB สัปดาห์ละครั้งมันจะสมเหตุสมผลไหมที่จะพิจารณาว่าเป็นไดรฟ์ข้อมูล 7 TB บวกกับความเท่าเทียมกัน 1 TB ด้วยความหวังว่าความเท่าเทียมกันพิเศษจะช่วยให้ฉันฟื้นตัวจากบิตเน่า ความล้มเหลวของไดรฟ์ภาษาท้องถิ่นอื่น ๆ ?

หากทฤษฎีไม่ได้มีข้อบกพร่องทางเทคนิคแล้ว ZFS สามารถกำหนดค่าให้ทำเช่นนี้ได้หรือไม่?

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


7
หากคุณต้องการความซ้ำซ้อนของดิสก์แผ่นเดียวให้พิจารณาจัดทำไฟล์เก็บถาวรpar2 ด้วย ZFS คุณสามารถตั้งค่าcopies=2ได้ แต่คุณจะต้องเสียค่าปรับ 50% เมื่อทำเช่นนั้น นอกจากนี้ฉันไม่ใช่ผู้เชี่ยวชาญ ZFS แต่ปรีชาญาณของฉัน (ซึ่งอาจผิด) บอกฉันว่า ZFS จะไม่พอใจกับโซลูชันที่คุณเสนอ PAR2 เป็นเทคโนโลยีที่ยืดหยุ่นและเป็นผู้ใหญ่ การใช้มันไม่เพียงแค่ตอบสนองความต้องการพาริตีของคุณเท่านั้น แต่ยังช่วยให้คุณสามารถกำหนดจำนวนพาริตีตามเกณฑ์การเก็บถาวรต่อได้ตามต้องการ
EEAA


แทร็กบน HDD นั้นเรียกว่าไส้กุญแจ (เนื่องจากอาจมีแผ่นเสียงมากกว่าหนึ่งแผ่น)
LawrenceC

1
เมื่อไดรฟ์เสียก็มีแนวโน้มที่จะเป็นกระบวนการเร่งความเร็ว - อัตราการเซกเตอร์จะเพิ่มขึ้นไม่ดีจนกระทั่งไดรฟ์ทั้งหมดไม่สามารถใช้งานได้ หากไดรฟ์เริ่มทำงานผิดปกติและ RAID-Z กำลังชดเชยคุณอย่างเงียบ ๆ คุณอาจมีการสำรองข้อมูลที่เขียนไว้เป็นผลสำเร็จ แต่เมื่อคุณกู้คืนข้อมูลจากไดรฟ์นั้นแสดงว่ามันผ่านจุดใช้งานไปแล้ว ฉันอยากให้อุปกรณ์สำรองข้อมูลของฉันล้มเหลวอย่างดังในขณะที่กำลังสำรองข้อมูลทันทีที่อุปกรณ์เริ่มทำงานไม่ดีดังนั้นฉันจึงสามารถแทนที่ได้และเชื่อมั่นต่อไปว่าสิ่งที่เขียนสำเร็จนั้นสามารถอ่านได้อย่างมั่นใจ
Anthony X

@EEAA - ดูเหมือนสิ่งที่ฉันจะใช้ ขอขอบคุณ. และขอขอบคุณทุกคนที่แสดงความคิดเห็น
pedz

คำตอบ:


23

เนื่องจาก RAID-Z parity ทำงานโดยมี parity block บนอุปกรณ์อื่นในพูลคุณจึงต้องแบ่งพาร์ติชันอุปกรณ์ของคุณเป็น N + 1, N + 2 หรือ N + 3 พาร์ติชันที่มีขนาดเท่ากันโดย N พาร์ติชันประกอบด้วยข้อมูลและ 1/2 มีบิตพาริตี

ที่ด้านบนของพาร์ติชั่นเหล่านี้คุณจะต้องสร้าง zpool ด้วย RAID-Z ที่คุณเลือกแล้วสร้างระบบไฟล์บน zpool

ดังนั้นในทางทฤษฎีงานนี้ ในทางปฏิบัติสิ่งนี้จะทำให้ประสิทธิภาพของระบบไฟล์แย่ลงเนื่องจากบล็อกที่ตามมาในไฟล์จะอยู่ในอุปกรณ์ ZPool ที่แตกต่างกันซึ่งอยู่ในพาร์ติชันที่ต่างกัน ดังนั้นหลังจากอ่านบล็อก HDD จะต้องย้ายไปยังพื้นที่อื่นของจาน HDD อ่านบล็อกถัดไป ฯลฯ

คำตอบคือ: ใช่มันจะโง่


2
แล้วการทำสิ่งนี้กับ SSD ล่ะ?
JFL

7
@JFL: NAND flash ซึ่งใช้ใน SSD นั้นมีปัญหาตรงที่โซลูชันนี้พยายามแก้ไขคือบล็อกแต่ละอันกำลังจะตาย ในความเป็นจริงด้วย NAND มันเป็นปัญหาใหญ่ที่คอนโทรลเลอร์ SSD ทุกคนจัดการให้คุณอย่างชัดเจน ดังนั้นความผิดปกติที่มองเห็นได้มากที่สุดกับ SSD คือการสูญเสียอุปกรณ์ทั้งหมดอย่างสิ้นเชิง ไม่ได้รับประโยชน์ปัญหาจากการแก้ปัญหาป้องกันที่นี่
MSalters

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