วันเสาร์ที่ 5 มกราคม พ.ศ. 2556

RAID คืออะไร และรูปแบบต่าง ๆ

RAID คืออะไร และรูปแบบต่าง ๆ

Q : RAID คืออะไร?

A : RAID (Redundant Array of Inexpensive Disk) คือการนำเอา Harddisk ตั้งแต่ 2 ตัวขึ้นไปมาทำงานร่วมกันเสมือนเป็น harddisk ตัวเดียวที่มีประสิทธิภาพสูงขึ้น หรือมีโอกาสที่จะสูญเสียข้อมูลน้อยลงในกรณีที่เกิดความผิดพลาดของ hardware (fault tolerance) กลุ่มของ harddisk ที่เอามาทำงานร่วมกันในเทคโนโลยี RAID จะถูกเรียกว่า disk array โดยระบบปฏิบัติการและ software จะเห็น harddisk ทั้งหมดเป็นตัวเดียว ซึ่งการทำ RAID นี้นอกจากจะเป็นการเพิ่มประสิทธิภาพของการเก็บรักษาข้อมูลแล้ว ยังเป็นการประหยัดอีกด้วย เพราะว่ายิ่ง harddisk มีความจุมากเท่าไหร่ ราคาของมันก็จะยิ่งสูงขึ้นเท่านั้น ดังนั้น สำหรับงาน ที่จำเป็นต้องใช้พื้นที่ในการเก็บข้อมูลมากๆ อย่าง Database Server ถ้าเราเลือกใช้ harddisk ความจุมากๆ เพียงตัวเดียว ในการเก็บข้อมูลหรือที่เรียกกันว่าเป็นการใช้ harddisk แบบ SLED หรือ Single Large Expensive Disk ราคาที่เราเสียไปกับ harddisk ตัวเดียวนั้น อาจจะไม่คุ้มค่าเท่ากับการใช้ harddisk ที่มีความจุต่ำกว่า (ซึ่งแน่นอนว่าราคาต้องถูกกว่าหลายเท่าด้วย) นำมาต่อเพื่อให้ทำงานร่วมกันหรือที่เรียกกันว่าเป็นการใช้ harddisk แบบ RAID

Q : Data Striping คืออะไร

A : Data Striping คือการแบ่งข้อมูลออกเป็นส่วนๆ แล้วนำแต่ละส่วนไปเก็บใน harddisk แต่ละตัว การทำ striping นี้จะช่วยให้การอ่าน หรือเขียนข้อมูลใน disk array มีประสิทธิภาพมากขึ้น เพราะแต่ละไฟล์จะถูกแบ่งเป็นส่วนๆ กระจายไปเก็บในส่วนที่ต่างกันของ harddisk หลายตัว โดย harddisk เหล่านั้นทำงานไปด้วยกันแบบขนาน (parallel) จึงทำให้การเข้าถึงข้อมูลนั้นเร็วกว่า harddisk แบบตัวเดียว

Q : Raid มีกี่ประเภท ??

A : มีหลายประเภท ขึ้นอยู่กับการใช้งานของแต่ละท่านครับ

RAID 0
คือ การเอา harddisk มากกว่า 1 ตัวมาต่อร่วมกันในลักษณะ non-redundant ซึ่ง RAID 0 นี้มีจุดประสงค์ เพื่อที่จะเพิ่มความเร็วในการอ่าน/เขียนข้อมูล harddisk โดยตรง ไม่มีการเก็บข้อมูลสำรอง ดังนั้นถ้าฮาร์ดดิสก์ตัวใดตัวหนึ่งเกิดเสียหาย ก็จะส่งผลให้ข้อมูลทั้งหมดไม่สามารถใช้งานได้ทันที จากรูป จะเห็นว่าข้อมูลจะถูกแบ่งไปเก็บที่ harddisk ทั้ง 3 ตัว (กรณีที่เราใช้ harddisk 3 ตัวมาต่อ RAID 0 กัน) และถ้าเพิ่มจำนวน harddisk ใน array ให้มากขึ้น เวลาที่ใช้อ่านหรือเขียนข้อมูลก็จะลดลงไปตามสัดส่วน ตามทฤษฎีแล้ว ถ้า disk array มี harddisk จำนวน N ตัว ก็จะทำให้อ่านหรือแขียนข้อมูลได้เร็วขึ้นเป็น N เท่าตัว แต่ด้วยเหตุผลและปัจจัยหลายประการ เช่น RAID controller, ความคลาดเคลื่อนของความเร็ว harddisk ทำให้ในความเป็นจริงอาจเร็วไม่ถึงตามทฤษฎี

จุดเด่นของ RAID 0 คือความเร็วในการเข้าถึงข้อมูล แต่ข้อเสียก็คือหาก harddisk ตัวใดตัวหนึ่งเสียหาย จะส่งผลกับข้อมูลทั้งระบบทันที


RAID 1
RAID 1 มีอีกชื่อหนึ่งว่า disk mirroring จะประกอบไปด้วย harddisk 2 ตัวที่เก็บข้อมูลเหมือนกันทุกประการ เสมือนการสำรองข้อมูล หาก harddisk ตัวใดตัวหนึ่งเกิดเสียหาย ระบบก็ยังสามารถดึงข้อมูลจาก harddisk อีกตัวหนึ่งมาใช้งานได้ตามปกติ สำหรับ RAID controller ที่ถูกออกแบบมาเป็นอย่างดีแล้ว การเขียนข้อมูลลง harddisk 2 ตัวในเวลาเดียวกัน จะใช้เวลาพอๆ กับการเขียนข้อมูลลง harddisk ตัวเดียว ในขณะที่เวลาในการอ่านก็จะน้อยลง เพราะ RAID controller จะเลือกอ่านข้อมูลจาก harddisk ตัวไหนก็ได้ โดยหากมีคำสั่งให้อ่านข้อมูล 2 ชุดในเวลาเดียวกัน ตัว RAID controller ก็สามารถประมวลผลคำสั่งเพื่ออ่านข้อมูลจาก harddisk ตัวหนึ่ง และคำสั่งอีกชุดนึงจาก harddisk อีกตัวนึงก็ได้

จุดเด่นของ RAID 1 คือความปลอดภัยของข้อมูล ไม่เน้นเรื่องประสิทธิภาพและความเร็วเหมือนอย่าง RAID 0 แม้ว่าประสิทธิภาพในการอ่านข้อมูลของ RAID 1 จะสูงขึ้นก็ตาม

RAID 2
ใน RAID 2 นี้ ข้อมูลทั้งหมดจะถูกตัดแบ่งเพื่อจัดเก็บลง harddisk แต่ละตัวใน disk array โดยจะมี harddisk ตัวหนึ่งเก็บข้อมูลที่ใช้ตรวจสอบและแก้ไขข้อผิดพลาด (ECC - Error Checking and Correcting) ซึ่งเป็นการลดเปอร์เซ็นต์ที่ข้อมูลจะเสียหายหรือสูญเสียไป เมื่อมีการส่งข้อมูลไปบันทึกใน disk array จะเห็นได้ว่ามี harddisk ที่เอาไว้เก็บค่า ECC โดยเฉพาะ ถ้าเกิดการปรากฏว่า harddisk ตัวใดตัวหนึ่งเสียหาย ระบบก็จะสามารถสร้างข้อมูลทั้งหมดใน harddisk ตัวนั้นขึ้นมาได้ใหม่ โดยอาศัยข้อมูลจาก harddisk ตัวอื่นๆ และจากค่า ECC ที่เก็บเอาไว้ ซึ่งการทำ ECC นี้ส่งผลให้ harddisk ทั้งระบบต้องทำงานค่อนข้างมากทีเดียว และ RAID 2 นั้นจะเห็นได้ว่าต้องใช้ harddisk จำนวนมากในกา

RAID 3
RAID 3 มีลักษณะที่คล้ายกับ RAID 2 แต่แทนที่จะตัดแบ่งข้อมูลในระดับ bit เหมือน RAID 2 ก็จะตัดเก็บข้อมูลในระดับ byte แทนและการตรวจสอบและแก้ไขข้อผิดพลาดของข้อมูล จะใช้ parity แทนที่จะเป็น ECC ทำให้ RAID 3 มีความสามารถในการอ่านและเขียนข้อมูลได้อย่างรวดเร็ว เพราะมีการต่อ harddisk แต่ละตัวแบบ stripe และใช้ harddisk ที่เก็บ parity เพียงแค่ตัวเดียวเท่านั้น แต่ถ้านำ RAID 3 ไปใช้ในงานที่มีการส่งผ่านข้อมูลในจำนวนที่น้อยๆ ซึ่ง RAID 3 ต้องกระจายข้อมูลไปทั่วทั้ง harddisk จะทำให้เกิดปัญหาที่เรียกว่า คอขวด ขึ้นกับ harddisk ที่เก็บ parity เพราะไม่ว่าข้อมูลจะมีขนาดใหญ่ขนาดไหน RAID 3 ต้องเสียเวลาไปสร้างส่วน parity ทั้งสิ้น ยิ่งข้อมูลมีขนาดเล็กๆ แต่ parity ต้องสร้างขึ้นตลอด ทำให้ข้อมูลถูกจัดเก็บเสร็จก่อนการสร้าง parity ทั้งระบบต้องมารอให้สร้าง parity เสร็จก่อน จึงจะทำงานต่อไปได้นั่นเอง

RAID 3 เหมาะสำหรับใช้ในงานที่มีการส่งข้อมูลจำนวนมากๆ เช่นงานตัดต่อ Video เป็นต้น

RAID 4
RAID 4 มีลักษณะโดยรวมเหมือนกับ RAID 3 ทุกประการ ยกเว้นเรื่องการตัดแบ่งข้อมูลที่ทำในระดับ block แทนที่จะเป็น bit หรือ byte ซึ่งทำให้การอ่านข้อมูลแบบ random ทำได้รวดเร็วกว่า อย่างไรก็ตาม ปัญหาคอขวดที่กล่าวใน RAID 3 ก็ยังมีโอกาสเกิดขึ้นเหมือนเดิมครับ

RAID 5
มี การตัดแบ่งข้อมูลในระดับ block เช่นเดียวกับ RAID 4 แต่จะไม่ทำการแยก harddisk ตัวใดตัวหนึ่งเพื่อเก็บ parity ในการเก็บ parity ของ RAID 5 นั้น จะกระจาย parity ไปยัง harddisk ทุกตัว โดยปะปนไปกับข้อมูลปกติ จึงช่วยลดปัญหาคอขวด ซึ่งเป็นปัญหาที่สำคัญใน RAID 3 และ RAID 4 คุสมบัติอีกอันหนึ่งที่น่าสนใจของ RAID 5 คือ เทคโนโลยี Hot Swap คือเราสามารถทำการเปลี่ยน harddisk ในกรณีที่เกิดปัญหาได้ในขณะที่ระบบยังทำงานอยู่ เหมาะสำหรับงาน Server ต่างๆ ที่ต้องทำงานต่อเนื่อง

RAID 6
RAID 6 อาศัยพื้นฐานการทำงานของ RAID 5 เกือบทุกประการ แต่มีการเพิ่ม parity block เข้าไปอีก 1 ชุด เพื่อยอมให้เราทำการ Hot Swap ได้พร้อมกัน 2 ตัว (RAID 5 ทำการ Hot Swap ได้ทีละ 1 ตัวเท่านั้น หาก harddisk มีปัญหาพร้อมกัน 2 ตัว จะทำให้เสียทั้งระบบ) เรียกว่าเป็นการเพิ่ม Fault Tolerance ให้กับระบบ โดย RAID 6 เหมาะกับงานที่ต้องการความปลอดภัยและเสถียรภาพของข้อมูลที่สูงมากๆ

RAID 7
RAID 7 อาศัยพื้นฐานการทำงานของ RAID 4 โดนเพิ่มคุณสมบัติบางอย่างเข้าไป เพื่อทำให้ harddisk แต่ละตัวทำงานอิสระต่อกัน ไม่จำเป็นต้องรอให้ harddisk ตัวใดตัวหนึ่งทำงานเสร็จก่อน (ซึ่งทำให้เกิดปัญหาคอขวดใน RAID 4) โดยการส่งข้อมูลแต่ละครั้ง จะทำการส่งผ่าน X-Bus ซึ่งเป็นบัสที่มีความเร็วสูง RAID 7 ยังมีหน่วยความจำแคชหลายระดับในตัว RAID Controller เพื่อแยกการทำงานให้อิสระต่อกัน โดยจะมี Real-Time Operating System อยู่ภายในส่วนที่เรียกว่า Array Control Processor ทำหน้าที่ควบคุมการส่งข้อมูลบนบัส

RAID 7 เหมาะสำหรับใช้ในองค์กรขนาดใหญ่ เชื่อมต่อได้สูงสุดถึง 12 host 48 drives และราคาของระบบ RAID 7 ค่อนข้างที่จะสูงมาก ด้วย RAID 7 เป็นลิขสิทธิ์เฉพาะของบริษัท Storage Computer Corporation ทำให้ผู้ใช้งาน RAID 7 ไม่สามารถปรับแต่งอะไรกับเครื่องเลย ทำให้ RAID 7 ไม่ค่อยได้รับความนิยมมากนัก

RAID 10
RAID 10 หรือ RAID 0+1 เป็นการผสมผสานระหว่าง RAID 0 และ RAID 1 เข้าด้วยกัน ทำให้การเข้าถึงข้อมูลเป็นไปได้อย่างรวดเร็ว และมีการทำ mirror ข้อมูล (backup ข้อมูล) ไปด้วย ข้อเสียของ RAID 10 คือการเพิ่มจำนวน harddisk ในอนาคตเป็นไปได้ยาก เพราะ harddisk แต่ละตัวมี mirror เป็นของตัวเอง ยิ่งเพิ่ม harddisk เพื่อใช้งานก็ต้องเพิ่ม harddisk เพื่อ backup ไปด้วย เหมาะสำหรับ Server ที่ต้องการความเร็วในการเข้าถึงข้อมูลค่อนข้างมาก และไม่ต้องการความจุมากนัก

RAID 53
RAID 53 มีอัตราความเร็วการเข้าถึงข้อมูลค่อนข้างสูง เพราะมีพื้นฐานการทำงานของ RAID 0 อยู่ และมีการป้องกันความเสียหายที่จะเกิดขึ้นได้ เหมือน RAID 3 ซึ่งแน่นอนว่ายังมีปัญหาคอขวดด้วย นอกจากนี้ RAID 53 ยังสามารถทำ Hot Swap ได้เหมือนใน RAID 5 ครับ



ประโยชน์ของ RAID
ผลลัพธ์ที่ได้จากการนำเอาฮาร์ดดิสต์หลายๆตัวนำมาทำเป็น RAID คือ

1.จะ ทำให้ อัตราการโอนถ่ายข้อมูลสูงกว่าอัตราการโอนถ่ายข้อมูล (DATA TRANSFER RATES)ฮาร์ดดิสต์ตัวเดี่ยวๆ ซึ่งนั่นหมายถึง การเพิ่มประสิทธิภาพและสมรรถนะของเครื่งเซริฟเวอร์โดยปริยาย

2.เป็นโซลูชั่นในการเพิ่มความจุของระบบจัดเก็บข้อมูลต่อ ไดร์ฟได้อย่างไม่จำกัดไดร์ฟได้อย่างไม่จำกัด
(ไดร์ฟ C) ในขณะที่การเพิ่มฮาร์ดดิสต์ในระบบปกติ แม้จะเป็น

3.สร้าง ความปลอดภัยให้ข้อมูลด้วยระบบ DATA REDUNDANCY/ FAULT TOLERANCE คุณจึงอุ่นใจได้ว่าข้อมูลจะไม่มีวันสูญหาย ถ้าหากมีฮาร์ดดิสต์ ตัวใดตัวหนึ่งในอะเรย์ เสียอย่างกะทันหัน
นอกจากนั้นแล้วคุณก็ยังสามารถ แก้ไขฮาร์ดดิสต์ตัวที่เสียโดย การถอดเปลี่ยนแทนที่ด้วยฮาร์ดดิสต์ตัวใหม่โดยที่ไม่ต้อง Down ระบบซึ่งต่างจากการต่อฮาร์ดดิสต์ในแบบทั่วๆไปหาก ฮาร์ดดิสต์เสีย ขึ้นมาก็เท่ากับข้อมูลเกิดสูญหายในทันที
RAID มีประเภทและจะมีวิธีการเลือกชนิดของ RAID อย่างไร
หาก จะแบ่ง RAID ตามประเภทของการจัดการจัดเก็บข้อมุลแล้ว จะมีมากกว่า 10 ชนิด แต่ที่นิยมเลือกใช้และ ใช้กันอย่างแพร่หลาย จริงๆจะมีอยู่ราว 5 ชนิดคือ RAID0, RAID 1,RAID0+1,RAID3 และ RAID5 นอกจากนี้แล้วประเภทของ RAID ชนิดใหม่ที่กำลังได้รับความนิยม เพิ่มขึ้นในขณะนี้คือ RAID3 และ RAID5 สำหรับคุณสมบัติและหลักใน การทำงานของ RAID ทั้ง 7 ชนิดสามารถอธิบายให้เข้าใจพอสังเขปได้ดังนี้

ชนิดของ RAID แต่ละประเภท

1. RAID 0 (STRIPING )
2. RAID 1 (MIRRORING)
3. RAID 0+1(STRIPING/MIRRORING)
4. RAID 3 ( Block Striping with Parity Drive)
5. RAID 5 (BLOCK AND PARRITY STRIPING)
6. RAID 30 (STRIPING OF DEDICATED RARITY ARRAYS)
7. RAID 50(STRIPING OF DISTRIBUTED PARITY ARRAYS)


What is RAID
RAID ย่อมาจากคำว่า Redundant Array of (Independent) Inexpensive Disks เป็นวิธีการเก็บข้อมูลให้กระจายไปในดิสก์หลายๆ ตัวเพื่อช่วยให้การเพิ่มประสิทธิภาพในการอ่านและเขียนข้อมูล หรือเพื่อช่วยเพิ่มความน่าเชื่อถือในการเก็บข้อมูล หรือทั้งสองอย่าง จุดประสงค์เบื้องต้นของ RAID ในสมัยแรกเริ่มคือ การรวบรวมเอาดิสก์ขนาดเล็กและราคาไม่แพงมาต่อเข้าด้วยกันเพื่อให้มีขนาดและ ความสามาร
ถทดแทนเหมือนดิสก์ขนาดใหญ่ที่มีราคาแพงๆ ได้ อย่างไรก็ตามในปัจจุบันดิสก์ขนาดใหญ่มีราคาถูกลงอย่างมากเมื่อเทียบกับเมื่อ ก่อน RAID จึงถูกใช้ในด้านการเพิ่มประสิทธิภาพและความน่าเชื่อถือ (reliability) ของระบบมากกว่าด้านราคา จึงทำให้คำว่า Inexpensive ถูกแทนที่ด้วยคำว่า Independent

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


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

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

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


RAID-2 ข้อมูลจะถูก stripe ไปยังดิสก์หลายๆ ตัวในระดับ bit และจะใช้ Hamming Code ECC เป็นเทคนิคสำหรับใช้ทำ error correction โดยจะต้องใช้ดิสก์หนึ่งตัวหรือมากกว่าเป็นที่สำหรับเก็บ Hamming Code ECC นี้ สำหรับการทำงานของ RAID-2 เมื่อมีการเขียนข้อมูลลงในดิสก์ RAID-2 จะคำนวณ ECC ของข้อมูลที่อยู่ใน stripe เดียวกันและเก็บลงใน ECC ดิสก์ ในกรณีที่มีดิสก์ที่เก็บข้อมูลเกิดความเสียหาย RAID ก็จะทำการ recover ข้อมูลได้ด้วยการ rebuild ข้อมูลในดิสก์ตัวที่เสียไปขึ้นมาใหม่จาก ECC
เดิมที RAID-2 ถูกออกแบบมาใช้สำหรับดิสก์ที่ไม่มี hardware สำหรับทำ error detection แต่ปัจจุบันดิสก์ทุกตัวจะมี hardware นี้อยู่ในตัวแล้ว จึงทำให้ RAID-2 ไม่ได้รับความนิยมอีกต่อไป


RAID-3คล้ายกับ RAID-2 แต่ข้อมูลจะถูก stripe ในระดับ byte และใช้ฟังก์ชั่น XOR สำหรับ


คำนวณ หาค่า parity เพื่อทำ error correction สำหรับ RAID-3 นี้จะเสียดิสก์ตัวหนึ่งไว้สำหรับเก็บค่า parity โดยในระหว่างการเขียนข้อมูล RAID-3 จะใช้ข้อมูลที่อยู่ใน stripe เดียวกันมา XOR กันเพื่อหาค่า parity แล้วเก็บลงใน parity ดิสก์ เช่น P1 = a XOR b XOR c XOR d ในกรณีที่ดิสก์ตัวหนึ่งมีความเสียหาย RAID ก็จะทำการ recover ข้อมูลได้ด้วยการสร้างข้อมูลในดิสก์ตัวที่เสียไปขึ้นมาใหม่จากดิสก์ parity สมมติว่าดิสก์ตัวที่ 3 เสียทำให้อ่านข้อมูล c ไม่ได้ RAID สามารถ rebuild ข้อมูลที่อยู่ในดิสก์ตัวที่ 3 โดยอาศัย parity ดังนี้ c = P1 XOR a XOR b XOR d

การเขียนข้อมูลของ RAID-3 จะช้าลงเพราะต้องมีการคำนวณ parity ใหม่ ทำให้ต้องมีการอ่าน parity และข้อมูลเดิมขึ้นมาเพื่อใช้คำนวณหา parity ใหม่ แล้วจึงสามารถเขียนข้อมูลใหม่ลงไปได้ เช่นถ้า c ถูกเปลี่ยนเป็น x จะคำนวณหา parity ใหม่ (Px) ก็จะต้องอ่าน c และ P1 ขึ้นมาคำนวณ Px = P1 XOR c XOR x
RAID-3 จะเปลืองดิสก์ไปตัวหนึ่งสำหรับเก็บ parity และด้วยเหตุที่มีดิสก์ที่ใช้เก็บ parity เพียงแค่ตัวเดียว ดิสก์ตัวนี้อาจจะทำงานหนักจนถ่วงการทำงานของระบบได้ RAID-3 จึงเหมาะสำหรับงานประเภท single-user ที่ข้อมูลมีความต่อเนื่องและมีขนาดใหญ่ แต่ RAID-3 ไม่เหมาะกับงาน multi-user ที่มีการเข้าถึงข้อมูลแบบ random เนื่องจาก RAID-3 ทำ stripe ในระดับ byte ทำให้การอ่านหรือเขียนข้อมูลทุกครั้งแม้จะเล็กเพียงแค่ block เดียวก็จะต้องใช้งานดิสก์ทุกตัวเสมอ


RAID-4จะเหมือน RAID-3 แต่ข้อมูลจะถูก stripe ในระดับ block และจะกันดิสก์ตัวหนึ่งไว้เก็บ parity ในกรณีที่ดิสก์ตัวหนึ่งมีความเสียหาย RAID ก็จะทำการ recover ข้อมูลได้ด้วยการสร้างข้อมูลในดิสก์ตัวที่เสียไปขึ้นมาใหม่จากดิสก์ parity

RAID-4 มีการคำนวณหาค่า parity ที่ใช้ช่วยในการ recover ข้อมูล ทำให้การเขียนข้อมูลจะช้าลงเพราะการคำนวณ parity จะต้องอ่านข้อมูลและ parity เดิมจากดิสก์ และดิสก์ที่ใช้เก็บ parity เพียงแค่ตัวเดียวนี้อาจจะทำงานหนักจนถ่วงการทำงานของระบบได้ทำให้ไม่เหมาะ กับงานที่ม
ีการเขียนพร้อมๆ กันมากๆ อย่างไรก็ตาม RAID-4 มีประสิทธิภาพในการอ่านสูงกว่า RAID-3 มาก เพราะการ stripe ในระดับ block ทำให้การอ่านข้อมูล block หนึ่งๆ อาจจะอ่านจากดิสก์ตัวเดียวได้ ไม่จำเป็นต้องอ่านจากทุกตัวเหมือน RAID-3 ทำให้ประสิทธิภาพในการอ่านข้อมูลจึงเหมือนกับ RAID-0

RAID-5ลักษณะการทำงานจะคล้ายกับ RAID-4 เพียงแต่ parity จะถูก stripe ไปยังดิสก์ทุกๆ ตัวด้วย

ประสิทธิภาพ ในการอ่านข้อมูลใกล้เคียงกับ RAID-0 มี parity ที่ใช้ช่วยในการ recover ข้อมูล การเขียนข้อมูลจะช้าลงเพราะต้องมีการคำนวณ parity และเปลืองเนื้อที่ไปเทียบเท่ากับดิสก์ตัวหนึ่งสำหรับเก็บค่า parity แต่จะไม่มี parity ดิสก์ที่จะทำงานหนักเกินไป RAID-5 จึงเหมาะสำหรับงานประเภท multi-user ทั่วๆ ไป

RAID-6การทำงานจะเหมือนกับ RAID-5 แต่จะมี parity 2 ชุดกระจายในดิสก์ทุกตัว

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

RAID-10คือการทำ RAID-0 บน RAID-1 หรือ striping บน mirroring

RAID-10 มีการสำรองข้อมูลที่สมบูรณ์และมีประสิทธิภาพในการอ่านเขียนข้อมูลสูง แต่จะมีราคาแพงมากเพราะต้องใช้ดิสก์จำนวนมาก จึงเหมาะกับงานที่ต้องการประสิทธิภาพและความน่าเชื่อถือของระบบสูง และจะต้องมีงบประมาณมากด้วย

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

ไม่มีความคิดเห็น:

แสดงความคิดเห็น