Raid คืออะไร และ ควรเลือก Raid อย่างไร
Raid คืออะไร มีอะไรบ้าง และ การทำงานเป็นอย่างไร
RAID (redundant array of independent disks หรือ redundant array of inexpensive disks)
คือ การนำ Harddisk 2 ตัว หรือ มากกว่า มาต่อเข้าด้วยกันเพื่อให้มองเห็นเป็นอันเดียว เพื่อจุดประสงค์ต่างๆ ไม่ว่าจะเป็น การเพิ่มความปลอดภัยให้กับข้อมูล หรือ เพิ่มความรวดเร็วในการอ่านและเขียนข้อมูล ซึ่งแต่ละ Raid จะมีข้อดี และ ข้อเสีย แตกต่างกันออกไป โดยจุดประสงค์หลักๆ คือ การป้องกันข้อมูลสูญหาย และ ประสิทธิภาพในการทำงานที่มากขึ้น
RAID 0
Raid ที่ระดับ 0
ระบบ RAID 0 นี้มีรูปแบบการทำงาน ที่เรียกว่า “Striping หรือ แถบ” เนื่องจาก ระบบระบบ RAID 0 นี้ มีการจัดการ กับข้อมูลเป็นแนวยาว ในลักษณะของแถบ (ไม่ไ้ด้กระจายไปทั่ว อย่างระบบอื่น) ตัวอย่างเช่น สมมุติว่า ระบบระบบ RAID 0 นั้นประกอบด้วย ดิสก์ 4 ตัว ต่อเชื่อมกัน แถบที่ 0,1,2 และ 3 ก็จะถูกจัดสรรออกไป ให้ดิสก์ที่ 0,1,2 และ 3 ตามลำดับ และสำหรับแุถบต่อจากนั้น คือแถบ 4,5,6,7 ฯลฯ ก็จะหมุนวน สลับกลับไปที่ดิสก์ตัวที่ 0 (แถบที่ 4) , ดิสก์ตัวที่ 1 (แถบ 5) , ดิสก์ตัวที่ 2 (แถบ 6) , ดิสก์ตัวที่ 3 (แถบ 7) ซึ่งปรากฏการ์นี้ จะเกิดหมุนเวียนกันไปเรื่อย จนกว่าข้อมูลจะหมดไปในแต่ละชุด ๆ
สาเหตุ ที่ระบบ RAID สามารถเพิ่มประสิทธิภาพ ในการใช้งานข้อมูลคอมพิวเตอร์ได้ ก็เพราะมันช่วยให้ผู้ใช้สามารถเข้าถึงข้อมูล แต่ละแถบได้พร้อม ๆ กันหมด แม้ว่าข้อมูลเหล่านั้น จะถูกจัดเก็บไว้ บนคนละไดรฟ์ก็ตาม หรือพูดอีกนัยหนึ่งก็คือ มันช่วยให้่มีความเร็วเพิ่มมากขึ้น ในการเข้าถึงข้อมูล เพราะแทนที่จะต้องอาศัฮาร์ดดิสก์ (หรือไดรฟ์) เพียงตัวเดียว ในการระบายข้อมูลซึ่งอาจทำให้ เกิดการทะลักและติดขัด ของข้อมูลได้ แต่ระบบระบบ RAID 0 นี้ จะสามารถทำให้่ ข้อมูลถูกกระจายออกมา จากไดรฟ์ทุกไดรฟ์ ในระบบอย่างพร้อมเพรียงกัน จึงสามารถ เพิ่มความเร็วในการเข้าถึงข้อมูล ได้มากขึ้นหลายเท่าตัว
ตัวอย่าง
Harddisk ขนาด 80 GB เชื่อมต่อกัน 2 ตัว ทำ Raid 0 จะได้ความจุรวม = 160 GB
ข้อเสีย
Raid 0 ไม่มีการทำการสำรองข้อมูล Mirroring เมื่อ Harddisk ตัวใดตัวนึงเสีย ข้อมูลจะสูญหายทั้งหมด แต่มีข้อดีคือ อ่านข้อมูลได้เร็ว
RAID 1
RAID ที่ระดับ 1
จะมีรูปแบบการทำงาน ที่เรียกว่า “Mirroring” ซึ่งสามารถ ปกป้องข้อมูล และแก้ไขข้อบกพร่อง เมื่อระบบเกิดปัญหา ได้ดีกว่าระบบ RAID 0 นอกจากนั้น ระบบ RAID 1 นี้ ยังมีความสามารถ ในการอ่านข้อมูล ดีกว่า ระบบ RAID 0 ด้วยในการทำงานของระบบ RAID 1 นี้ แต่ด้วยประสิทธิภาพ ที่เพิ่มขึ้น และความสามารถ ในด้านปกป้องปัญหาที่เข้ามานี้ คุณก็ต้องแลกมาด้วย เนื้อที่จัดเก็บข้อมูลที่อาจจะลดน้อยลงไป
ในการตั้งการทำงานของ RAID ระดับ 1 นี้ โปรแกรมจัดการการทำงาน จะสั่งให้ตัวควบคุมระบบ ทำการจัดเก็บข้อมูล สำรอง ข้ามไปตาม Drive ย่อย ๆ ภายในระบบ RAID ของคุณ (ภายใต้ Drive เสมือน 1 Drive จะประกอบไปด้วยตัวฮาร์ดดิสก์ย่อย ๆ หลายตัวทำงานร่วมกัน) ซึ่งเราอธิบายเพิ่มเติมได้ว่า ด้วยข้อมูลชุดเดียวกัน มันจะถูกทำการบันทึกซ้ำ ไปตาม Drive ต่าง ๆ ภายในระบบของคุณและด้วยเหตุนี้นี่เอง เมื่อเกิดกรณี ข้อมูลใน Drive หนึ่ง ๆ สูญหาย คุณก็ยังพอมีทาง ที่จะกู้ข้อมูล ที่ทำการบันทึกซ้ำไว้ ที่ Drive อีกตัว กลับคืนมาได้ นอกจากนี้ ในการตั้งการทำงาน ของ RAID ระดับ 1 นี้ ยังสามารถกำหนดชุดของ Mirror set ให้มีมากกว่า 1 set ก็เป็นได้ อีกทั้ง แต่ละ Mirror set คุณยังสามารถ กำหนดขนาดความจุ ให้แตกต่างกันไปอีกด้วย
ในขณะที่ความสามารถ ในการอ่านข้อมูล ก็สามารถเพิ่มขึ้นได้ ด้วยการที่ระบบ การบันทึกข้อมูลซ้ำนี้ จะกระจายการบันทึกข้อมูล ไปตาม Drive ย่อย ๆ ภายในระบบ ซึ่งก็ทำให้ เมื่ิอมีการร้ิองขอข้อมูลมา จะช่วยลดปัญหา ความคับคั่ง ของการเขียนอ่านข้อมูล ที่อาจจะเกิดขึ้น หากมีการบันทึกข้อมูลนั้น ๆ รวมอยู่บน Drive เดียวกัน ซึ่งเราอธิบายเพิ่มเติมได้ ด้วยการมี 3 คำร้องขอ ที่เรียกเข้ามายังระับบ โดยที่ คำร้องที่ 1 จะถูกเรียกไปอ่านที่ block 0 คำร้องที่ 2 จะถูกเรียกอ่านที่ block 1 ในขณะที่คำร้องที่ 3 จะถูกเรียกอ่านที่ block 2 นั่นหมายความว่า แต่ละ block ก็เปรียบเสมือนเป็นฮารฺดดิสก์แต่ละตัว ที่ทำงานอยู่ภายใต้ระบบ RAID (ที่รวม ฮาร์ดดิสก์หลาย ๆ ตัวนี้ให้เป็น Drive หนึ่งเท่านั้น) มันจึงสามารถ อ่านข้อมูลได้อย่างอิสระต่อกัน ซึ่งช่วยลดภาระ และลดเวลาในการเข้าถึงข้อมูลได้เป็นอย่างดี
ตัวอย่าง
Harddisk ขนาด 80 GB เชื่อมต่อกัน 2 ตัว จะได้ความจุเท่าเดิมคือ 80 GB แต่จะมีความเร็วในการอ่านข้อมูล และมีระบบป้องกันข้อมูลสูญหาย มีการ Mirror ตลอดเวลา
ข้อเสีย
เขียนข้อมูลช้าลง เนื่องจากต้องทำการเขียนข้อมูลลงบน Harddisk 2 ตัวพร้อมๆกัน
RAID 2
Raid ที่ระดับ 2
ในระดับนี้ จะไม่พบมีการใช้งาน ในทางธุรกิจทั่วไปนัก แต่จุดเด่นของระดับนี้นั่นคือ จะมีความสามารถ ในการปกป้องข้อมูล ที่เหนือกว่าระดับอื่น ๆ ด้วยการสร้างระบบ Fault tolerance ภายใต้ชุดคำสั่ง Error Correction Code (ECC) ซึ่งเราจะพบการทำงานเช่นนี้ อยู่ในอุปกรณ์หน่วยความจำ ( เช่น RAM ชนิด ECC สำหรับเซิฟเวอร์ ) ทั้งนี้ ชุดคำสั่ง ECC จะสร้างตารางที่ประกอบไปด้วย สูตรตัวเลขเพื่อใช้ในการ จัดเก็บข้อมูล ลงบนแต่ละ block ภายใต้ Drive เสมือนซึ่งเรามักจะเรียกสูตรนี้ว่า Checksum โดยที่จะมีการเติมค่า Checksum นี้ต่อท้ายแต่ละชุดข้อมูล เพื่อทำการระบุตัวตน และช่วยในการรวบรวมข้อมูล เมื่อมีความต้องการอ่านเกิดขึ้น
เมื่อมีการ เรียกอ่านข้อมูลจาก Drive ระบบจะทำการประมวลผล ตัวเลขค่า Checksum นี้ ทำการเปรียบเทียบกับค่า ECC ที่ถูกตั้งสูตรเอาไว้ตามตาราง หากตัวเลขตรงกัน ชุดข้อมูลนั้นจะถุกอ่านขึ้นมาอย่างสมบูรณ์ แต่หากตัวเลขไม่ต้องกัน ข้อมูลที่สูญหาย จะถูกคำนวณขึ้นมาใหม่ ด้วยการใช้ค่า checksum ที่อยู่ก่อนหน้า และถัดไป เป็นชุดอ้างอิง เพื่อทำการกู้ข้อมูลขึ้นมา
ข้อดี
ถ้าเกิดการปรากฏว่า harddisk ตัวใดตัวหนึ่งเสียหาย ระบบก็จะสามารถสร้างข้อมูลทั้งหมดใน harddisk ตัวนั้นขึ้นมาได้ใหม่ได้จากข้อมูล ECC ที่เก็บไว้ใน Harddisk ลูกอื่น
ข้อเสีย
การ ทำ ECC นี้ส่งผลให้ harddisk ทั้งระบบต้องทำงานค่อนข้างมากทีเดียว และ RAID 2 นั้นจะเห็นได้ว่าต้องใช้ harddisk จำนวนมากในการเก็บค่า ECC ซึ่งทำให้ค่อนข้างสิ้นเปลือง
จึงไม่เป็นที่นิยมในปัจจุบัน
RAID 3
Raid ที่ระดับ 3
RAID ระดับนี้ เป็นการประยุกต์รูปแบบมาจาก RAID ระดับ 0 ซึ่งมีความสามารถ ด้านความจุและสามารถ ในการเขียนอ่านอย่างน่าทึ้ง แต่ก็ยังคงไว้ซึ่ง ความสามารถ ในด้านปกป้องความเสียหาย หรือ Fault Tolerance ไว้อีกด้วย โดยที่มันได้ใช้ประโยชน์จากเทคนิค จัดเก็บข้อมูล จาก RAID ระดับ 0 โดยจะทำการบันทึก แต่ละแถบข้อมูล ไปตาม Drive ย่อย ๆ ภายใต้ระบบ RAID แต่จะยกเว้นไว้ 1 Drive เอาไว้เพื่อจัดเก็บค่าข้อมูล ต่าง ๆ เอาไว้ เพื่อใช้ในการเรียกใช้ข้อมูลขึ้นมา ซึ่ง Drive ที่จัดเก็บค่าข้อมูลนี้ จะถูกแบ่งเป็นแถบข้อมูล เช่นเดียวกัน โดยค่าข้อมูลแต่ละแถบนี้ จะับันทึกค่าข้อมูล ในการจัดเก็บข้อมูลหลัก ที่กระจายไปตามแต่ละ Drive ซึ่งค่าที่จัดเก็บนี้ จะเป็นค่าของข้อมูลที่ว่า อ่านข้อมูลจากที่ใด หรือเป็นการเขียนข้อมูล ลงไปที่ใด ซึ่งด้วยวิธีนี้จะช่วยให้ ในกรณีที่ข้อมูล เกิดปัญหา หรือเกิดสูญหายไป จะยังสามารถ กู้ข้อมูลกลับ โดยใช้ค่าข้อมูล ที่เก็บเอาไว้ Drive พิเศษเป็นค่าอ้างอิง
ข้อเสีย
Drive ที่เอาไว้เก็บข้อมูล Parity Bit นี้ มีโอกาสเสียหายได้ง่าย เนื่องจากต้องนำข้อมูล Parity ของ Harddisk ทุกตัวมาเขียนอยู่ในตัวเดียว ทำให้ Harddisk ตัวนี้ ทำงานหนัก
RAID 4
Raid ที่ระดับ 4
RAID 4 มีแนวคิด ที่คล้ายคลึงกับ RAID ระดับ 3 แต่จะเน้นความสำคัญ ไปที่ประสิทธิภาพ การทำงานของ application ที่ต่างกันไป ตัวอย่างเช่น โปรแกรม Database ที่ต้องเกี่ยวข้องกับ ไฟล์ขนาดใหญ่ ที่มีความต่อเนื่องกัน และยังมีอีกความต่าง นั่นคือ ระดับความลึกของแถบข้อมูล ที่ RAID ระดับ 4 จะมีขนาดใหญ่กว่า ซึ่งโดยปกติ ขนาดในระดับ 2 block ซึ่งจะช่วยให้ โปรแกรมจัดการ RAID สามารถทำงานร่วมกับ Harddisk แต่ละตัว ได้อย่างเป็นอิสระต่อกัน มากกว่า RAID ระดับ 3 ซึ่งจะช่วยให้ การจัดการเก็บข้อมูล และการเรียกอ่านข้อมูลที่มีขนาดใหญ่ สามารถทำงานได้รวดเร็วยิ่งขึ้น
อย่างไรก็ตาม สิ่งที่จะตามมา จากการใช้งาน RAID ระดับ 4 นั้นก็คือ ปัญหาการติดขัดของข้อมูล ใน Drive ที่ใช้ในการจัดเก็บ ค่า parity เอาไว้ ซึ่งต้่องการหลักการทำงาน ที่ยุ่งยากกว่ากันมาก และนี่ก็เป็นเหตุผลสำคัญ ที่ทำให้ RAID ระดับนี้ ไม่ได้รับความนิยมมากนัก
ข้อเสีย
หาระบบ Raid Device มาใช้ยาก เนื่องจากต้องมีการคำนวณสูง ทำให้ตัว Raid Device ทำงานหนักมากเกินความจำเป็น
RAID 5
Raid ที่ระดับ 5
ที่ระดับนี้ ถือเป็นระดับที่ใช้งานกันมากที่สุด โดยจะทำการ แก้ปัญหา การติดขัดในการเขียนข้อมูล ที่เกิดขึ้นใน RAID ระดับ 4 ด้วยการกระจาย แถบของค่าข้อมูล (parity) ไปตาม Drive ย่อย ๆ ต่าง ๆ ซึ่งด้วยวิธีนี้ จะช่วยบรรเทา การทำงานที่มุ่งไปที่ Drive ใด Drive หนึ่งเพียงตัวเดียว จึงช่วยเพิ่มความสามารถ ของระบบโดยรวม ได้มากยิ่งขึ้น โดยวิธี ที่ RAID ระดับนี้ช่วยลดปัญหา การติดขัดในการเขียนข้อมูล parity นั้น เป็นวิธีพื้นฐาน โดยแทนที่ จะยอมให้ เพียง Drive ตัวใดตัวหนึ่ง ทำการสันนิษฐาน ความเสี่ยงของปัญหาืที่อาจจะเกิดขึ้น ก็จัดการให้ทุก ๆ Drive ที่อยู่ภายในระบบ RAID ทำการสันนิษฐาน เพื่อทำการจัดเก็บค่าของข้อมูลกระจายไปตามแต่ละ Drive และด้วยวิธีง่าย ๆ นี้เอง ที่ช่วยเพิ่มประสิทธิภาพ ได้อย่างน่าทึ่ง
Raid 5 เป็นที่นิยมในการใช้งานในระบบใหญ่ๆ เป็นอย่างมาก และยังคงใช้งานอยู่ในปัจจุบัน เนื่องจากมีความรวดเร็ว และปลอดภัย
ซึ่ง Raid นี้ได้นำข้อดีของ Raid อื่นๆมารวมกันทั้งหมด
หลักการทำงาน
เก็บ Parity ของ Drive ลงใน Drive อื่นๆ ที่ไม่ใช่ Drive เดียวกัน ทำให้เมื่อ Harddisk ตัวใดตัวนึงพัง ระบบยังคงทำงานต่อไปได้
โดยระบบจะมีการเก็บข้อมูล Parity ดังนี้ เช่น
- Drive A เก็บ parity ไว้บน Drive C
- Drive B เก็บ parity ไว้บน Drive A
- Drive C เก็บ parity ไว้บน Drive B
ข้อดี
มีความเร็วในการอ่านสูง เนื่องจากใช้ Harddisk ถึง 3 ตัวในการทำงาน
ข้อเสีย
อ่านข้อมูลได้ช้ากว่าการเชื่อมต่อรวมกันแบบ Raid 0 แต่เร็วกว่า Harddisk เพียงตัวเดียว รวมไปถึงขนาดรวมของ Raid 5 จะได้เท่ากับ Harddisk 2 ตัวเท่านั้น (ข้อมูลหายไป 1 ใน 3 ของ Harddisk ทั้งหมด)
RAID อื่นๆ
นอก จาก ระดับมาตรฐานทั้ง 5 ระดับข้างต้น ยังมีระดับย่อย ๆ ที่เกิดขึ้น ตามความต้องการ ที่แตกต่างกันออกไป จึงต้องมีการ ออกแบบระบบ RAID เพื่อตอบสนองความต้องการที่เกิดนี้ โดยมีตัวอย่างเช่น
- RAID ระดับ 6 จะให้ความสำคัญกับความป้องกันความเสียหาย ในระดับสูงมาก ๆ
- RAID ระดับ 10 (หรือที่รู้จักกันในนามของ RAID ระดับ 0 &1) จะพุ่งเป้าไปที่ความสามารถในด้าน I/O ที่มากขึ้น และการปกป้องความเสียหายของข้อมูล
- RAID ระดับ 53 จะเป็นการรวมกันของ RAID ระดับ 0 และ 3 เพื่อความสามารถในการเขียนและอ่านข้อมูลที่มากขึ้น
เข้าชม : 15553 ครั้ง