อ่าน 10 นาที
ระดับ RAID มาตรฐาน
ใน การจัดเก็บข้อมูลคอมพิวเตอร์ ระดับ RAID มาตรฐาน ประกอบด้วยชุดพื้นฐานของ การกำหนด ค่า RAID ("redundant array of independent disks" หรือ "redundant array of inexpensive disks")...
ระดับ RAID มาตรฐาน
ในการจัดเก็บข้อมูลคอมพิวเตอร์ระดับRAID มาตรฐานประกอบด้วยชุดพื้นฐานของ การกำหนด ค่า RAID ("redundant array of independent disks" หรือ "redundant array of inexpensive disks") ซึ่งใช้เทคนิคการแบ่งส่วน (striping ) การทำสำเนา ( mirroring)หรือพาริตี (parity) เพื่อสร้างแหล่งเก็บข้อมูลขนาดใหญ่ที่เชื่อถือได้จาก ฮาร์ดดิสก์ไดรฟ์ (HDD) อเนกประสงค์หลายตัวประเภทที่พบบ่อยที่สุดคือ RAID 0 (การแบ่งส่วน) RAID 1 (การทำสำเนา) และรูปแบบต่างๆ RAID 5 (พาริตีแบบกระจาย) และ RAID 6 (พาริตีคู่) นอกจากนี้ยังสามารถรวมหรือซ้อน ระดับ RAID หลายระดับ ได้ เช่น RAID 10 (การแบ่งส่วนของสำเนา) หรือ RAID 01 (ชุดการแบ่งส่วนแบบทำสำเนา) ระดับ RAID และรูปแบบข้อมูลที่เกี่ยวข้องได้รับการกำหนดมาตรฐานโดยStorage Networking Industry Association (SNIA) ในมาตรฐาน Common RAID Disk Drive Format (DDF) [ 1 ]ค่าตัวเลขทำหน้าที่เป็นเพียงตัวระบุเท่านั้นและไม่ได้บ่งบอกถึงประสิทธิภาพ ความน่าเชื่อถือ รุ่น ลำดับชั้น หรือเมตริกอื่นๆ
แม้ว่าระบบ RAID ส่วนใหญ่จะสามารถป้องกันและกู้คืนข้อมูลจากความบกพร่องของฮาร์ดแวร์หรือเซกเตอร์ที่เสียหาย/ข้อผิดพลาดในการอ่าน ( ข้อผิดพลาดแบบฮาร์ดแวร์ ) ได้ดี แต่ก็ไม่สามารถป้องกันการสูญเสียข้อมูลเนื่องจากความล้มเหลวร้ายแรง (ไฟไหม้ น้ำท่วม) หรือข้อผิดพลาดแบบซอฟต์แวร์เช่นข้อผิดพลาดของผู้ใช้ การทำงานผิดพลาดของซอฟต์แวร์ หรือ การติด มัลแวร์สำหรับข้อมูลที่มีค่า ระบบ RAID เป็นเพียงส่วนประกอบหนึ่งของแผนการป้องกันและกู้คืนข้อมูลที่ครอบคลุมกว่า – ไม่สามารถทดแทนแผนการ สำรองข้อมูล ได้
เรด 0

RAID 0 (หรือที่รู้จักกันในชื่อstripe setหรือstriped volume ) จะแบ่ง ข้อมูล(" stripes ") อย่างสม่ำเสมอไปยังดิสก์สองแผ่นขึ้นไป โดยไม่มีข้อมูล พาริตีความซ้ำซ้อน หรือความทนทานต่อความผิดพลาดเนื่องจาก RAID 0 ไม่มีความทนทานต่อความผิดพลาดหรือความซ้ำซ้อน ความล้มเหลวของไดรฟ์ตัวใดตัวหนึ่งจะทำให้ทั้งอาร์เรย์ล้มเหลว เนื่องจากข้อมูลถูกแบ่งกระจายไปทั่วทุกดิสก์ การกำหนดค่านี้มักถูกนำไปใช้โดยมีเป้าหมายหลักคือความเร็ว[ 2 ] [ 3 ]
การตั้งค่า RAID 0 สามารถทำได้โดยใช้ดิสก์ที่มีขนาดแตกต่างกัน แต่พื้นที่จัดเก็บข้อมูลที่เพิ่มเข้ามาในอาร์เรย์โดยแต่ละดิสก์จะถูกจำกัดไว้ที่ขนาดของดิสก์ที่มีขนาดเล็กที่สุด ตัวอย่างเช่น หากดิสก์ขนาด 120 GB ถูกรวมเข้ากับดิสก์ขนาด 320 GB ขนาดของอาร์เรย์จะเป็น 120 GB × 2 = 240 GB อย่างไรก็ตาม การใช้งาน RAID บางแบบจะอนุญาตให้ใช้พื้นที่ที่เหลือ 200 GB สำหรับวัตถุประสงค์อื่นได้
แผนภาพในส่วนนี้แสดงวิธีการกระจายข้อมูลลงในแถบข้อมูลบนดิสก์สองแผ่น โดย A1:A2 เป็นแถบแรก A3:A4 เป็นแถบที่สอง เป็นต้น เมื่อกำหนดขนาดของแถบข้อมูลในระหว่างการสร้างอาร์เรย์ RAID 0 แล้ว จะต้องคงขนาดแถบข้อมูลนี้ไว้ตลอดเวลา เนื่องจากมีการเข้าถึงแถบข้อมูลแบบขนาน อาร์เรย์ RAID 0 ที่มีnไดรฟ์จึงปรากฏเหมือนดิสก์ขนาดใหญ่แผ่นเดียวที่มีอัตราการรับส่งข้อมูล สูงกว่าอัตราการรับส่งข้อมูลของดิสก์เดี่ยวถึง nเท่า
ผลงาน
อาร์เรย์ RAID 0 ของ ไดรฟ์ nตัวให้ความเร็วในการอ่านและเขียนข้อมูลสูงกว่าความเร็วของไดรฟ์แต่ละตัวถึงnเท่า แต่ไม่มีการสำรองข้อมูลดังนั้น RAID 0 จึงถูกใช้เป็นหลักในแอปพลิเคชันที่ต้องการประสิทธิภาพสูงและสามารถทนต่อความน่าเชื่อถือที่ต่ำกว่าได้ เช่น ในการคำนวณทางวิทยาศาสตร์[ 4 ]หรือการเล่นเกม[ 5 ]
การทดสอบประสิทธิภาพแอปพลิเคชันเดสก์ท็อปบางรายการแสดงให้เห็นว่าประสิทธิภาพของ RAID 0 ดีกว่าไดรฟ์เดี่ยวเล็กน้อย[ 6 ] [ 7 ] บทความอื่นได้ตรวจสอบข้อกล่าวอ้างเหล่านี้และสรุปว่า "การแบ่งข้อมูลไม่ได้เพิ่มประสิทธิภาพเสมอไป (ในบางสถานการณ์อาจช้ากว่าการตั้งค่าที่ไม่ใช่ RAID) แต่ในสถานการณ์ส่วนใหญ่จะให้ประสิทธิภาพที่ดีขึ้นอย่างมาก" [ 8 ] [ 9 ] การทดสอบประสิทธิภาพแบบสังเคราะห์แสดงให้เห็นถึงระดับการปรับปรุงประสิทธิภาพที่แตกต่างกันเมื่อใช้ HDD หรือ SSD หลายตัวในการตั้งค่า RAID 0 เมื่อเทียบกับประสิทธิภาพของไดรฟ์เดี่ยว อย่างไรก็ตาม การทดสอบประสิทธิภาพแบบสังเคราะห์บางรายการยังแสดงให้เห็นถึงประสิทธิภาพที่ลดลงสำหรับการเปรียบเทียบเดียวกัน[ 10 ] [ 11 ]
เรด 1

RAID 1ประกอบด้วยสำเนาที่เหมือนกันทุกประการ (หรือมิเรอร์ ) ของชุดข้อมูลบนดิสก์สองแผ่นขึ้นไป โดย RAID 1 แบบมิเรอร์คู่แบบคลาสสิกจะมีดิสก์สองแผ่น การกำหนดค่านี้ไม่มีพาริตี้ การแบ่งส่วน หรือการกระจายพื้นที่ดิสก์ข้ามดิสก์หลายแผ่น เนื่องจากข้อมูลจะถูกมิเรอร์บนดิสก์ทั้งหมดที่อยู่ในอาร์เรย์ และอาร์เรย์จะมีขนาดใหญ่ได้เพียงเท่ากับดิสก์สมาชิกที่เล็กที่สุดเท่านั้น รูปแบบนี้มีประโยชน์เมื่อประสิทธิภาพการอ่านหรือความน่าเชื่อถือมีความสำคัญมากกว่าประสิทธิภาพการเขียนหรือความจุในการจัดเก็บข้อมูลที่ได้[ 12 ] [ 13 ]
อาร์เรย์จะยังคงทำงานต่อไปตราบใดที่ไดรฟ์สมาชิกอย่างน้อยหนึ่งตัวยังใช้งานได้[ 14 ]
ผลงาน
คำขออ่านใดๆ สามารถให้บริการและจัดการได้โดยไดรฟ์ใดๆ ในอาร์เรย์ ดังนั้น ขึ้นอยู่กับลักษณะของโหลด I/O ประสิทธิภาพการอ่านแบบสุ่มของอาร์เรย์ RAID 1 อาจเท่ากับผลรวมของประสิทธิภาพของสมาชิกแต่ละตัว[ a ] ในขณะที่ประสิทธิภาพการเขียนยังคงอยู่ที่ระดับของดิสก์เดี่ยว อย่างไรก็ตาม หากใช้ดิสก์ที่มีความเร็วต่างกันในอาร์เรย์ RAID 1 ประสิทธิภาพการเขียนโดยรวมจะเท่ากับความเร็วของดิสก์ที่ช้าที่สุด[ 13 ] [ 14 ]
การทดสอบประสิทธิภาพแบบสังเคราะห์แสดงให้เห็นถึงระดับการปรับปรุงประสิทธิภาพที่แตกต่างกันเมื่อใช้ HDD หรือ SSD หลายตัวในการตั้งค่า RAID 1 เมื่อเทียบกับประสิทธิภาพของไดรฟ์เดี่ยว อย่างไรก็ตาม การทดสอบประสิทธิภาพแบบสังเคราะห์บางรายการยังแสดงให้เห็นถึงประสิทธิภาพที่ลดลงสำหรับการเปรียบเทียบเดียวกัน[ 10 ] [ 11 ]
เรด 2

RAID 2แบ่งข้อมูลใน ระดับ บิตออกเป็นหลายดิสก์ ซึ่งแตกต่างจาก RAID ระดับอื่นๆ ที่แบ่งข้อมูลเป็นบล็อก RAID 2 ใช้การแก้ไขข้อผิดพลาดแบบหนึ่งที่เรียกว่ารหัสแฮมมิง (Hamming code ) ซึ่งเพิ่มความซ้ำซ้อนเพื่อตรวจจับและแก้ไขข้อผิดพลาดในข้อมูลที่จัดเก็บ ฮาร์ดไดรฟ์จะถูกซิงโครไนซ์โดยคอนโทรลเลอร์เพื่อให้หมุนพร้อมกันและไปถึงตำแหน่งเดียวกันในเวลาเดียวกัน[ 15 ]เนื่องจากการซิงโครไนซ์นี้ ระบบจึงมักประมวลผลคำขออ่านหรือเขียนเพียงครั้งละหนึ่งรายการเท่านั้น ซึ่งจำกัดความสามารถในการจัดการการทำงานหลายอย่างพร้อมกัน[ 16 ] [ 17 ]
ในการคำนวณยุคแรก RAID 2 นำเสนออัตราการถ่ายโอนข้อมูลสูงโดยใช้รหัสแฮมมิงอัตราสูงและดิสก์จำนวนมากที่ทำงานแบบขนาน การออกแบบนี้ใช้ในระบบเฉพาะทาง เช่นDataVault ของ Thinking Machines ซึ่งถ่ายโอนข้อมูล 32 บิตพร้อมกันด้วยพาริตี 7 บิต: รหัสแฮมมิง (39,32) ระบบ Stretch ของ IBM ใช้แนวทางที่คล้ายกัน โดยถ่ายโอนข้อมูล 64 บิตพร้อมกับการแก้ไขข้อผิดพลาด 8 บิต: รหัสแฮมมิง (72,64) รหัสทั้งสองไม่ใช่รหัสแฮมมิงพื้นฐาน แต่เป็น รหัส SECDED ที่ได้รับการปรับปรุง ซึ่งหมายความว่าทั้งสองสามารถตรวจจับและแก้ไขข้อผิดพลาดแบบบิตเดียวได้ แต่ตรวจจับเฉพาะข้อผิดพลาดแบบสองบิตเท่านั้น[ 18 ] [ 19 ]
เนื่องจากฮาร์ดไดรฟ์สมัยใหม่มีการแก้ไขข้อผิดพลาดในตัว ความซับซ้อนที่เพิ่มขึ้นของรหัส Hamming ภายนอกของ RAID 2 จึงให้ประโยชน์เพียงเล็กน้อยเมื่อเทียบกับวิธีการสำรองข้อมูลที่ง่ายกว่า เช่น พาริตี ดังนั้น RAID 2 จึงไม่ค่อยถูกนำไปใช้ และเป็นระดับ RAID ดั้งเดิมเพียงระดับเดียวที่ไม่ได้ใช้งานในทางปฏิบัติอีกต่อไป[ 16 ] [ 17 ]
เรด 3

RAID 3ซึ่งในทางปฏิบัติก็ไม่ค่อยได้ใช้เช่นกัน ประกอบด้วยการแบ่งข้อมูลระดับไบต์ โดยใช้ดิสก์พา ริ ตีเฉพาะ หนึ่งในลักษณะเฉพาะของ RAID 3 คือโดยทั่วไปแล้วไม่สามารถรองรับคำขอหลายรายการพร้อมกันได้ ซึ่งเกิดขึ้นเนื่องจากบล็อกข้อมูลใดๆ ก็ตามจะถูกกระจายไปทั่วทุกดิสก์ในชุด และจะอยู่ในตำแหน่งทางกายภาพเดียวกันบนแต่ละดิสก์ ดังนั้น การดำเนินการ I/O ใดๆ จึงต้องอาศัยการทำงานบนทุกดิสก์ และโดยปกติแล้วต้องใช้แกนหมุนที่ซิงโครไนซ์กัน
ทำให้เหมาะสำหรับแอปพลิเคชันที่ต้องการอัตราการถ่ายโอนสูงสุดในการอ่านและเขียนแบบต่อเนื่องยาว เช่น การตัดต่อ วิดีโอแบบไม่บีบอัดแอปพลิเคชันที่ทำการอ่านและเขียนขนาดเล็กจากตำแหน่งดิสก์แบบสุ่มจะได้รับประสิทธิภาพที่แย่ที่สุดจากระดับนี้[ 17 ]
ข้อกำหนดที่ว่าดิสก์ทั้งหมดต้องหมุนพร้อมกัน (แบบล็อกสเต็ป ) เพิ่มข้อควรพิจารณาในการออกแบบซึ่งไม่ได้ให้ข้อได้เปรียบที่สำคัญเหนือระดับ RAID อื่นๆ ทั้ง RAID 3 และ RAID 4 ถูกแทนที่ด้วย RAID 5 อย่างรวดเร็ว[ 20 ]โดยทั่วไปแล้ว RAID 3 จะถูกนำไปใช้ในฮาร์ดแวร์ และปัญหาด้านประสิทธิภาพจะได้รับการแก้ไขโดยการใช้แคชดิสก์ขนาดใหญ่[ 17 ]
เรด 4

RAID 4ประกอบด้วย การแบ่งระดับ บล็อกด้วย ดิสก์ พาริตี เฉพาะ เป็นผลจากโครงสร้างของมัน RAID 4 จึงให้ประสิทธิภาพการอ่านแบบสุ่มที่ดี ในขณะที่ประสิทธิภาพการเขียนแบบสุ่มจะต่ำเนื่องจากจำเป็นต้องเขียนข้อมูลพาริตีทั้งหมดลงในดิสก์เดียว[ 21 ]เว้นแต่ว่าระบบไฟล์จะรองรับ RAID 4 และชดเชยในส่วนนั้น
ข้อดีอย่างหนึ่งของ RAID 4 คือสามารถขยายระบบออนไลน์ได้อย่างรวดเร็ว โดยไม่ต้องคำนวณพาริตี้ใหม่ ตราบใดที่ดิสก์ที่เพิ่มเข้ามาใหม่นั้นเต็มไปด้วยข้อมูล 0 ไบต์
ในแผนภาพที่ 1 คำขออ่านบล็อก A1 จะได้รับการประมวลผลโดยดิสก์ 0 คำขออ่านบล็อก B1 พร้อมกันจะต้องรอ แต่คำขออ่านบล็อก B2 สามารถได้รับการประมวลผลพร้อมกันโดยดิสก์ 1
เรด 5

RAID 5ประกอบด้วยการแบ่งส่วนระดับบล็อกด้วยพาริตีแบบกระจาย ต่างจาก RAID 4 ตรงที่ข้อมูลพาริตีจะถูกกระจายไปยังไดรฟ์ต่างๆ จำเป็นต้องมีไดรฟ์ทั้งหมด ยกเว้นไดรฟ์เดียวจึงจะใช้งานได้ เมื่อไดรฟ์ตัวใดตัวหนึ่งล้มเหลว การอ่านครั้งถัดไปสามารถคำนวณได้จากพาริตีแบบกระจาย ทำให้ไม่มีข้อมูลสูญหาย[ 4 ] RAID 5 ต้องการดิสก์อย่างน้อยสามแผ่น[ 22 ]
มีรูปแบบข้อมูลและพาริตีหลายแบบในอาร์เรย์ไดรฟ์ดิสก์ RAID 5 ขึ้นอยู่กับลำดับการเขียนข้ามดิสก์[ 23 ]กล่าวคือ:
- ลำดับของบล็อกข้อมูลที่เขียนจากซ้ายไปขวาหรือจากขวาไปซ้ายบนอาร์เรย์ดิสก์ของดิสก์ 0 ถึง N
- ตำแหน่งของบล็อกพาริตีที่จุดเริ่มต้นหรือจุดสิ้นสุดของแถบ
- ตำแหน่งของบล็อกแรกของแถบเมื่อเทียบกับค่าพาริตีของแถบก่อนหน้า
รูปนี้แสดง 1) บล็อกข้อมูลที่เขียนจากซ้ายไปขวา 2) บล็อกพาริตีที่ส่วนท้ายของแถบ และ 3) บล็อกแรกของแถบถัดไปที่ไม่ได้อยู่บนดิสก์เดียวกันกับบล็อกพาริตีของแถบก่อนหน้า สามารถกำหนดให้เป็นรูปแบบ RAID 5 แบบอะซิงโครนัสซ้าย[ 23 ] และนี่เป็นรูปแบบเดียวที่ระบุไว้ใน หนังสือ The Raid Bookฉบับสุดท้าย[ 24 ]ที่ตีพิมพ์โดยRaid Advisory Board ที่เลิกกิจการไปแล้ว [ 25 ] ใน รูปแบบ ซิงโครนัสบล็อกข้อมูลแรกของแถบถัดไปจะถูกเขียนลงบนไดรฟ์เดียวกันกับบล็อกพาริตีของแถบก่อนหน้า
เมื่อเปรียบเทียบกับ RAID 4 แล้ว การกระจายพาริตี้ของ RAID 5 ช่วยลดภาระของดิสก์พาริตี้เฉพาะลงในหมู่สมาชิก RAID ทั้งหมด นอกจากนี้ ประสิทธิภาพการเขียนยังเพิ่มขึ้นเนื่องจากสมาชิก RAID ทั้งหมดมีส่วนร่วมในการให้บริการคำขอเขียน แม้ว่าจะไม่มีประสิทธิภาพเท่ากับการตั้งค่าแบบสไตรปิ้ง (RAID 0) เพราะยังคงต้องเขียนพาริตี้ แต่ก็ไม่ใช่คอขวดอีกต่อไป[ 26 ]
เนื่องจากการคำนวณพาริตีนั้นกระทำกับแถบข้อมูลทั้งหมด การเปลี่ยนแปลงเล็กน้อยในอาร์เรย์จึงส่งผลให้เกิดการขยายการเขียน : ในกรณีที่เลวร้ายที่สุด เมื่อต้องการเขียนข้อมูลลงในเซกเตอร์เชิงตรรกะเพียงเซกเตอร์เดียว จะต้องอ่านเซกเตอร์เดิมและเซกเตอร์พาริตีที่เกี่ยวข้อง ลบข้อมูลเดิมออกจากพาริตี คำนวณข้อมูลใหม่ลงในพาริตี จากนั้นจึงเขียนข้อมูลใหม่ลงในทั้งเซกเตอร์ข้อมูลใหม่และเซกเตอร์พาริตีใหม่
เรด 6

RAID 6ขยาย RAID 5 โดยเพิ่ม บล็อก พาริตี ที่สอง ดังนั้นจึงใช้ การแบ่งระดับ บล็อกด้วยบล็อกพาริตีสองบล็อกที่กระจายอยู่ทั่วดิสก์สมาชิกทั้งหมด[ 27 ] RAID 6 ต้องการดิสก์อย่างน้อยสี่แผ่น
เช่นเดียวกับ RAID 5 ระบบ RAID 6 มีรูปแบบการจัดเรียงดิสก์หลายแบบ ขึ้นอยู่กับทิศทางการเขียนบล็อกข้อมูล ตำแหน่งของบล็อกพาริตีเมื่อเทียบกับบล็อกข้อมูล และว่าบล็อกข้อมูลแรกของแถบถัดไปถูกเขียนลงในไดรฟ์เดียวกันกับบล็อกพาริตีสุดท้ายของแถบก่อนหน้าหรือไม่ รูปทางด้านขวาเป็นเพียงหนึ่งในรูปแบบการจัดเรียงหลายแบบดังกล่าว
ตามคำจำกัดความของสมาคมอุตสาหกรรมเครือข่ายจัดเก็บข้อมูล (SNIA) นิยามของ RAID 6 คือ: "RAID รูปแบบใดก็ได้ที่สามารถดำเนินการคำขออ่านและเขียนไปยังดิสก์เสมือนทั้งหมดของอาร์เรย์ RAID ได้อย่างต่อเนื่องในกรณีที่ดิสก์ล้มเหลวพร้อมกันสองดิสก์ วิธีการหลายวิธี รวมถึงการคำนวณข้อมูลตรวจสอบคู่ (พาริตีและรีด-โซโลมอน ) ข้อมูลตรวจสอบพาริตีคู่แบบตั้งฉาก และพาริตีแนวทแยง ได้ถูกนำมาใช้เพื่อใช้งาน RAID ระดับ 6" [ 28 ]
บล็อกที่สองมักจะติดป้ายกำกับว่า Q โดยบล็อกแรกติดป้ายกำกับว่า P โดยทั่วไป บล็อก P จะคำนวณจากพาริตี (XORing) ของข้อมูล เช่นเดียวกับ RAID 5 การใช้งาน RAID 6 ที่แตกต่างกันจะใช้รหัสการลบ ที่แตกต่างกัน ในการคำนวณบล็อก Q ตัวเลือกแบบคลาสสิกคือReed-Solomonแต่ต้องใช้การคำนวณฟิลด์ Galois ที่ใช้ CPU มาก แม้ว่าสิ่งนี้จะสามารถลดทอนได้ด้วยการใช้งานฮาร์ดแวร์ (ASIC หรือFPGA ) มีตัวเลือกพหุนามพิเศษจากH. Peter Anvinที่ใช้โดยLinuxซึ่งช่วยให้สามารถใช้งานได้อย่างมีประสิทธิภาพโดยใช้เพียงการบวกและการคูณด้วยสองใน GF(2 8 ) และเปิดโอกาสให้ใช้SSSE3 , AVX2หรือวิธีการ SIMD อื่นๆ เพื่อใช้งานได้อย่างมีประสิทธิภาพ[ 29 ]
รหัสการลบแบบใหม่ที่เชี่ยวชาญสำหรับ กรณี k = 2 นั้นก้าวไปไกลกว่าการปรับให้เหมาะสมของ Anvin ซึ่งรวมถึง EVENODD (1996), Row Diagonal Parity (RDP, 2004), รหัส Liberation (2008) [ 30 ] [ 31 ] [ 32 ] [ 33 ]และ Mojette (2015) [ 34 ]
ผลงาน
RAID 6 ใช้รหัสพาริตีตัวที่สองนอกเหนือจาก XOR แบบธรรมดา ส่งผลให้ต้องใช้พลังการประมวลผลมากขึ้นทั้งในการอ่านและเขียน ประสิทธิภาพจะแตกต่างกันอย่างมาก ขึ้นอยู่กับวิธีการใช้งาน RAID 6 ในสถาปัตยกรรมจัดเก็บข้อมูลของผู้ผลิต ไม่ว่าจะเป็นในซอฟต์แวร์ เฟิร์มแวร์หรือโดยการใช้เฟิร์มแวร์และตัวเร่งฮาร์ดแวร์ เฉพาะทาง ( ASICหรือFPGA ) สำหรับการคำนวณพาริตีที่ซับซ้อน[ 35 ]
โดยทั่วไป RAID 6 ไม่แสดงข้อเสียที่ชัดเจนสำหรับการอ่านข้อมูล: สำหรับข้อมูลที่ไม่เสียหาย จะต้องคำนวณและตรวจสอบพาริตี้แบบง่ายๆ เหมือนใน RAID 5 เท่านั้น เฉพาะเมื่อมีความไม่สอดคล้องกันเท่านั้นจึงจะต้องใช้พาริตี้ที่ซับซ้อนกว่า ความทนทานเพิ่มเติมสามารถทำได้โดยการขัดเกลา พื้นหลัง แทนการอ่านในพื้นหน้า ส่งผลให้ RAID 6 โดยทั่วไปอ่านได้เร็วเท่ากับ RAID 5 ที่มีจำนวนไดรฟ์ทางกายภาพเท่ากัน[ 35 ]
กลยุทธ์การตรวจสอบแบบหน่วงเวลาไม่สามารถใช้งานได้เมื่อทำการเขียนข้อมูล ส่งผลให้ประสิทธิภาพการทำงานของ RAID 6 ลดลงอย่างเห็นได้ชัดในระหว่างการเขียนข้อมูล
การเปรียบเทียบ
ตารางต่อไปนี้แสดงภาพรวมของข้อควรพิจารณาบางประการสำหรับระดับ RAID มาตรฐาน ในแต่ละกรณี ประสิทธิภาพการใช้พื้นที่ของอาร์เรย์จะแสดงเป็นนิพจน์ในแง่ของจำนวนไดรฟ์nโดยนิพจน์นี้ระบุค่าเศษส่วนระหว่างศูนย์ถึงหนึ่ง ซึ่งแสดงถึงเศษส่วนของผลรวมของความจุของไดรฟ์ที่สามารถใช้งานได้ ตัวอย่างเช่น หากจัดเรียงไดรฟ์สามตัวใน RAID 3 จะได้ประสิทธิภาพการใช้พื้นที่ของอาร์เรย์เท่ากับ1 − 1/ n = 1 − 1/3 = 2/3 ≈ 67%ดังนั้น หากแต่ละไดรฟ์ในตัวอย่างนี้มีความจุ 250 GB อาร์เรย์จะมีพื้นที่รวม 750 GB แต่ความจุที่ใช้งานได้สำหรับการจัดเก็บข้อมูลมีเพียง 500 GB เท่านั้น การกำหนดค่า RAID ที่แตกต่างกันยังสามารถตรวจจับความล้มเหลวในระหว่างกระบวนการที่เรียกว่าการขัดเกลาข้อมูลได้ อีกด้วย
ในอดีตดิสก์มีความน่าเชื่อถือต่ำกว่า และระดับ RAID ยังใช้เพื่อตรวจจับว่าดิสก์ใดในอาร์เรย์ล้มเหลว นอกเหนือจากการที่ดิสก์ล้มเหลว แม้ว่าตามที่ Patterson และคณะได้กล่าวไว้ แม้แต่ในช่วงเริ่มต้นของ RAID ดิสก์จำนวนมาก (แต่ไม่ใช่ทั้งหมด) ก็สามารถตรวจจับข้อผิดพลาดภายในได้โดยใช้รหัสแก้ไขข้อผิดพลาด โดยเฉพาะอย่างยิ่ง การมีชุดดิสก์แบบมิเรอร์ก็เพียงพอที่จะตรวจจับความล้มเหลวได้ แต่ดิสก์สองแผ่นไม่เพียงพอที่จะตรวจจับว่าดิสก์ใดล้มเหลวในอาร์เรย์ดิสก์ที่ไม่มีคุณสมบัติแก้ไขข้อผิดพลาด[ 36 ] อาร์เรย์ RAID สมัยใหม่ส่วนใหญ่ขึ้นอยู่กับความสามารถของดิสก์ในการระบุตัวเองว่าผิดพลาด ซึ่งสามารถตรวจจับได้เป็นส่วนหนึ่งของการตรวจสอบ ข้อมูลที่ซ้ำซ้อนจะใช้ในการสร้างข้อมูลที่หายไปขึ้นใหม่ แทนที่จะระบุไดรฟ์ที่ผิดพลาด ไดรฟ์จะถือว่าผิดพลาดหากเกิดข้อผิดพลาดในการอ่านที่ไม่สามารถกู้คืนได้ซึ่งเกิดขึ้นหลังจากที่ไดรฟ์พยายามอ่านข้อมูลหลายครั้งแล้วล้มเหลว ไดรฟ์ขององค์กรอาจรายงานความล้มเหลวในการลองน้อยกว่าไดรฟ์สำหรับผู้บริโภค ซึ่งเป็นส่วนหนึ่งของTLERเพื่อให้แน่ใจว่าคำขออ่านจะได้รับการดำเนินการในเวลาที่เหมาะสม[ 37 ]
| ระดับ | คำอธิบาย | จำนวนไดรฟ์ขั้นต่ำ[ข] | ประสิทธิภาพการใช้พื้นที่ | ความทนทานต่อความผิดพลาด | การแยกตัวไม่เป็นผล | อัตราความล้มเหลวของอาร์เรย์[ c ] |
|---|---|---|---|---|---|---|
| เรด 0 | การสร้างแถบสีระดับบล็อกโดยไม่มีพาริตี้หรือมิเรอร์ | 2 | ไม่มี | เฟิร์มแวร์ไดรฟ์เท่านั้น | ||
| เรด 1 | การสะท้อนภาพโดยไม่มีความเท่าเทียมกันหรือการแบ่งแถบ | 2 | ความล้มเหลวของไดรฟ์ | เฟิร์มแวร์ไดรฟ์หรือการลงคะแนนเสียงหาก | ||
| เรด 2 | การแบ่งระดับบิตด้วยรหัสแฮมมิงเพื่อแก้ไขข้อผิดพลาด | 3 | ไดรฟ์ตัวหนึ่งเกิดความล้มเหลว | เฟิร์มแวร์ไดรฟ์และพาริตี้ | ||
| เรด 3 | การแบ่งข้อมูลระดับไบต์พร้อมพาริตีเฉพาะ | 3 | ไดรฟ์ตัวหนึ่งเกิดความล้มเหลว | เฟิร์มแวร์ไดรฟ์และพาริตี้ | ||
| เรด 4 | การแบ่งแถบระดับบล็อกด้วยพาริตีเฉพาะ | 3 | ไดรฟ์ตัวหนึ่งเกิดความล้มเหลว | เฟิร์มแวร์ไดรฟ์และพาริตี้ | 1 − (1 − r ) n | |
| เรด 5 | การแบ่งแถบระดับบล็อกด้วยพาริตีแบบกระจาย | 3 | ไดรฟ์ตัวหนึ่งเกิดความล้มเหลว | เฟิร์มแวร์ไดรฟ์และพาริตี้ | 1 − (1 − r ) n | |
| เรด 6 | การแบ่งแถบระดับบล็อกด้วยพาริตีแบบกระจายคู่ | 4 | ไดรฟ์เสียสองครั้ง | เฟิร์มแวร์ไดรฟ์และพาริตี้ |
หมายเหตุ:
- อัตราความล้มเหลวของอาร์เรย์แสดงเป็นนิพจน์ในรูปของจำนวนไดรฟ์nและอัตราความล้มเหลวของไดรฟ์r (ซึ่งถือว่าเหมือนกันและเป็นอิสระต่อกันสำหรับแต่ละไดรฟ์) ตัวอย่างเช่น หากไดรฟ์ทั้งสามตัวมีอัตราความล้มเหลว 5% ในอีกสามปีข้างหน้า และไดรฟ์เหล่านี้จัดเรียงในรูปแบบ RAID 3 อัตราความล้มเหลวของอาร์เรย์ในอีกสามปีข้างหน้าจะเป็นดังนี้:
- ความเร็วไม่ได้รวมอยู่ด้วยเนื่องจากการรวมกันของหลายปัจจัยเกินกว่าที่จะใส่ลงในตารางได้ ประสิทธิภาพการอ่านสูงสุดตามทฤษฎี โดยพิจารณาจากประสิทธิภาพพื้นที่Eต่อ ไดรฟ์ nตัว จะ เท่ากับ nEเท่าของความเร็วในการอ่านของดิสก์ตัวเดียว ซึ่งกำหนดโดยปริมาณข้อมูลที่จำเป็นต้องอ่านออกมา เช่นเดียวกันนี้ใช้กับการเขียน โดยขีดจำกัดสูงสุดคือnEเท่าของความเร็วในการเขียนของดิสก์ตัวเดียว เมื่อใช้ดิสก์ที่มีความเร็วต่างกัน ความเร็วสูงสุดที่คงอยู่จะลดลงเหลือnEเท่าของความเร็วของดิสก์ที่ช้าที่สุด เนื่องจากแคช ใดๆ ที่อาจชดเชยความแตกต่างของความเร็วจะเต็มในที่สุด[ 14 ]
การคำนวณพาริตี้แบบเต็มรูปแบบในระหว่างการเขียนข้อมูลทำได้ยาก โดยเฉพาะอย่างยิ่งสำหรับ RAID 6 (ดังที่ได้กล่าวไว้ข้างต้น) ดังนั้น ความเร็วในการเขียนสูงสุดจึงต้องการฮาร์ดแวร์ที่มีประสิทธิภาพสูงเพื่อทำการคำนวณพาริตี้ในอัตราที่ตรงกับความสามารถของฮาร์ดดิสก์
วิธีการเข้ารหัสแบบบล็อก (RAID 4, 5, 6) สามารถเขียนข้อมูลขนาดแถบได้เต็มความเร็ว หากฮาร์ดแวร์มีประสิทธิภาพเพียงพอ อย่างไรก็ตาม เมื่อแก้ไขข้อมูลน้อยกว่าขนาดแถบ จะต้องใช้การอ่าน-แก้ไข-เขียน (RMW) หรือการสร้างใหม่-เขียน (RCW) เพื่อลดค่าปรับสำหรับการเขียนข้อมูลขนาดเล็ก RMW จะเขียนข้อมูลหลังจากอ่านแถบปัจจุบัน (เพื่อให้มีส่วนต่างสำหรับอัปเดตพาริตี) เวลาในการทำงานแต่ละรอบจะลดค่าลงเป็นเศษส่วน 2 เท่า และจำนวนดิสก์ที่จะเขียนจะลดค่าลงอีก 2 เท่าใน RAID 4/5 และ 3 เท่าใน RAID 6 ทำให้ได้ประสิทธิภาพตามทฤษฎีประมาณ1/4หรือ1/6RCWจะเขียนทันที จากนั้นจึงสร้างพาริตีขึ้นใหม่โดยการอ่านแถบที่เกี่ยวข้องทั้งหมดจากดิสก์อื่นๆ RCW มักจะเร็วกว่า RMW เมื่อจำนวนดิสก์มีน้อย แต่มีข้อเสียคือต้องปลุกดิสก์ทั้งหมด (รอบการเริ่มต้น-หยุดเพิ่มเติมอาจทำให้อายุการใช้งานสั้นลง) นอกจากนี้ RCW ยังเป็นวิธีการเขียนเพียงวิธีเดียวที่เป็นไปได้สำหรับแถบที่เสียหาย[ 40 ] (นี่ไม่ได้หมายความว่า RAID 4 หรือ 5 มีประสิทธิภาพน้อยกว่า RAID 3 ในทางปฏิบัติ RAID 3 แย่กว่านั้นอีกในการอ่านและเขียนขนาดเล็กเนื่องจากเวลาในการค้นหาที่เกี่ยวข้อง)
ผลกระทบต่อระบบ
จากการวัดประสิทธิภาพ I/O ของระบบไฟล์ 5 ระบบที่มีการกำหนดค่าพื้นที่จัดเก็บข้อมูล 5 แบบ ได้แก่ SSD เดี่ยว, RAID 0, RAID 1, RAID 10 และ RAID 5 พบว่าF2FSบน RAID 0 และ RAID 5 ที่ใช้ SSD 8 ตัว มีประสิทธิภาพเหนือกว่าEXT4ถึง 5 เท่าและ 50 เท่า ตามลำดับ การวัดยังชี้ให้เห็นว่าตัวควบคุม RAID อาจเป็นคอขวดที่สำคัญในการสร้างระบบ RAID ที่ใช้ SSD ความเร็วสูง[ 41 ]
RAID แบบซ้อนกัน
การรวมกันของระดับ RAID มาตรฐานสองระดับขึ้นไป เรียกอีกอย่างว่า RAID 0+1 หรือ RAID 01, RAID 0+3 หรือ RAID 03, RAID 1+0 หรือ RAID 10, RAID 5+0 หรือ RAID 50, RAID 6+0 หรือ RAID 60 และ RAID 10+0 หรือ RAID 100
รูปแบบที่ไม่เป็นไปตามมาตรฐาน
นอกเหนือจากระดับ RAID มาตรฐานและแบบซ้อนกันแล้ว ยังมีทางเลือกอื่นๆ ได้แก่ระดับ RAID ที่ไม่เป็นมาตรฐานและสถาปัตยกรรมไดรฟ์ที่ไม่ใช่ RAIDสถาปัตยกรรมไดรฟ์ที่ไม่ใช่ RAID มักถูกเรียกด้วยคำและตัวย่อที่คล้ายคลึงกัน โดยเฉพาะอย่างยิ่งJBOD ("just a bunch of disks"), SPAN/BIGและMAID ("massive array of idle disks")
หมายเหตุ
อ่านเพิ่มเติม
- "เรียนรู้เกี่ยวกับ RAID" . Support.Dell.com . Dell . 2009. เก็บถาวรจากต้นฉบับเมื่อ 2009-02-20 . เรียกดูเมื่อ2016-04-15 .
- ระบบจัด เก็บข้อมูลแบบ RAID (Redundant Arrays of Inexpensive Disks)บทที่ 38 จาก หนังสือ Operating Systems: Three Easy Piecesโดย Remzi H. Arpaci-Dusseau และ Andrea C. Arpaci-Dusseau
ลิงก์ภายนอก
- บทสรุปของ IBM เกี่ยวกับระดับ RAID
- เครื่องคำนวณ RAID สำหรับระดับ RAID มาตรฐาน
- คู่มือผู้ใช้ Sun StorEdge 3000 Family Configuration Service 2.5: พื้นฐาน RAID
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ระดับ RAID มาตรฐาน
ใน การจัดเก็บข้อมูลคอมพิวเตอร์ ระดับ RAID มาตรฐาน ประกอบด้วยชุดพื้นฐานของ การกำหนด ค่า RAID ("redundant array of independent disks" หรือ "redundant array of inexpensive disks")...
เรด 0
RAID 0 (หรือที่รู้จักกันในชื่อ stripe set หรือ striped volume ) จะแบ่ง ข้อมูล(" stripes ") อย่างสม่ำเสมอไปยังดิสก์สองแผ่นขึ้นไป โดยไม่มีข้อมูล พาริตี ความซ้ำซ้อน หรือ ความทนทานต่อความผิดพลาด เนื่องจาก RAID 0 ไม่มีความทนทานต่อความผิดพลาดหรือความซ้ำซ้อน...
ผลงาน
อาร์เรย์ RAID 0 ของ ไดรฟ์ n ตัวให้ความเร็วในการอ่านและเขียนข้อมูลสูงกว่าความเร็วของไดรฟ์แต่ละตัวถึง n เท่า แต่ไม่มี การสำรองข้อมูล ดังนั้น RAID 0 จึงถูกใช้เป็นหลักในแอปพลิเคชันที่ต้องการประสิทธิภาพสูงและสามารถทนต่อความน่าเชื่อถือที่ต่ำกว่าได้ เช่น ใน...
เรด 1
RAID 1 ประกอบด้วยสำเนาที่เหมือนกันทุกประการ (หรือ มิเรอร์ ) ของชุดข้อมูลบนดิสก์สองแผ่นขึ้นไป โดย RAID 1 แบบมิเรอร์คู่แบบคลาสสิกจะมีดิสก์สองแผ่น การกำหนดค่านี้ไม่มีพาริตี้ การแบ่งส่วน หรือการกระจายพื้นที่ดิสก์ข้ามดิสก์หลายแผ่น...