RAID คืออะไร?

RAID ย่อมาจาก Redundant Array ของดิสก์ราคาไม่แพง หรือ Redundant Array ของดิสก์อิสระ เป็นโซลูชันการจำลองเสมือนการจัดเก็บข้อมูลที่ใช้ไดรฟ์จริงหลายตัวเป็นไดรฟ์จริงตัวเดียว วัตถุประสงค์ของ RAID คือเพื่อให้ข้อมูลสำรอง ปรับปรุงประสิทธิภาพ หรือทั้งสองอย่างขึ้นอยู่กับระดับ RAID ที่ใช้

แนวคิด RAID

แนวคิดหลักสามประการใน RAID คือ "การทำมิเรอร์" "การสตริป" และ "ความเท่าเทียมกัน"

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

RAID สตริป เป็นแนวคิดในการกระจายข้อมูลไปยังไดรฟ์หลายตัว ซึ่งช่วยให้สามารถใช้งานไดรฟ์ทั้งหมดได้อย่างเต็มประสิทธิภาพและช่วยให้มีประสิทธิภาพมากขึ้นเนื่องจากมีการเขียนข้อมูลหรืออ่านข้อมูลจากไดรฟ์หลายตัวพร้อมกัน ข้อเสียของสิ่งนี้คือการสูญเสียไดรฟ์ใด ๆ ทำให้อาร์เรย์ทั้งหมดเสียหาย

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

ระดับ RAID ทั่วไป

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

เคล็ดลับ: RAID 0 แตกต่างจากการขยายดิสก์หลายแผ่นเข้าด้วยกัน เทคนิคทั้งสองช่วยให้สามารถใช้ไดรฟ์ได้เต็มที่ การขยายดิสก์เข้าด้วยกันไม่ได้ช่วยเพิ่มประสิทธิภาพที่มาจากการสตริปข้อมูล แต่จะรักษาข้อมูลที่บันทึกไว้ในดิสก์ที่ใช้งานได้หากดิสก์ที่ขยายล้มเหลว

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

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

RAID 6 เหมือนกันกับ RAID 5 แต่จัดเก็บพาริตีบล็อกสองบล็อกในดิสก์ทั้งหมดในอาร์เรย์ พาริตีพิเศษนี้เพิ่มการประมวลผลพาริตีที่จำเป็นเป็นสองเท่า จึงลดประสิทธิภาพมากกว่า RAID 5 แต่ยังน้อยกว่า RAID 4 RAID 6 ต้องการไดรฟ์อย่างน้อยสี่ตัวในอาร์เรย์ แต่สามารถจัดการกับไดรฟ์ที่ล้มเหลวได้ถึงสองไดรฟ์

RAID 0+1 คืออาร์เรย์ RAID ที่ซ้อนกัน ขั้นแรกจะสร้างอาร์เรย์ RAID 0 ของดิสก์แบบสไทรพ์ จากนั้นจึงสร้างมิเรอร์ RAID 1 ของอาร์เรย์นั้น การซ้อนอาร์เรย์RAID ทั้งสองประเภทนี้จะทำให้เกิดความซ้ำซ้อนของการมิเรอร์และการเพิ่มความเร็วของสตริป ข้อเสียของวิธีนี้คือต้องใช้ไดรฟ์อย่างน้อยสี่ตัว และหากไดรฟ์ล้มเหลว กระจกทั้งหมดจะล้มเหลว หากไดรฟ์ใดล้มเหลว แสดงว่าอาร์เรย์ RAID 0 เสียหาย ในอาร์เรย์ RAID 0+1 ของดิสก์สี่ดิสก์ การสูญเสียดิสก์เดียวจะทำให้ดิสก์ที่จับคู่เสียหาย โดยปล่อยให้ดิสก์อีก 2 ตัวไม่มีการป้องกันมิเรอร์

RAID 10 เป็นอาร์เรย์ RAID ที่ซ้อนกันอีกประเภทหนึ่ง โดยจะสร้างอาร์เรย์ RAID 1 ของดิสก์ที่ทำมิเรอร์ จากนั้นจึงสร้างแถบ RAID 0 ของอาร์เรย์นั้น การซ้อนอาร์เรย์ด้วยวิธีนี้ยังให้ความซ้ำซ้อนและเพิ่มประสิทธิภาพเหมือนกับ RAID 0+1 อย่างไรก็ตาม ด้วยการใช้งานนี้ คุณอาจสูญเสียไดรฟ์จำนวนมากตราบเท่าที่มิเรอร์แต่ละตัวมีดิสก์ที่ใช้งานได้อย่างน้อยหนึ่งดิสก์ นอกจากนี้ยังใช้เวลาน้อยลงในการสร้างอาร์เรย์ขึ้นใหม่ในกรณีที่ไดรฟ์ล้มเหลว เนื่องจากต้องสร้างไดรฟ์ที่ทำมิเรอร์เพียงชุดเดียวเท่านั้น