นี่เป็นคำถามที่ยอมรับได้เกี่ยวกับระดับ RAID
สิ่งที่เป็น:
- โดยทั่วไปแล้วระดับ RAID ที่ใช้ (รวมถึงตระกูล RAID-Z)
- พวกเขามักพบการปรับใช้ใน?
- ประโยชน์และข้อผิดพลาดของแต่ละ
นี่เป็นคำถามที่ยอมรับได้เกี่ยวกับระดับ RAID
สิ่งที่เป็น:
คำตอบ:
RAID ย่อมาจาก Redundant Array of Disks ดิสก์ (บางคนถูกสอนว่า "ราคาไม่แพง" เพื่อระบุว่าพวกเขาเป็นดิสก์ "ปกติ"; ในอดีตมีดิสก์ซ้ำซ้อนภายในซึ่งมีราคาแพงมาก; เนื่องจากไม่มีตัวย่อที่ปรับใช้แล้ว)
ในระดับทั่วไปที่สุด RAID คือกลุ่มของดิสก์ที่ทำหน้าที่อ่านและเขียนแบบเดียวกัน SCSI IO ถูกดำเนินการบนไดรฟ์ข้อมูล ("LUN") และสิ่งเหล่านี้ถูกแจกจ่ายไปยังดิสก์พื้นฐานในวิธีที่เพิ่มประสิทธิภาพการทำงานและ / หรือเพิ่มความซ้ำซ้อน การเพิ่มประสิทธิภาพเป็นหน้าที่ของการสตริป: ข้อมูลถูกกระจายไปทั่วดิสก์หลาย ๆ ตัวเพื่อให้สามารถอ่านและเขียนเพื่อใช้คิว IO ของดิสก์ทั้งหมดพร้อมกัน ความซ้ำซ้อนเป็นหน้าที่ของการมิเรอร์ ดิสก์ทั้งหมดสามารถเก็บไว้เป็นสำเนาได้หรือสามารถเขียนเป็นชุดได้หลายครั้ง หรือในบางประเภทของการจู่โจมแทนที่จะทำการคัดลอกบิตข้อมูลสำหรับบิตความซ้ำซ้อนนั้นได้มาจากการสร้างแถบพิเศษที่มีข้อมูลพาริตีซึ่งสามารถใช้เพื่อสร้างข้อมูลที่สูญหายในกรณีที่เกิดความล้มเหลวของฮาร์ดแวร์
มีการกำหนดค่าหลายอย่างที่ให้ประโยชน์ในระดับที่แตกต่างกันซึ่งครอบคลุมที่นี่และแต่ละอันมีอคติต่อประสิทธิภาพหรือความซ้ำซ้อน
สิ่งสำคัญในการประเมินระดับ RAID จะทำงานให้คุณขึ้นอยู่กับข้อดีและข้อกำหนดของฮาร์ดแวร์ (เช่น: จำนวนไดรฟ์)
อีกแง่มุมที่สำคัญของ RAID ประเภทนี้ส่วนใหญ่ (0,1,5) คือพวกเขาไม่มั่นใจในความถูกต้องของข้อมูลของคุณเพราะมันถูกแยกออกไปจากข้อมูลจริงที่ถูกเก็บไว้ ดังนั้น RAID จึงไม่ป้องกันไฟล์ที่เสียหาย หากไฟล์เสียหายด้วยวิธีการใด ๆความเสียหายจะทำมิรเรอร์หรือ paritied และส่งไปยังดิสก์โดยไม่คำนึงถึง อย่างไรก็ตามRAID-Z ไม่เรียกร้องให้สมบูรณ์ในระดับไฟล์ข้อมูลของคุณ
มีสองชั้นที่สามารถนำ RAID มาใช้กับที่เก็บข้อมูลที่ต่อพ่วงโดยตรง: ฮาร์ดแวร์และซอฟต์แวร์ ในการแก้ไขปัญหาฮาร์ดแวร์ RAID ที่แท้จริงมีตัวควบคุมฮาร์ดแวร์เฉพาะพร้อมโปรเซสเซอร์ที่ใช้สำหรับการคำนวณและการประมวลผล RAID นอกจากนี้ยังมีโมดูลแคชแบตเตอรี่สำรองเพื่อให้สามารถเขียนข้อมูลลงดิสก์ได้แม้หลังจากไฟฟ้าดับ สิ่งนี้ช่วยในการขจัดความไม่สอดคล้องกันเมื่อระบบไม่ได้ปิดอย่างสมบูรณ์ โดยทั่วไปแล้วตัวควบคุมฮาร์ดแวร์ที่ดีนั้นมีประสิทธิภาพที่ดีกว่าซอฟต์แวร์คู่กัน แต่ก็มีค่าใช้จ่ายสูงและเพิ่มความซับซ้อน
ซอฟต์แวร์ RAID มักไม่ต้องการคอนโทรลเลอร์เนื่องจากไม่ได้ใช้โปรเซสเซอร์ RAID เฉพาะหรือแคชแยกต่างหาก โดยทั่วไปการดำเนินการเหล่านี้ได้รับการจัดการโดยตรงจาก CPU ในระบบที่ทันสมัยการคำนวณเหล่านี้ใช้ทรัพยากรน้อยที่สุดแม้ว่าจะมีความหน่วงแฝงเล็กน้อยเกิดขึ้น RAID จะถูกจัดการโดยระบบปฏิบัติการโดยตรงหรือโดยตัวควบคุมมารยาทในกรณีของFakeRAID
โดยทั่วไปหากใครบางคนกำลังเลือกซอฟต์แวร์ RAID พวกเขาควรหลีกเลี่ยง FakeRAID และใช้แพ็คเกจระบบปฏิบัติการสำหรับระบบของพวกเขาเช่น Dynamic Disks ใน Windows, mdadm / LVM ใน Linux หรือ ZFS ใน Solaris, FreeBSD และการกระจายอื่น ๆ ที่เกี่ยวข้อง . FakeRAID ใช้การรวมกันของฮาร์ดแวร์และซอฟต์แวร์ซึ่งส่งผลให้เกิดการปรากฏตัวครั้งแรกของฮาร์ดแวร์ RAID แต่ประสิทธิภาพที่แท้จริงของซอฟต์แวร์ RAID ยิ่งไปกว่านั้นมันเป็นเรื่องยากมากที่จะย้ายอาเรย์ไปยังอะแดปเตอร์อื่น
สถานที่อื่น ๆ ที่พบเห็นได้ทั่วไปนั้นอยู่ในอุปกรณ์เก็บข้อมูลส่วนกลางซึ่งโดยปกติจะเรียกว่า SAN (เครือข่ายพื้นที่จัดเก็บ) หรือ NAS (เครือข่ายที่เก็บข้อมูลที่แนบมาด้วย) อุปกรณ์เหล่านี้จัดการที่เก็บข้อมูลของตนเองและอนุญาตให้เซิร์ฟเวอร์ที่เชื่อมต่อสามารถเข้าถึงที่เก็บข้อมูลในรูปแบบต่าง ๆ เนื่องจากมีเวิร์กโหลดจำนวนมากบนดิสก์ไม่กี่แผ่นเดียวกันจึงมีความต้องการความซ้ำซ้อนในระดับสูง
ข้อแตกต่างที่สำคัญระหว่าง NAS และ SAN คือการส่งออกระดับบล็อกและระบบไฟล์ SAN ส่งออก "บล็อกอุปกรณ์" ทั้งหมดเช่นพาร์ติชันหรือโลจิคัลวอลุ่ม (รวมถึงที่สร้างขึ้นด้านบนของอาร์เรย์ RAID) ตัวอย่างของ SAN รวมถึง Fibre Channel และ iSCSI NAS ส่งออก "ระบบไฟล์" เช่นไฟล์หรือโฟลเดอร์ ตัวอย่างของ NAS ได้แก่ CIFS / SMB (การแชร์ไฟล์ Windows) และ NFS
RAID0 (aka Striping) บางครั้งเรียกว่า "จำนวนข้อมูลที่คุณจะเหลือเมื่อไดรฟ์ล้มเหลว" มันทำงานกับธัญพืชของ "RAID" ที่ "R" ย่อมาจาก "Redundant"
RAID0 นำบล็อกข้อมูลของคุณแยกออกเป็นหลาย ๆ ชิ้นตามที่คุณมีดิสก์ (2 ดิสก์→ 2 ชิ้น, 3 ดิสก์→ 3 ชิ้น) แล้วเขียนข้อมูลแต่ละชิ้นลงในดิสก์แยกต่างหาก
ซึ่งหมายความว่าความล้มเหลวของดิสก์เดียวทำลายอาร์เรย์ทั้งหมด (เพราะคุณมีส่วนที่ 1 และส่วนที่ 2 แต่ไม่มีส่วนที่ 3) แต่ให้การเข้าถึงดิสก์ที่รวดเร็วมาก
ไม่ได้ใช้บ่อยในสภาพแวดล้อมการผลิต แต่สามารถใช้ในสถานการณ์ที่คุณมีข้อมูลชั่วคราวอย่างเคร่งครัดที่สามารถสูญหายได้โดยไม่กระทบ มันถูกใช้ค่อนข้างบ่อยสำหรับอุปกรณ์แคช (เช่นอุปกรณ์ L2Arc)
พื้นที่ดิสก์ที่ใช้งานได้ทั้งหมดคือผลรวมของดิสก์ทั้งหมดในอาเรย์ที่รวมเข้าด้วยกัน (เช่นดิสก์ 3x 1TB = พื้นที่ 3TB)
RAID 1 (aka Mirroring) ใช้ข้อมูลของคุณและทำซ้ำมันเหมือนกันในดิสก์สองแผ่นขึ้นไป (แม้ว่าโดยทั่วไปจะมีเพียง 2 ดิสก์) หากมีการใช้ดิสก์มากกว่าสองแผ่นข้อมูลเดียวกันจะถูกเก็บไว้ในแต่ละดิสก์ เป็นวิธีเดียวที่จะตรวจสอบความซ้ำซ้อนของข้อมูลเมื่อคุณมีดิสก์น้อยกว่าสามแผ่น
RAID 1 บางครั้งปรับปรุงประสิทธิภาพการอ่าน การใช้งานบางอย่างของ RAID 1 จะอ่านจากดิสก์ทั้งสองเพื่อเพิ่มความเร็วในการอ่านเป็นสองเท่า บางส่วนจะอ่านจากดิสก์หนึ่งเท่านั้นซึ่งไม่มีข้อได้เปรียบด้านความเร็วเพิ่มเติมใด ๆ คนอื่น ๆ จะอ่านข้อมูลเดียวกันจากดิสก์ทั้งสองเพื่อให้แน่ใจถึงความถูกต้องของอาเรย์ทุกครั้งที่อ่าน แต่จะส่งผลให้ความเร็วในการอ่านเท่ากับดิสก์เดียว
โดยทั่วไปจะใช้ในเซิร์ฟเวอร์ขนาดเล็กที่มีการขยายดิสก์เพียงเล็กน้อยเช่นเซิร์ฟเวอร์ 1RU ที่อาจมีพื้นที่สำหรับดิสก์สองแผ่นหรือในเวิร์กสเตชันที่ต้องการความซ้ำซ้อนเท่านั้น เนื่องจากค่าใช้จ่ายสูงของพื้นที่ "หายไป" จึงอาจเป็นต้นทุนที่ต้องห้ามเมื่อใช้ไดรฟ์ความจุขนาดเล็ก, ความเร็วสูง (และราคาสูง) เนื่องจากคุณต้องใช้เงินเป็นสองเท่าเพื่อให้ได้พื้นที่เก็บข้อมูลระดับเดียวกัน
พื้นที่ดิสก์ที่ใช้งานได้ทั้งหมดคือขนาดของดิสก์ที่เล็กที่สุดในอาเรย์ (เช่นดิสก์ 2x 1TB = พื้นที่ 1TB)
1E RAID ระดับคล้ายกับ RAID 1 ในข้อมูลที่เขียนเสมอ (อย่างน้อย) สองแผ่น แต่แตกต่างจาก RAID1 มันช่วยให้ดิสก์มีจำนวนคี่เพียงแค่แทรกบล็อกข้อมูลระหว่างดิสก์หลายแผ่น
ลักษณะการทำงานคล้ายกับ RAID1 การยอมรับข้อผิดพลาดนั้นคล้ายกับ RAID 10 โครงร่างนี้สามารถขยายไปยังดิสก์จำนวนคี่มากกว่าสาม (อาจเรียกว่า RAID 10E แม้ว่าจะไม่ค่อย)
RAID 10 เป็นการรวมกันของ RAID 1 และ RAID 0 ลำดับของ 1 และ 0 นั้นสำคัญมาก สมมติว่าคุณมีดิสก์ 8 แผ่นจะสร้างอาร์เรย์ RAID 1 4 ชุดจากนั้นใช้อาร์เรย์ RAID 0 ที่ด้านบนของอาร์เรย์ 4 RAID 1 มันต้องการอย่างน้อย 4 ดิสก์และต้องเพิ่มดิสก์เพิ่มเติมเป็นคู่
ซึ่งหมายความว่าหนึ่งดิสก์จากแต่ละคู่สามารถล้มเหลวได้ ดังนั้นถ้าคุณมีชุด A, B, C และ D กับดิสก์ A1, A2, B1, B2, C1, C2, D1, D2 คุณสามารถสูญเสียดิสก์หนึ่งชุดจากแต่ละชุด (A, B, C หรือ D) และยังมี อาร์เรย์ทำงาน
อย่างไรก็ตามหากคุณสูญเสียดิสก์สองชุดจากชุดเดียวกันอาเรย์นั้นจะหายไปโดยสิ้นเชิง คุณสามารถสูญเสียได้สูงสุด (แต่ไม่รับประกัน) 50% ของดิสก์
คุณรับประกันความเร็วสูงและความพร้อมใช้งานสูงใน RAID 10
RAID 10 เป็นระดับ RAID ทั่วไปโดยเฉพาะอย่างยิ่งกับไดรฟ์ความจุสูงที่มีความล้มเหลวของดิสก์เดียวทำให้ดิสก์ที่สองมีโอกาสมากขึ้นก่อนที่จะสร้างอาร์เรย์ RAID ขึ้นใหม่ ในระหว่างการกู้คืนประสิทธิภาพการทำงานลดลงต่ำกว่า RAID 5 มากเนื่องจากต้องอ่านจากไดรฟ์เดียวเพื่อสร้างข้อมูลใหม่
พื้นที่ดิสก์ที่มีอยู่คือ 50% ของผลรวมของพื้นที่ทั้งหมด (เช่นไดรฟ์ 8x 1TB = พื้นที่ใช้งาน 4TB) หากคุณใช้ขนาดที่ต่างกันจะใช้ขนาดที่เล็กที่สุดจากแต่ละดิสก์
เป็นที่น่าสังเกตว่าไดรเวอร์การจู่โจมซอฟต์แวร์ของเคอร์เนล Linux เรียกว่าmd
อนุญาตให้มีการกำหนดค่า RAID 10 ที่มีไดรฟ์จำนวนคี่เช่น 3 หรือ 5 ดิสก์ RAID 10
มันเป็นสิ่งที่ตรงกันข้ามของ RAID 10 มันสร้างอาร์เรย์ RAID 0 สองชุดจากนั้นใส่ RAID 1 ไว้ด้านบน ซึ่งหมายความว่าคุณสามารถสูญเสียดิสก์หนึ่งชุดจากแต่ละชุด (A1, A2, A3, A4 หรือ B1, B2, B3, B4) เป็นเรื่องยากมากที่จะเห็นในแอปพลิเคชันเชิงพาณิชย์ แต่เป็นไปได้ที่จะทำกับซอฟต์แวร์ RAID
จะมีความชัดเจนอย่างแน่นอน:
ไม่ให้ความเร็วเพิ่มเติมบน RAID 10 แต่มีความซ้ำซ้อนน้อยลงอย่างมากและควรหลีกเลี่ยงค่าใช้จ่ายทั้งหมด
RAID 5 เป็นระดับ RAID ที่ใช้กันมากที่สุดมานานหลายทศวรรษ ให้ประสิทธิภาพของระบบของไดรฟ์ทั้งหมดในอาเรย์ (ยกเว้นการเขียนแบบสุ่มขนาดเล็กซึ่งมีค่าใช้จ่ายเล็กน้อย) มันใช้การดำเนินการ XOR ง่าย ๆ ในการคำนวณความเท่าเทียมกัน เมื่อความล้มเหลวของไดรฟ์เดียวข้อมูลสามารถสร้างขึ้นใหม่จากไดรฟ์ที่เหลือโดยใช้การดำเนินการ XOR กับข้อมูลที่รู้จัก
น่าเสียดายที่ในกรณีที่เกิดความล้มเหลวของไดรฟ์กระบวนการสร้างใหม่นั้นใช้ IO มาก ยิ่งไดรฟ์ใน RAID มีขนาดใหญ่การสร้างใหม่ก็จะใช้เวลานานขึ้นและมีโอกาสเกิดความล้มเหลวของไดรฟ์ที่สองมากขึ้น เนื่องจากไดรฟ์ช้าที่มีขนาดใหญ่ทั้งคู่มีข้อมูลจำนวนมากที่ต้องสร้างใหม่และมีประสิทธิภาพน้อยลงดังนั้นจึงไม่แนะนำให้ใช้ RAID 5 กับ 7200 RPM หรือต่ำกว่า
บางทีปัญหาที่สำคัญที่สุดของ RAID 5 arrays เมื่อใช้ในแอพพลิเคชั่นสำหรับผู้ใช้ทั่วไปคือพวกเขาเกือบจะรับประกันว่าจะล้มเหลวเมื่อความจุรวมเกิน 12TB นี่เป็นเพราะอัตราข้อผิดพลาดการอ่าน (URE) ที่ไม่สามารถกู้คืนได้ของไดรฟ์สำหรับผู้บริโภค SATA คือหนึ่งต่อทุกๆ 10 14บิตหรือ ~ 12.5TB
หากเรานำตัวอย่างของอาร์เรย์ RAID 5 ที่มีเจ็ดไดรฟ์ 2 TB: เมื่อไดรฟ์ล้มเหลวจะมีหกไดรฟ์เหลืออยู่ ในการสร้างอาเรย์ขึ้นใหม่คอนโทรลเลอร์จำเป็นต้องอ่านไดรฟ์หกตัวที่ละ 2 TB เมื่อดูที่รูปด้านบนเกือบจะแน่ใจว่ามี URE อื่นเกิดขึ้นก่อนที่การสร้างใหม่จะเสร็จสิ้น หลังจากนั้นอาร์เรย์และข้อมูลทั้งหมดในนั้นจะหายไป
อย่างไรก็ตามความล้มเหลวของการสูญเสียข้อมูล / อาเรย์ / อาเรย์ของ RAID 5 ในไดรฟ์สำหรับผู้บริโภคนั้นได้รับการผ่อนปรนจากข้อเท็จจริงที่ว่าผู้ผลิตฮาร์ดดิสก์ส่วนใหญ่ได้เพิ่มคะแนน URE ของไดรฟ์รุ่นใหม่เป็น 10 ใน15บิต และเช่นเคยตรวจสอบแผ่นข้อมูลจำเพาะก่อนซื้อ!
มีความจำเป็นที่จะต้องใส่ RAID 5 ไว้เบื้องหลังแคชการเขียนที่มีแบตเตอรี่สำรอง สิ่งนี้หลีกเลี่ยงค่าใช้จ่ายสำหรับการเขียนขนาดเล็กรวมถึงพฤติกรรมที่ไม่สม่ำเสมอซึ่งสามารถเกิดขึ้นได้เมื่อเกิดความล้มเหลวในระหว่างการเขียน
RAID 5 เป็นโซลูชันที่คุ้มค่ามากที่สุดในการเพิ่มที่เก็บข้อมูลซ้ำซ้อนลงในอาร์เรย์เนื่องจากต้องใช้ดิสก์เพียง 1 แผ่นเท่านั้น (เช่นดิสก์ 12x 146GB 146x = 1606GB ของพื้นที่ใช้งาน) มันต้องการอย่างน้อย 3 ดิสก์
RAID 6 นั้นคล้ายกับ RAID 5 แต่ใช้ดิสก์สองแผ่นที่มีค่าพาริตีแทนที่จะเป็นหนึ่งเดียว (อันแรกคือ XOR, ที่สองคือ LSFR) ดังนั้นคุณสามารถสูญเสียดิสก์สองตัวจากอาเรย์โดยไม่มีการสูญเสียข้อมูล โทษการเขียนสูงกว่า RAID 5 และคุณมีพื้นที่ดิสก์น้อยกว่าหนึ่งแผ่น
ควรพิจารณาว่าในที่สุดอาร์เรย์ RAID 6 จะพบปัญหาคล้ายกันในขณะที่ RAID 5 ไดรฟ์ขนาดใหญ่ทำให้เกิดเวลาการสร้างใหม่ที่ใหญ่ขึ้นและเกิดข้อผิดพลาดแฝงมากขึ้นในที่สุดนำไปสู่ความล้มเหลวของอาเรย์ทั้งหมดและการสูญหายของข้อมูลทั้งหมด
RAID 50 เป็นระดับที่ซ้อนกันเช่นเดียวกับ RAID 10 โดยรวมอาร์เรย์ RAID 5 สองชุดหรือมากกว่าและข้อมูลแถบขวางใน RAID 0 ซึ่งมีทั้งประสิทธิภาพและความซ้ำซ้อนของดิสก์หลายตัวตราบใดที่ดิสก์หลายแผ่นสูญหายจากRAID 5 ที่แตกต่างกันอาร์เรย์
ใน RAID 50 ความจุของดิสก์คือ nx โดยที่ x คือจำนวน RAID 5s ที่สตริป ตัวอย่างเช่นหาก RAID 50 แบบ 6 ดิสก์แบบง่ายที่สุดที่เล็กที่สุดที่เป็นไปได้ถ้าคุณมีดิสก์ขนาด 6x1TB ใน RAID 5s สองตัวที่ถูกข้ามเป็น RAID 50 คุณจะมีพื้นที่เก็บข้อมูลที่ใช้งานได้ 4TB
RAID 6 คือ RAID 60 เนื่องจาก RAID 5 คือ RAID 50 โดยพื้นฐานแล้วคุณมี RAID 6 มากกว่าหนึ่งที่ข้อมูลจะถูกสตริปใน RAID 0 การตั้งค่านี้ช่วยให้สมาชิกสูงสุดสองคนของ RAID 6 ในชุด ล้มเหลวโดยไม่สูญเสียข้อมูล เวลาในการสร้างอาร์เรย์สำหรับ RAID 60 ใหม่อาจเป็นเรื่องปกติดังนั้นจึงเป็นความคิดที่ดีที่จะมีฮอตสแปนหนึ่งอันสำหรับสมาชิก RAID 6 แต่ละคนในอาเรย์
ใน RAID 60 ความจุของดิสก์คือ n-2x โดยที่ x คือจำนวนของ RAID 6s ที่ถูกขีดขวาง ตัวอย่างเช่นถ้าดิสก์ RAID 60 แบบง่าย 8 ตัวที่เล็กที่สุดที่เป็นไปได้ถ้าคุณมีดิสก์ 8x1TB ใน RAID 6s สองตัวที่มีลายขวางเพื่อให้กลายเป็น RAID 60 คุณจะมีพื้นที่เก็บข้อมูลที่ใช้งานได้ 4TB อย่างที่คุณเห็นนี่จะให้พื้นที่เก็บข้อมูลที่ใช้งานได้เท่าที่ RAID 10 จะมอบให้กับอาเรย์ 8 สมาชิก ในขณะที่ RAID 60 จะซ้ำซ้อนมากกว่าเดิมเล็กน้อยเวลาสร้างใหม่จะใหญ่ขึ้นอย่างมาก โดยทั่วไปคุณต้องการพิจารณา RAID 60 เฉพาะเมื่อคุณมีดิสก์จำนวนมาก
RAID-Z ค่อนข้างซับซ้อนที่จะอธิบายเนื่องจาก ZFS เปลี่ยนแปลงวิธีการจัดเก็บข้อมูลและระบบไฟล์อย่างสิ้นเชิง ZFS ครอบคลุมบทบาทดั้งเดิมของการจัดการปริมาณ (RAID เป็นฟังก์ชั่นของตัวจัดการปริมาณ) และระบบไฟล์ ด้วยเหตุนี้ ZFS จึงสามารถทำ RAID ที่ระดับบล็อกหน่วยเก็บข้อมูลของไฟล์มากกว่าที่ระดับสตริปของโวลุ่ม นี่คือสิ่งที่ RAID-Z ทำเขียนบล็อกหน่วยเก็บข้อมูลของไฟล์ในไดรฟ์ฟิสิคัลหลายตัวรวมถึงบล็อกพาริตีสำหรับแต่ละชุดของแถบ
ตัวอย่างอาจทำให้ชัดเจนกว่านี้ สมมติว่าคุณมี 3 ดิสก์ในพูล ZFS RAID-Z ขนาดบล็อกคือ 4KB ตอนนี้คุณเขียนไฟล์ไปยังระบบที่มีขนาด 16KB ZFS จะแบ่งสิ่งนั้นออกเป็นสี่บล็อก 4KB (เช่นระบบปฏิบัติการปกติ); จากนั้นมันจะคำนวณความเท่าเทียมกันสองช่วง บล็อกทั้งหกนั้นจะถูกวางไว้บนไดรฟ์คล้ายกับที่ว่า RAID-5 จะกระจายข้อมูลและพาริตี้ นี่เป็นการปรับปรุง RAID5 โดยที่ไม่มีการอ่านแถบข้อมูลที่มีอยู่เพื่อคำนวณพาริตี
อีกตัวอย่างหนึ่งที่สร้างขึ้นก่อนหน้านี้ สมมติว่าไฟล์มีขนาด 4KB เท่านั้น ZFS ยังคงต้องสร้างหนึ่งพาริตี้บล็อก แต่ตอนนี้โหลดการเขียนลดลงเป็น 2 บล็อก ไดรฟ์ที่สามจะให้บริการฟรีตามคำขออื่น ๆ ที่เกิดขึ้นพร้อมกัน ผลที่คล้ายกันจะเห็นได้ตลอดเวลาที่ไฟล์ที่กำลังเขียนไม่ได้เป็นขนาดบล็อกของพูลหลายคูณด้วยจำนวนของไดรฟ์น้อยกว่าหนึ่ง (เช่น [ขนาดไฟล์] <> [ขนาดบล็อก] * [ไดรฟ์ - 1])
ZFS จัดการทั้งการจัดการปริมาณและระบบไฟล์ยังหมายความว่าคุณไม่ต้องกังวลเกี่ยวกับการจัดพาร์ทิชันหรือขนาดบล็อกลาย ZFS จัดการทุกอย่างโดยอัตโนมัติด้วยการกำหนดค่าที่แนะนำ
ธรรมชาติของ ZFS ตอบโต้ RAID-5/6 caveats คลาสสิกบางส่วน การเขียนทั้งหมดใน ZFS เสร็จในลักษณะ copy-on-write บล็อกที่เปลี่ยนแปลงทั้งหมดในการดำเนินการเขียนจะถูกเขียนไปยังตำแหน่งใหม่บนดิสก์แทนที่จะเขียนทับบล็อกที่มีอยู่ หากการเขียนล้มเหลวไม่ว่าด้วยเหตุผลใดก็ตามหรือระบบล้มเหลวในการเขียนข้อมูลกลางการเขียนธุรกรรมจะเกิดขึ้นอย่างสมบูรณ์หลังจากการกู้คืนระบบ (ด้วยความช่วยเหลือของบันทึกเจตนา ZFS) หรือไม่เกิดขึ้นเลยหลีกเลี่ยงความเสียหายของข้อมูลที่อาจเกิดขึ้น ปัญหาอีกประการหนึ่งของ RAID-5/6 คือการสูญเสียข้อมูลที่อาจเกิดขึ้นหรือข้อมูลเสียหายเงียบระหว่างการสร้างใหม่ zpool scrub
การดำเนินงานปกติสามารถช่วยดักจับข้อมูลเสียหายหรือผลักดันปัญหาก่อนที่จะทำให้ข้อมูลสูญหายและการตรวจสอบบล็อกข้อมูลทั้งหมดจะทำให้มั่นใจได้ว่าความเสียหายทั้งหมดในระหว่างการสร้างใหม่จะถูกตรวจจับ
ข้อเสียเปรียบหลักของ RAID-Z ก็คือมันยังคงเป็นการจู่โจมซอฟต์แวร์ (และทนทุกข์ทรมานจากความหน่วงเล็กน้อยที่เกิดขึ้นจาก CPU ในการคำนวณโหลดการเขียนแทนที่จะปล่อยให้HBAเป็นฮาร์ดแวร์ออก) สิ่งนี้อาจได้รับการแก้ไขในอนาคตโดย HBAs ที่รองรับการเร่งด้วยฮาร์ดแวร์ ZFS
เนื่องจากไม่มีอำนาจกลางในการบังคับใช้ฟังก์ชั่นมาตรฐานใด ๆ ระดับ RAID ต่างๆจึงมีวิวัฒนาการและได้รับมาตรฐานโดยการใช้งานที่แพร่หลาย ผู้ค้าจำนวนมากได้ผลิตผลิตภัณฑ์ที่เบี่ยงเบนไปจากคำอธิบายข้างต้น นอกจากนี้ยังเป็นเรื่องธรรมดาสำหรับพวกเขาที่จะคิดค้นคำศัพท์ทางการตลาดใหม่ที่แปลกใหม่เพื่ออธิบายแนวคิดดังกล่าวข้างต้น (สิ่งนี้เกิดขึ้นบ่อยที่สุดในตลาด SOHO) เมื่อเป็นไปได้พยายามให้ผู้ขายอธิบายการทำงานของกลไกการทำซ้ำ (โดยส่วนใหญ่จะเป็นอาสาสมัครข้อมูลนี้เนื่องจากไม่มีซอสลับจริง ๆ อีกต่อไป)
เป็นมูลค่าการกล่าวขวัญว่ามีการใช้งานคล้าย RAID 5 ซึ่งช่วยให้คุณสามารถเริ่มต้นอาร์เรย์ที่มีเพียงสองดิสก์ มันจะเก็บข้อมูลในแถบเดียวและพาริตี้บนอีกอันหนึ่งคล้ายกับ RAID 5 ด้านบน สิ่งนี้จะทำงานได้เหมือนกับ RAID 1 ที่มีส่วนเกินพิเศษของการคำนวณพาริตี ข้อดีคือคุณสามารถเพิ่มดิสก์ลงในอาร์เรย์ได้โดยการคำนวณพาริตีใหม่
นอกจากนี้ยังมี RAID หนึ่งล้าน !!!!
128 ดิสก์ดังนั้นการอ่านจะรวดเร็วเขียนน่ากลัว แต่น่าเชื่อถือมากฉันคิดว่าโอ้และคุณจะได้พื้นที่ที่มีอยู่ 1/128 ดังนั้นจึงไม่ดีนักจากมุมมองด้านงบประมาณ อย่าทำอย่างนี้กับแฟลชไดรฟ์ฉันลองและจุดไฟไปที่บรรยากาศ ...