บทความอัพเดทในเว็บ ขออนุญาตอัพเดทช่องทาง https://fb.com/siamcafefan

ผู้เขียน หัวข้อ: การทำ raid ทำอย่างไรครับ  (อ่าน 8770 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

winaies

  • บุคคลทั่วไป
การทำ raid ทำอย่างไรครับ
« เมื่อ: มีนาคม 17, 2008, 02:01:14 am »
พอดีใช้ server centos คับ อยากป้องกันการสูญหายของข้อมูล พอดีมีฮาร์ดดิสก์ 2 ตัว  ใน server ถ้าฮาร์ดดิสก์ ตัวที่ 1 พัง  ให้ใช้ อาร์ดดิสก์ตัวที่ 2 โดยอัตโนมัติ โดยระบบ ทุกอย่างของ centos และข้อมูลยังอยู่เหมือนเดิมครับที่เรียกว่าการทำ raid   ทำอย่างไรครับ  บอกวิธีหน่อยครับ (อย่างละเอียด) ไม่เคยทำครับ   ขอบล่วงหน้าครับ

ออฟไลน์ ~<<<SALAPAO>>>~

  • สยามคาเฟ่ TeamWork!
  • ****
  • กระทู้: 459
  • Reputation: 4
  • เพศ: ชาย
  • WwW.SiamCafe.NeT
Re: การทำ raid ทำอย่างไรครับ
« ตอบกลับ #1 เมื่อ: มีนาคม 17, 2008, 02:18:50 am »
raid ถ้าพังมันจะล่มหมดเลยดิ


ผมก้อไม่รุว่าพี่จะเอา raid 0 1 2 3 หรือ แบบอื่นอ่ะ

ไม่ค่อยจะเก่งเรื่องเซิฟเวอร์อ่ะครับ

Signature cleanned by Admin

poy_local

  • บุคคลทั่วไป
Re: การทำ raid ทำอย่างไรครับ
« ตอบกลับ #2 เมื่อ: มีนาคม 17, 2008, 03:23:52 am »
 ลองอ่านบทความแล้วทำความเข้าใจคร่าวๆ กันก่อนนะคับ
ส่วนวิธีการทำ เดียว มาลุยโอกาศหน้านะคับ

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

ความเป็นมา   
        ในปี 1987 Patterson, Gibson และ Katz ซึ่งทำงานที่ University of California Berkeley ได้พิมพ์บทความเกี่ยวกับ
A Case for Redundant Arrays of Inexpensive Disks (RAID) โดยเอกสารนี้ได้บรรยายถึงชนิดของดิสก์อะเรย์ประเภทต่างๆ โดยเรียกชื่อย่อๆว่า RAID หลักการพื้นฐานของ RAID มาจากแนวคิดที่ว่า เมื่อเอาดิสก์ที่มีความจุน้อยหลายๆตัวมารวมกันประสิทธิภาพที่ได้จากการใช้งานจะมากกว่าใช้ดิสก์ ขนาดใหญ่เพียงตัวเดียว โดยเมื่อเอาดิสก์มารวมกันแล้ว คอมพิวเตอร์จะต้องเห็นว่า เป็นดิสก์ขนาดใหญ่ตัวเดียว (เป็น LogicalDrive) ซึ่งระบบนี้ถูกสร้าง ครั้งแรกจากการวิจัยของมหาวิทยาลัย UC-BerkeleyระบบRAID นี้ ได้ถูกพัฒนาต่อเนื่องมาเป็นเวลานานนับปี          เพื่อสนองความต้องการของผู้บริโภคในเรื่องของความรวดเร็วและความปลอดภัยในการจัดเก็บข้อมูล ซึ่งจะเป็นการอธิบายให้ ทราบถึงระบบ RAID ว่ามีความเป็นมาอย่างไร และแม้ว่าในกลุ่มผู้ใช้คอมพิวเตอร์โดยเฉลี่ยส่วนใหญ่นั้น จะคุ้นเคยกับระบบ IDE หรือไม่ก็ RAID อยู่แล้ว

ความหมายของ RIAD
        RAID คือการพัฒนาเรื่องการจัดเก็บข้อมูลในแง่ของความรวดเร็ว เสถียรภาพ และการเพิ่มเนื้อที่สำหรับการจัดเก็บ โดยการใช้ ดิสก์หลายๆตัวในเวลา เดียวกัน โดยพื้นฐานแล้ว RAID คือ การทำให้ฮาร์ดดิสก์หลายตัวถูกใช้งานร่วมกันเสมือนเป็นฮาร์ดดิสก์ขนาด ใหญ่ตัวเดียวกัน ซึ่งผลตอบแทนที่จะได้รับนั้น ขึ้นอยู่กับรูปแบบและระดับการใช้งาน RAID ในแต่ละแห่ง อยู่ที่ว่าคุณต้องการใช้งาน ในลักษณะใด ซึ่งในปัจจุบันมีให้เลือกใช้งานได้หลากหลายรูปแบบ ในราคาที่แตกต่างกันตั้งแต่น้อยกว่า 100 ดอลลาร์ ไปจนกระทั่งถึง 25,000 ดอลลาร์ แน่นอนว่ายิ่งราคาแพงมากเท่าใด ย่อมได้รับระบบการใช้งานที่ดี กว่ามากขึ้นอย่างแน่นอน ซึ่งระบบที่ดีกว่านั้น ขึ้นอยู่กับชนิดของโปรแกรมต่างๆ ที่ถูกนำมาใช้งานเป็นส่วนประกอบด้วย
        RAIDคำจำกัดความ คือ Redundant Array of independent disks แปลไทยได้อย่างไม่สละสลวยว่าระบบเผื่อไว้แบบอะเรย์ ของดิสก์ที่เป็นอิสระ ต่อกัน ฟังแล้วอาจจะงง RAID ก็คือ RAID ฟังแล้วง่าย แต่ไม่เข้าใจไปใหญ่ ถ้ามีฮาร์ดดิสก์เพียงตัวเดียว วันหนึ่งถ้าพังก็พังไปเลย ข้อมูลหาย หมด แต่ถ้านำฮาร์ดดิสก์หลายๆ ตัวมาต่อกัน เช่น 5 ตัว ข้อดีคือ ได้ความจุเพิ่มขึ้น แต่ถ้าตัวใดตัวหนึ่งพังก็จะเสียข้อมูลในฮาร์ดดิสก์ตัวนั้นไป แต่จะป้องกัน ได้มากกว่า ถ้าหากเพิ่มฮาร์ดดิสก์เข้าไป 3 ตัว แล้วใช้ระบบการจัดแบ่งเก็บข้อมูลในแต่ละตัว แต่ละตัว พร้อมกันแต่ในแต่ละตัวก็มีข้อมูลที่ซ้ำกัน หรือมีการ เก็บ Parity ของอีกตัวไว้ ถ้าเกิดวันใดที่ตัวหนึ่งเกิดพังไป ข้อมูลในตัวที่พังก็ยังคงมีเก็บ "สำรองเผื่อเสีย" ไว้ การแก้ไข ก็เพียงเอาฮาร์ดดิสก์ใหม่มาเปลี่ยน แล้วค่อยๆ ผ่องถ่ายข้อมูลที่ฮาร์ดดิสก์ตัวเก่าที่พังไปเคยฝากไว้กับฮาร์ดดิสก์ตัวอื่นลงมาใหม่ๆ ทำให้สมบูรณ์แบบทั้งหมดนั้นเรียกว่า ระบบ Fault Tolerance แปลเป็นไทยก็คือ"ระบบที่คงทนต่อความเสียหาย" คือ แทนที่ว่าฮาร์ดดิสก์พังไปตัวหนึ่งก็ต้อง "Down" เซิร์ฟเวอร์ ทำให้ระบบต้องหยุดชะงัก เพื่อป้องกันความ เสียหายดังกล่าว จะต้องสร้างระบบให้คงทนต่อความเสียหาย ฮาร์ดดิสก์พังไปแล้ว หนึ่งตัวระบบยังทำงานต่อไปเหมือนไม่มีอะไรเกิดขึ้นโดยวิธีการนี้จะต้องใช้ RAID ซึ่งเป็นหัวใจของการสร้าง "ดิสก์ที่คงทนต่อความ เสียหาย"

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

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

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

การแยกส่วนจัดเก็บข้อมูล (Striping)
        แนวทางในการจัดเก็บระบบข้อมูลที่มีประสิทธิภาพนั้นมีหลายวิธีด้วยกันแต่วิธีหนึ่งที่น่าจะใช้ได้ผลและก่อให้เกิดประสิทธิภาพในการทำงานได้มากที่สุดน่าจะเป็นการแยก ส่วนจัดเก็บข้อมูล ซึ่งวิธีการนี้เหมาะสำหรับข้อมูลที่อยู่ในอัตราความเสี่ยงที่จะเกิดปัญหา และต้องการการแก้ไขอย่างเร่งด่วน Striping
จะเป็นตัวที่ทำการปรับปรุงการทำงานของส่วนต่างๆ โดยการแบ่งข้อมูลออกเป็นส่วนๆ ในไดรฟ์ต่างๆ ซึ่งข้อปฏิบัติหลักในการทำ Striping คือ การทำงานในลักษณะขนาน ให้ลองคิดไปว่า มีไฟล์ขนาดใหญ่อยู่มากมายบนฮาร์ดไดรฟ์ตัวเดียว ถ้าต้องการที่จะอ่านไฟล์นั้น ต้องใช้เวลานานพอสมควรในการรอที่จะให้ ฮาร์ดไดรฟ์นั้นอ่านไฟล์ได้ตั้งแต่ต้นจนจบ ซึ่งวิธีการเช่นนี้ล้าสมัยไปแล้ว ไม่จำเป็นต้องใช้วิธีในข้างต้นนี้ เพียงแต่ใช้วิธีการแตกไฟล์ตัวนั้นออกเป็นส่วนๆ และกระจาย แต่ละไฟล์ลงไปในฮาร์ดไดรฟ์ทำที่ได้จัดสรรพื้นที่เตรียมไว้ เพียงเท่านี้ก็สามารถเรียกไฟล์นั้นมาใช้งานได้แม้จะเป็นการเรียกแบบหลายๆ ไฟล์ในเวลาเดียวกันก็ตาม เพียงแต่วิธีนี้อาจต้องรอระยะเวลาในการเรียกไฟล์แต่ละส่วนขึ้นมาใช้งาน เพราะแต่ละส่วนที่แยกเก็บข้อมูลไว้นั้นจะเป็นไดรฟ์ที่ทำงานอยู่ในลักษณะขนาน และในส่วนที่เหลือก็ทำเช่นเดียวกัน และวิธีนี้เมื่อต้องการเขียนไฟล์ที่มีขนาดใหญ่ลงบนดิสก์ การถ่ายโอนข้อมูลจะเพิ่มขึ้นเป็นจำนวนมาก การเตรียมไดรฟ์ที่มีขนาดใหญ่ไว้รองรับการทำงานจะเป็นการเพิ่มประสิทธิภาพ
        ในการปฎิบัติการให้สะดวกยิ่งขึ้น จำนวนของไดรฟ์นั้นเป็นจำนวนเดียวกันกับ Stripe Width ซึ่งจะเกิดขึ้นในเวลาเดียวกันกับตัว Stripes และสามารถโอนถ่ายข้อมูลในเวลาเดียวกัน วิธีการที่จะทำให้ปฎิบัติการนี้เป็นไปอย่างมีประสิทธิภาพที่สุดสามารถปฎิบัติได้โดยนำข้อมูลในทุกๆ ส่วนที่ถูกถ่ายโอนมาไว้ในตัวควบคุมการทำงาน RAID ซึ่งภายในตัวนี้จะถูกแบ่งเป็นส่วนเล็กๆ หลายส่วน และจะมีการใช้ Striping ด้วยกันสองระดับ เพื่อนำเทคนิคของแต่ละระดับเหล่านั้นมาแบ่งส่วนของข้อมูล อันได้แก่ byte level และ block level striping ในส่วนของ byte level striping นั้นจะมีส่วนที่เกี่ยวข้องกันในการแบ่งข้อมูลให้เห็นเป็นหน่วย byte และจัดเก็บข้อมูลเหล่านั้นไว้แบ่งไปตามฮาร์ดไดรฟ์ต่างๆ ที่เตรียมไว้ ยกตัวอย่างเช่น ถ้าข้อมูลถูกแบ่งเป็น 16 ไบต์ จะมีฮาร์ดไดรฟ์ด้วยกันทั้งหมด 4 ส่วนซึ่งข้อมูลในส่วนแรกนั้น จะถูกจัดเก็บไว้ในฮาร์ดไดรฟ์ตัวแรก ส่วนที่สอง สาม และ สี่ ก็จะจัดเก็บเช่นเดียวกัน ซึ่งในบางครั้ง byte level striping จะทำงานในช่วงเวลาหนึ่งประมาณ 512 ไบต์ ส่วน Block level striping นั้นจะเป็นการแบ่งข้อมูลจัดเก็บไว้ตามขนาดของบล็อกที่เตรียมเอาไว้ ซึ่งบล็อกนี้จะนำไปกระจายจัดเก็บไว้ในอาร์เรย์ เช่นเดียวกันกับที่ทำไว้ใน byte level striping ขดของบล็อกนี้จะเรียกว่า stripe size ความหลากหลายของ stripe sizes นั้นจะใช้งานได้อย่างมีประสิทธิภาพหรือไม่นั้นขึ้นอยู่กับประสิทธิภาพการทำงานของตัว RAID ด้วย
         เมื่อพูดถึงขนาดของ stripe นั้นเป็นเรื่องที่โต้เถียงกันมากว่าควรมีขนาดเท่าใดจึงจะเหมาะสม ซึ่งในความเป็นจริงแล้วยังไม่มีขนาดที่กำหนดที่แน่นอนของ stripe ว่าควรมีขนาดเท่าไร แต่ขนาดที่ได้มาตรฐานนั้นย่อมทำงานได้ดีเยี่ยมเมื่อทำงานร่วมกับระบบปฎิบัติการที่ได้มาตรฐานเช่นกัน ซึ่งประสิทธิภาพการทำงานจะเป็นผลที่แจ้งได้ชัดเจนยิ่งขั้นว่า stripe ขนาดใดจะเหมาะสมในการใช้งานมากที่สุด
การใช้ stripe ที่มีขนาดเล็กนั้นจะมีข้อดีคือสามารถแบ่งข้อมูลได้มาก และ กระจายไปจัดเก็บไว้ในไดรฟ์ต่างๆ ได้ง่าย ส่วนประสิทธิภาพของการการโอนถ่ายข้อมูลจะเพิ่มขึ้นนั้นขึ้นอยู่กับการเพิ่มจำนวนของการลักษณะการทำงาน
อย่างไรก็ตาม หากมีการเพิ่มจำนวนของส่วนต่างๆ ในการจัดเก็บดังที่กล่าวไว้ในข้างต้นผู้ใช้งานควรจะลองสุ่มหาไฟล์ที่จัดเก็บ ไว้หากการจัดเก็บมีประสิทธิภาพคุณสามารถหาข้อมูลเจอ นั่นแสดงว่าการแยกส่วนจัดเก็บข้อมูลขอบคุณนั้นใช้งานได้แล้ว ส่วนการใช้ stripe ที่มีขนาดใหญ่จะทำให้เกิดผลในทางตรงกันข้ามคือถึงแม้จะมีการลดขนาดของข้อมูลลง จะทำให้การกระจายข้อมูลเพื่อจัดเก็บน้อยลงและประสิทธิภาพในการโอนถ่ายก็จะลดลงการสุ่มหาไฟล์ก็จะมีประสิทธิภาพที่ลดลงเช่นกัน ทางออกที่ดีที่สุด คือการหาขนาดของ stripe ที่เหมาะสมให้มากที่สุดในการใช้งานร่วมกับระบบปฎิบัติการของคุณ ซึ่งจะทำให้การทำงานได้ผลดียิ่งขึ้น ลองเริ่มต้นด้วย
stripe ที่มีขนาดกลาง และพยายามเพิ่มหรือลดขนาด และ บันทึกความแตกต่างของประสิทธิภาพการทำงานในแต่ละขนาดเอาไว้ เพื่อเลือกตัวที่เหมาะสมมาใช้งาน
ภาพที่แสดงด้านบนนั้น คือ ภาพจำลองตัวอย่างการแยกส่วนข้อมูล (striping) ซึ่งจะแสดงให้เห็นว่าระบบการทำงานนั้นจะมีการแบ่งแยกแต่ละส่วนอย่างไร จากภาพจะเห็นว่าแฟ้มข้อมูลที่เข้ามาจัดเก็บจะถูกแบ่งออกเป็น 6 บล็อกด้วยกัน (A B C D E F) และกระจายเข้าไปจัดเก็บไว้ใน ทั้งสองไดรฟ์ในขนาดที่เท่าๆ กัน ถ้าคุณมีฮาร์ดดิสก์มากกว่านี้ ในแต่ละบล็อกก็สามารถกระจายไปจัดเก็บได้เช่นกัน หากคุณต้องการย้ายข้อมูลหรือโอนถ่ายข้อมูลจากในไฟล์ไปเก็บไว้ยังส่วนอื่นนั้น ตัวควบคุมการเข้าถึงของทั้งสองไดรฟ์จะทำงานพร้อมๆ กัน ประสิทธิภาพในการทำงานก็เพิ่มขึ้นเพิ่มขึ้นอีกเท่าตัว การโอนถ่ายเช่นนี้อาจจะใช้เวลาในการโยกย้ายไฟล์ ถ้าคุณเพิ่มจำนวนของฮาร์ดไดรฟ์และจำนวนของไฟล์ เวลาในการโอนถ่ายข้อมูลจะอยู่ที่ 1/Nth ต่อครั้ง สำหรับการโอนถ่ายข้อมูลจากฮาร์ดไดรฟ์หนึ่งลูก (ในที่นี่ N คือจำนวนของไดรฟ์ที่มีอยู่) เมื่อเข้าใจถึงระบบของการแยกส่วนจัดเก็บแล้ว ในส่วนต่อจะเป็นเรื่องเกี่ยวกับระดับต่างๆ ของ RAID ซึ่งจะนำแนวทางปฎิบัติในข้างต้นไปใช้งานร่วมกัน

การกระจายการเขียน-อ่านข้อมูล (Stripping) และพาริตี้ (Parity) 2 กลไก หัวใจของ RAID
        การนำเอาดิสก์หลายๆ ตัวมารวมกันเป็นดิสก์อะเรย์ แล้วกำหนดให้เป็น Logical Drive เพียงหนึ่งตัว นั้นมี "Stripping" เป็นหัวใจในการทำงาน กล่าวได้ว่า Stripping เป็นหลักการพื้นฐานของ RAID คือ เมื่อมีฮาร์ดดิสก์หลายๆ ตัวมารวมกัน การเขียนข้อมูลชุดหนึ่งๆ ลงดิสก์ เพื่อให้ได้ประสิทธิภาพดีที่สุด ต้องมีการ "กระจาย" ข้อมูลลงไปในดิสก์ทุกตัวในอะเรย์ เรียกการกระจายเขียน-อ่านข้อมูลเหล่านี้ว่า Stripping
กระบวนการ Stripping นั้นสิ่งที่สำคัญคือ I/O เพราะต้องมีการเข้าถึงฮาร์ดดิสก์ในอะเรย์ ต้องจัดการให้ดิสก์ทุกตัวบรรจุข้อมูลที่ถูกเขียน-อ่าน (Access) ในสภาวะที่สมดุลกัน ยิ่ง RAID Controller ออกแบบเท่าไร ก็จะได้ประสิทธิภาพจาก I/O มากขึ้น สำหรับตัวควบคุมอะเรย์แบบฮาร์ดแวร์ (RAID Controller) การวัดประสิทธิภาพในการทำงาน สิ่งที่นำมาวัดประสิทธิภาพก็คือ I/O Performance

เทคนิค
        ทำไมถึงว่า I/O สำคัญ กรณีนี้ จะชี้ให้เห็นว่าถ้าหากเป็น file server นั้น I/O ยังมีความสำคัญไม่มากนัก เพราะ user จะไม่ค่อยเปิด/ปิด file เท่าไหร่ (เว้นแต่มีกรณีที่มีการนำเอา network drive เป็น swap space แต่นั่นไม่ใช่ file request แล้ว เพราะการเปิดแต่ละครั้ง จะเป็นการเปิดเพื่อนำมาแก้ไข ซึ่งกว่าจะ save บางทีใช้เวลานานกว่า 10-15 นาที สมมุติว่ามีผู้ใช้ 20 คน เฉลี่ยเวลาที่จะต้องทำ I/O ก็ยังนานระดับเป็นนาที ซึ่งถือว่าไม่มากนัก แต่ถ้าเป็น database ที่ต้องทำงานระดับ record locking นั้น การเปิดข้อมูลมาแก้ไข 1 record จะมี I/O อย่างน้อย 3-4 ครั้ง (database open, record open, index open, lock open) และเฉลี่ย ไม่เกิน 30 วินาทีก็ต้องมี I/O อีกรอบ เพื่อ write ซึ่งแพงกว่า read มากเนื่องจากต้องมี concurrency control, journalizing, log ยิ่งพวก 2-phase commitment (เขียน changed image ก่อน -> ลบ record เดิม -> เปลี่ยน changed image เป็น record ใหม่) จะใช้ I/O ถึง 2 เท่า เฉลี่ย 30 วินาที มี I/O ไม่น้อยกว่า 15 ครั้ง ยิ่งพวก banking หรือ online service เวลาการจัดการ record จะน้อยกว่า 10 วินาทีอีก
        ถ้าประมาณว่าเฉลี่ย 15 วินาที มี I/O 15 หน 1 หน/วินาที ถ้ามีเครื่องแค่ 1,000 เครื่อง ที่เข้าจัดการ database อันนั้น ลองจินตนาการว่าอะไรจะเกิดขึ้น เพราะจากตัวอย่างนั้นแค่ 1 database, 1 job (ที่ซ้ำซาก เหมือนกัน) เท่านั้น และยังไม่นับ overhead ที่เกิดจากการ verify parity ของตัว RAID controller เองด้วย cache จะมีความสำคัญตรงนี้ คือ ถ้าสามารถ hold ข้อมูลไว้ได้ ทำ block I/O ได้, queuing I/O ดีๆ ให้อ่านเขียนโดยมี HDD head movement น้อยที่สุด เปิดยาวทีเดียวเพื่ออ่าน/เขียนจาก track 1 -> last track แบบ one-way โดยไม่ต้องกระโดดไปๆ กลับๆ ประสิทธิภาพจะสูงอีกมาก

        จะเห็นได้ว่า data transfer rate แทบไม่มีบทบาทเลย SCSI/2 สามารถส่งผ่านข้อมูลได้ 40 MB/sec แต่ฐานข้อมูลส่วนใหญ่ จะอ่านเขียน data ขนาด ไม่เกิน 2k กันแทบทั้งนั้น (ข้อมูล 1 record ไหน ขนาดที่ใหญ่ๆ จะไม่เกิน 2 กิโลไบต์ ถ้าไม่ใช่ image) พันเครื่องอ่าน-เขียนพร้อมๆกัน data stream แค่ 2-3 MB เท่านั้นการวัดประสิทธิภาพ I/O วัดว่ารองรับได้กี่ I/O per sec โดย RAID Controller ที่ดีนั้น ได้ถึง 6,000 I/O per sec และปัจจุบัน RAID Controller รุ่นประสิทธิภาพสูง ทำได้ถึง 10 kIOPS แต่มีราคาแพงมากกรณีที่ ค่า I/O ต่ำ ความเร็วในการทำงานของ RAID จะแปรผันตาม cache
สำหรับ Parity ของข้อมูลนั้น ไม่ได้ถูกระบุสำหรับ RAID ทุกระดับ แต่จะมีเฉพาะบางระดับเท่านั้น Parity จะช่วยในเรื่องของการ "เผื่อเสีย" คือ ถ้าหากข้อมูลในดิสก์เสียหาย หรือเกิดทำลาย จะใช้ Parity ช่วยให้กู้ข้อมูลกลับมาได้


เทคนิค
        การสร้าง parity อาศัยความสามารถของโปรเซสเซอร์ ซึ่งจะเป็น โปรเซสเซอร์บน RAID Controller หรือโปรเซสเซอร์บนเซิร์ฟเวอร์ก็ตาม การทำงานของโปรเซสเซอร์ดังกล่าวจะได้ค่า ยิ่งถ้า parity นั้นเป็น CRC ยิ่งต้องการ CPU power มากขึ้น โดยการคำนวณกัน byte per byte ไม่ได้เอามาทั้ง file แล้ว generate 4 bytes และกรณีที่เป็น RAID-5 ยังต้องคอยหมุนให้ parity bit กระจายไปอยู่ตาม HDD ลูกต่างๆ ในอะเรย์อีก

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


 

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 จำนวนมากในการเก็บค่า ECC ซึ่งทำให้ค่อนข้างสิ้นเปลือง

 

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 ในระดับเดียวนั้นอาจจะไม่สามารถติดตั้งระบบปฎิบัติการต่างๆ ได้ครบตามความต้องการ ดังนั้น เพื่อให้ได้เครื่องมือในการทำงานครบถ้วนนั้น การนำข้อดี ของ RAID ในแต่ละระดับมารวมกันเพื่อใช้งาน ซึ่งนั่นหมายถึง ถ้าเราสามารถรวมข้อดีของ RAID ในแต่ละลำดับขั้นไว้ด้วยกันอาจทำให้การทำงานมีประสิทธิภาพมากขึ้นก็เป็นได้ และเป็นเหตุผลของการกำเนิดระดับตัวใหม่ตัวนี้ของ RAID การใช้งานของ RAID ในระดับใหม่นั้นเกิดจากการนำเอาข้อดีของ RAID ในแต่ละระดับมารวมกันซึ่งประสิทธิภาพของการทำงานย่อมเพิ่มขึ้น นอกจากนี้แล้วการร่วมกันในแต่ละระดับของ RAID นั้นย่อมหมายถึงการใช้ ฮาร์ดแวร์ RAID controller ร่วมกันไปด้วย การเพิ่มขึ้นของระดับใหม่นี้เป็นไปอย่างสลับซับซ้อน ซึ่งหมายถึงการนำซอฟต์แวร์เพื่อมาใช้งานร่วมกันนั้นจะไม่เป็นไปอย่างที่เคยปฎิบัติกันมา ที่นี่มาดูการร่วมตัวของ RAID ในระดับต่างๆ RAID 0 เป็นระดับที่มีประสิทธิภาพการทำงานที่ดีที่สุด และเป็นตัวเดียวที่สามารถนำมาร่วมตัวกับระดับอื่นได้มากที่สุด เพราะไม่ใช่ว่าทุกระดับของ RAID จะสามารถนำมารวมกันได้ โดยทั่วไประดับที่นิยมนำมารวมกันของ RAID ก็จะมี RAID 0+1 และ RAID 1+0 ซึ่งความแตกต่างระหว่าง 0+1 และ 1+0 จะเห็นได้จากชื่อที่เรียกใช้งาน และบางทีบริษัทผู้ผลิตก็จะใช้คำเรียกอื่นที่แตกต่างออกไป อย่างไรก็ตาม การเลือกใช้ตัวใดนั้นคงต้องเลือกเอาจาก RAID ตัวที่มีข้อผิดพลาดเกิดขึ้นน้อยที่สุดเมื่อนำไปใช้งานจริงการใช้งานของ RAID ทั้งสองตัวนี้ ต้องเตรียมฮาร์ดไดรฟ์เอาไว้ 4 ตัว

         จากนี้เราจะเริ่มมาดูการทำงานของ RAID 0+1 กันก่อน การรวมกันระหว่าง RAID 0 เพื่อให้ได้ประสิทธิภาพการทำงาน และ RAID 1 เพื่อให้เกิดความผิดพลาดในการปฎิการน้อยที่สุดนั้น สำหรับระดับที่มีการรวมนี้ไปแล้ว เมื่อการแยกส่วนจัดเก็บข้อมูล ไว้ในส่วนข้อมูลสำรอง ซึ่งหมายถึงต้องมีฮาร์ดไดรฟ์เพื่อปฎบัติการนี้ถึง 8 ตัว จึงจะสามารถแยกฮาร์ดไดรฟ์แต่ละตัวนั้นเป็น 2 หมวด ในทุกๆ 4 ไดรฟ์ และนำ RAID 0 มาประยุกต์ใช้งานร่วมกันไป ซึ่งจะทำให้มีการแยกเก็บข้อมูลไว้ด้วยกัน 2 หมวด เมื่อประยุกต์ RAID 1 เป็นการแยกเก็บข้อมูลแบบ 2 หมวดแล้ว และมีการสำรองข้อมูลไว้ 1 หมวดไว้ในส่วนที่เหลือ ถ้าฮาร์ดไดรฟ์ตัวที่ถูกแยกส่วนไว้ เกิดความเสียหาย หรือสูญหาย และหมวดอื่นที่แยกเก็บข้อมูลไว้ไม่ได้มารองรับข้อมูลในส่วนนี้ การเก็บข้อมูลสำรองเอาไว้จะทำให้ความเสียหายนั้นน้อยลง
RAID 1+0 เป็นการประยุกต์ใช้โดยการนำ RAID 1 มาใช้ก่อน จากนั้นจึงนำ RAID 0 มาไว้ใน ไดรฟ์ในการที่จะประยุกต์ใช้ RAID 1 นั้นผู้ใช้งานต้องแบ่งไดรฟ์เอาไว้ด้วยกัน 8 ไดรฟ์ทั้งหมด 4 ชุด ซึ่งแต่ละชุดจะมีทั้งหมด 2 ไดรฟ์ โดยในแต่ละชุดนั้นก็คือการ สำรองข้อมูลและมีการประยุกต์ข้อมูลเพื่อนำมาใช้งาน จากนั้นจึงประยุกต์ RAID 0 มารวมกันในส่วนนี้จะมีการจำแนกข้อมูลเอาไว้ 4 ชุดด้วยกัน ซึ่งโดยหลักๆ แล้วจะมีการจำแนกข้อมูลตามจำนวนของชุดข้อมูลสำรอง การรวมกันเช่นนี้ จะช่วยลดความผิดพลาดที่อาจเกิดขึ้นได้ดีกว่าการรวมตัวของ RAID 0+1 ซึ่งการทำงานเช่นนี้สำหรับหนึ่งไดรฟ์ภายในชุดสำรองข้อมูลจะมีการปฎิบัติงานได้ดี และส่วนที่ถูกจัดหมวดนั้นยังคงทำหน้าที่ได้ดีเช่นเดิม ซึ่งในทางปฎิบัติแล้วคุณสามารถเก็บข้อมูลได้ถึงครึ่งหนึ่งของ ไดรฟ์หากว่าไดรฟ์นั้นเกิดความผิดพลาดในการใช้งาน วิธีการเช่นนี้จะทำให้คุณไม่ต้องเสียข้อมูลไปทั้งหมดเพราะซึ่งวิธีการนี้จะไม่สามารถนำไปใช้ได้กับระดับ RAID 0+1 เพราะมีการแบ่งไดรฟ์ออกเป็นสองส่วนเท่านั้น ความนิยมในตัว RAID 0+1 และ 1+0 นั้นค่อนข้างที่จะนิยมใช้พอกันซึ่งขึ้นอยู่กับความต้องการใช้งานของผู้ใช้มากกว่า เมื่อราคาฮาร์ดไดรฟ์ถูกลงและมีจำนวนเพิ่มขึ้น การใช้ฮาร์ดไดรฟ์ 4 ตัวในการปฎิบัติงานจึงไม่ใช่เรื่องน่าแปลกแต่อย่างใดในปัจจุบัน อย่างไรก็ตามผู้ใช้งานยังคงต้องเกิดความเสียหายในการจัดเก็บถึง 50 เปอร์เซ็นต์ของพื้นที่ใช้งานอยู่ดีเมื่อคุณต้องทำงานโดยมีการสำรองข้อมูลบริษัทผู้ผลิตระบบปฎิบัติการ และเซิร์ฟเวอร์นั้นมักเสียพื้นที่ส่วนหนึ่งบนเซิร์ฟเวอร์เพื่อทำให้การจัดเก็บข้อมูลเกิดประสิทธิภาพมากที่สุด และเกิดความเสียหายน้อยที่สุด ซึ่งการรวมตัวของ RAID ในระดับต่างๆ นั้น จะหมายรวมไปถึงการรวมตัวของ RAID ในระดับอื่นด้วย เช่น RAID 0+3,3+0.0+5.5+0,1+5 และ 5+1 ซึ่งระดับต่างๆ เหล่านี้เมื่อถูกนำมาใช้งานก็ต้องเป็นการใช้งานร่วมกับฮาร์ดแวร์ที่มีราคาแพงด้วย และใช่ว่าจะมีการนำระดับดังกล่าวมาใช้งานได้ทั้งหมด

การจัดการและตรวจสอบโดย RAID Controller
          ฮาร์ดแวร์ RAID Controller ที่ผลิตโดยผู้ผลิตหลายๆ รายๆ มีกลวิธีในการตรวจสอบระบบ DISK Array โดยเริ่มจากการตรวจสอบตัวคอนโทรลเลอร์เอง ไปจนถึงการตรวจสอบฮาร์ดดิสก์ที่เป็นสมาชิกอะเรย์ ได้แก่การตรวจสอบ disk / PSU / Power / Over-Temp แล้วแสดงค่าความผิดพลาด พร้อมทั้งแจ้งเตือนกรณีที่ความผิดพลาดนั้น ถือเป็นความผิดพลาดระดับวิกฤติ

ส่วนประกอบของ RAID Controller

RAID Controller
ตัวควบคุมระบบ RAID นั้นใช้ได้ทั้งซอฟต์แวร์และฮาร์ดแวร์ หรือใช้รวมกันก็ได้ ซอฟต์แวร์เช่น Windows NT 4.0 สนับสนุน RAID ระดับ 0 ,1 (Striping , Mirroring) และฮาร์ดแวร์จากผู้ผลิตรายต่างๆ ซึ่งมีอยู่มากหลากหลาย เช่น Asustek , Adaptec , DCT ,MTI ซึ่งฮาร์ดแวร์เหล่านั้นมีราคาอยู่ในระหว่างสองหมื่นถึงเป็นล้านบาท
กรณีใช้ซอฟต์แวร์เป็น RAID Controller จะมีข้อจำกัดคือ ระดับที่สนับสนุน คือ 0, 1 (Striping , Mirroring) นั้นยังไม่ครอบคลุมระดับ Data Protection ในเรื่องของพาริตี้ ซึ่งมีใน RAID ระดับ 3,5 และใช้กำลังจากโปรเซสเซอร์ ทำให้โปรเซสเซอร์มีเวลาจะไปประมวลผลงานอื่นๆ น้อยลง การใช้ซอฟต์แวร์ควบคุม มีข้อดีคือ ราคาถูกกว่า ไม่ต้องการอุปกรณ์เพิ่มเติมมากนัก ส่วนฮาร์ดแวร์ โดยมากจะได้รับการออกแบบที่ดี แต่ฮาร์ดแวร์ก็มีข้อแตกต่างระหว่างยี่ห้อต่างๆ คือ ประสิทธิภาพในการทำงานแตกต่างกันออกไป การติดตั้งยากกว่าซอฟต์แวร์ควบคุม และราคาการลงทุนค่อนข้างสูงกว่า เพราะต้องการอุปกรณ์เพิ่มเติม ไม่ว่าจะเป็นฮาร์ดดิสก์ เคสสำหรับฮาร์ดดิสก์ โดยเฉพาะระบบ "Hot Swap" แต่ผลของการลงทุนก็คุ้มค่า (เกี่ยวกับ Hardware RAID Controller ดูข้อมูลเพิ่มเติมได้จาก รู้จักกับ Raid Controller) ฮาร์ดดิสก์ที่นำมาต่อเป็น Array (Physical Drive) คือฮาร์ดดิสก์ที่นำมาต่อเข้าเพื่อใช้กับระบบที่จะใช้ RAID จำนวนของฮาร์ดดิสก์นั้น ขึ้นอยู่กับระดับของ RAID ที่เลือกใช้งาน
ไดรฟ์อะไหล่ (Spare Drive)
เป็นฮาร์ดดิสก์ที่นำมาติดตั้งไว้เป็น "อะไหล่" เผื่อว่าฮาร์ดดิสก์ตัวอื่นๆ ที่ใช้ในระบบ RAID เกิดชำรุดเสียหาย โดยปกติเมื่อไดรฟ์ตัวใดตัวหนึ่งในระบบเกิดเสียหาย ไดรฟ์ที่เป็น "อะไหล่" จะถูกสลับเข้าไปใช้งานแทนที่โดยอัตโนมัติทันที
ไดรฟ์ชำรุด (Failed Drive)
ฮาร์ดดิสก์ที่ชำรุดเสียหาย เช่นมี Bad Sector หรือตัวระบบกลไกการทำงานเสียหาย หรือไม่ตอบสนองต่อการทำงานของ Host SCSI ไดรฟ์พวกนี้ถือเป็น "ไดรฟ์ชำรุด" จะต้องเอาออกและเปลี่ยนไดรฟ์ดีเข้าไปใหม่
ไดรฟ์ตรรกะ (Logical Drive)
เหมือนกับระบบดอสธรรมดา คือ ไม่ใช่ไดรฟ์จริง เป็นเพียงไดรฟ์สมมุติ แต่ใน RAID ไดรฟ์ตรรกะนั้น เกิดจากการรวมเอาไดรฟ์อื่นๆ มารวมกัน ให้เกิดความจุสูงขึ้น
Logical Volume
แปลเป็นไทย เมื่อต้องการ "ก้อน" ของฮาร์ดดิสก์ที่มีความจุมากขึ้น ทำได้โดยการนำเอา "Logical Drive" มารวมเข้าด้วยกันเป็น Logical Volume นั้นเอง
การจัดการ RAID
เมื่อกล่าวถึงการจัดการ RAID ก็เสมือนว่ากำลังคุยกันเกี่ยวกับเทคโนโลยี "การจัดเก็บข้อมูล" หรือ Storage Technology ซึ่งมีสองส่วนด้วยกันคือ การเลือกระดับของ RAID ที่เหมาะสมกับการใช้งาน และการจัดการกับไดรฟ์ที่เสียหาย
การเลือกระดับ RAID ที่เหมาะสม
RAID แต่ละระดับมีความเหมาะสมเกี่ยวกับการใช้งาน และความต้องการฮาร์ดแวร์ ซอฟต์แวร์ ฮาร์ดดิสก์แตกต่างกัน ดูอ้างอิงได้จากระดับของ RAID ซึ่งกล่าวไว้คร่าวๆ เกี่ยวกับระดับของ RAID และการใช้งาน
การจัดการไดรฟ์เสีย
การจัดการกับไดรฟ์เสีย ไม่ได้หมายถึงว่า ฮาร์ดดิสก์เสียแล้ว ถึงค่อยคิดว่า จะจัดการอย่างไร แต่หมายถึง จะทำอย่างไรกับ "ระบบเผื่อเสีย" หาฮาร์ดดิสก์มา Standby หรือเปิดไว้รอ เหมือนเตรียมยางรถยนต์อะไหล่ติดไว้ที่ท้ายรถ? อะไหล่หรือ Spare นี่เป็นของ "เผื่อเสีย" แน่นอน คือ ระบบ "เผื่อเสีย" สำหรับ RAID ก็เช่นเดียวกัน ต้องลงทุนซื้อไดรฟ์มาไว้ เรียกว่าเป็น Spare Drive ซึ่งมีทั้ง Global Spare Drive และ Local Spare Drive เป็นสองกลุ่ม ความแตกต่างคือ Local Spare Drive จะเป็นอะไหล่สำหรับ Local Drive เพียงตัวเดียว (แยกให้ออกนะครับ Local Drive ตัวเดียวหมายถึง 1 "ก้อน" หรือ 1 Volume ซึ่งจะรวมได้หลายๆ Physical Drive เพราะ Local Drive ในระบบเครือข่าย แตกต่างจาก Local Drive ของพวกเครื่องพีซี) แต่ Global Spare Drive นั้นเป็นอะไหล่สำรองสำหรับ Local Drive 2 ก้อนขึ้นไป
        การระบุว่าไดรฟ์ไหนเสีย และการวิเคราะห์อาการเสีย เป็นเทคนิคการออกแบบ RAID Controller ที่ผู้ผลิตรายต่างๆ ต่างก็แข่งขันกันพัฒนา เพราะโดยคุณสมบัติการออกแบบฮาร์ดดิสก์แบบ SCSI แล้ว เป็นไปได้ยากที่ RAID Controller จะตรวจสอบว่าไดรฟ์ไหนเสีย แต่ระบบการตรวจสอบที่เกิดจากการพัฒนาร่วมกันของผู้ผลิต RAID และผู้ผลิตฮาร์ดดิสก์ ที่มีชื่อเทคโนโลยีว่า SAF-TE ก็ทำให้การวิเคราะห์ และวินิจฉัยอาการเสียของฮาร์ดดิสก์เป็นไปได้ง่ายขึ้น
        การจัดการกับไดรฟ์เสีย ยังมีระบบสนับสนุนหรืออำนวยความสะดวก ซึ่งทำงานสอดคล้องกับระบบ RAID Controller อีกส่วนหนึ่งคือ Hot Plug Drive, Hot Swap Drive Bay ซึ่งหมายถึงการเปลี่ยนฮาร์ดดิสก์โดยไม่ต้องปิดสวิตช์คอมพิวเตอร์ก่อน และเมื่อเปลี่ยนแล้วนอกจากสามารถใช้งานได้ทันทีแล้ว หากใช้ระบบ RAID ก็สามารถ "Rebuild" คือ สร้างระบบ RAID ในฮาร์ดดิสก์ก้อนใหม่ได้ทันที

การเพิ่มขนาดของ Logical Volume
ขนาดของ Logical Drive นั้น ขึ้นกับความจุและจำนวนของฮาร์ดดิสก์ที่นำมาเพิ่มในระบบ RAID โดยปกติระบบ RAID จะระบุไว้ว่า กรณีใช้ฮาร์ดแวร์ในการควบคุม ฮาร์ดดิสก์ทั้งหมดที่นำมาเพิ่มในระบบจะต้องมีความจุเท่ากัน การเพิ่มขนาดของ Logical Drive ทำได้โดยการเพิ่มฮาร์ดดิสก์ SCSI เข้าไปในระบบ
ถ้าเป็นระบบ RAID เก่าๆ การเพิ่มขนาดของ Logical Drive ทำได้โดยการสำรองข้อมูลทั้งหมด หลังจากนั้นปิดระบบ (ปิดเฉพาะระบบที่ใช้ RAID) ติดตั้งฮาร์ดดิสก์เพิ่มเติมเข้าไปในระบบ และ Config RAID หรือการสร้าง RAID ขึ้นใหม่ วิธีการนี้มีข้อด้อยคือ ใช้เวลาในการดำเนินใหม่ และต้องการผู้เชี่ยวชาญ เพราะในระบบเครือข่าย ถ้าหากต้องมีการ "ติดตั้งระบบใหม่" นั้นหมายถึง การ Config ระบบใหม่ทั้งหมด แต่ระบบคอมพิวเตอร์ที่ใช้ RAID ใหม่ๆ นั้น ใช้หลักการของ Dynamic System Expansion การขยายขนาดของระบบโดยวิธีการง่ายกว่าเดิม โดยวิธีนี้ต้องใช้กับระบบ RAID ที่เป็น RAID Hardware Controller เท่านั้น โดยเมื่อเพิ่มฮาร์ดดิสก์เข้าไปในระบบ (จะเป็น Hot Plug หรือ Non Hot-Plug) ก็ได้ หลังจากนั้นใช้ฟังก์ชันในการตรวจจับ (SCSI Harddisk SCAN) เพื่อตรวจสอบว่ามีฮาร์ดดิสก์ใหม่ถูกติดตั้งเข้าไปในอะเรย์ หลังจากนั้นก็ใช้ฟังก์ชันในการเพิ่มขนาด Logical Volume โดยการ Assign ฮาร์ดดิสก์ใหม่เข้ากับระบบอะเรย์ เพียงไม่กี่นาทีก็เพิ่มขนาดของ Logical Volume ได้

การจัดเก็บข้อมูลทั้งหลายพร้อมกัน
        การจัดเก็บข้อมูลหลายๆ ที่จะเกี่ยวข้องกับการจัดเก็บข้อมูลเหมือนกัน 2 ที่ ในฮาร์ดไดรฟ์เดียวกันหรือไดรฟ์ที่ถูกแยกออกต่างหาก ดังนั้นโดยทั่วไปข้อมูลในไดรฟ์หนึ่งจะมีผลไปถึงข้อมูลอีกไดรฟ์หนึ่งด้วย โดยปกติแล้วระบบจะเขียนข้อมูลอย่างต่อเนื่องลงไปในฮาร์ดไดรฟ์ทั้งสองที่พร้อมๆ กัน และนี่คือเทคนิคการเขียนข้อมูลขนาดใหญ่หนึ่งในสองแบบที่ใช้ใน RAID เพื่อ ช่วยป้องกันการสูญเสียข้อมูล ประโยชน์ที่ได้รับจากการทำรูปแบบดังกล่าว คือเมื่อฮาร์ดไดรฟ์ตัวหนึ่งเกิดความเสียหาย ระบบก็จะยังสามารถทำงานได้ตามปกติ เนื่องจากการมีข้อมูลที่เหมือนกันสองชุดอยู่ในระบบเดียวกัน ทำให้โอกาสที่ระบบจะเกิดความขัดข้องมีน้อยลง และการแก้ไขปัญหาสามารถทำได้อย่างง่ายดาย เนื่องจากสิ่งที่คุณต้องทำเพียงแต่สร้างข้อมูลขึ้นมาใหม่ โดยใช้ข้อมูลที่ยังคงจัดเก็บได้ตามปกติจากอีกที่หนึ่งเท่านั้น
         ในแผนผังจะแสดงวิธีการทำงานของการจัดเก็บข้อมูลหลายที่พร้อมกัน ซึ่งแน่นอนว่าเป็นแผนผังที่จะช่วยให้เข้าใจง่ายขึ้น A, B และ C คือไฟล์
ที่อยู่ในดิสก์แต่ละลูก โดยดิสก์1และ2ไม่จำเป็นต้องเป็นฮาร์ดดิสก์จริงๆ อาจเป็นเพียงไดรฟ์ใดไดรฟ์หนึ่งก็ได้ สิ่งสำคัญที่ควรจำคือ RAID จะทำหน้าที่เขียนข้อมูลที่เหมือนกันลงในไดรฟ์ทั้งสองแห่ง ไดรฟ์แต่ละส่วนจะมีข้อมูลเหมือนกัน ซึ่งคุณสามารถเพิ่มความซับซ้อนลงไปโดยการแยกส่วนข้อมูลได้อีก
        จากภาพจะเห็นว่าไดรฟ์ทั้งสองฝั่ง จะผูกติดกันในระหว่างที่มีการเขียนข้อมูล พร้อมๆ กันสองแห่ง และสามารถทำให้การทำงานของเครื่องช้าลง ในทางกลับกัน การทำงานของเครื่องจะรวดเร็วมากขึ้นเมื่อใช้ในการอ่านข้อมูล ระบบ RAID ที่ดีนั้นจะอ่านข้อมูลจากไดรฟ์ใดไดรฟ์หนึ่งเท่านั้น เนื่องจากข้อมูลที่มีอยู่จะเหมือนกันกับอีกไดรฟ์หนึ่ง และในขณะที่ไดรฟ์หนึ่งถูกใช้เพื่อการอ่านข้อมูล อีกไดรฟ์หนึ่งที่เหลือยังสามารถที่จะทำงานอื่นได้อีก ซึ่งการทำงานพร้อมกันสองอย่างนี้ คือแนวคิดการทำงานเพื่อเพิ่มประสิทธิภาพโดยการใช้งาน RAID
        แม้ว่าการเก็บข้อมูลสองแห่งพร้อมกัน ดูเหมือนจะเป็นทางออกที่ดีในการเก็บรักษาข้อมูล แต่สิ่งที่ต้องสูญเสียไป จากการใช้วิธีนี้คือค่าใช้จ่าย และจำนวนของพื้นที่ในดิสก์ ที่ต้องใช้ในการจัดเก็บข้อมูลสองที่พร้อมๆ กัน ซึ่งอาจต้องการพื้นที่มากเพิ่มเป็นสองเท่าเพื่อการจัดเก็บข้อมูล ซึ่งต้องเปรียบเทียบให้ดีกับการเลือกโปรแกรมอื่นๆ เพื่อประหยัดค่าใช้จ่าย ซึ่งอาจหมายถึงโอกาสผิดพลาดที่มากขึ้น ความอยู่รอดของบริษัทหรือแม้กระทั่งชีวิตมนุษย์ซึ่งอาจไม่คุ้มกันก็ได้ ข้อมูลไม่จำเป็นต้องมีการจัดเก็บในพื้นที่มากมายแต่อย่างใด วิธีการจัดเก็บข้อมูลพร้อมกันอีกวิธีหนึ่ง คือการจัดเก็บอย่างเสมอภาค

การจัดเก็บข้อมูลแบบเสมอภาค
        การจัดเก็บแบบเสมอภาค จะเป็นอีกเทคนิคหนึ่งที่ใช้ใน RAID ซึ่งวิธีนี้ จะนิยมใช้ในเรื่องที่เกี่ยวกับความผิดพลาดที่เกิดจากการติดต่อสื่อสาร เช่นการใช้โมเด็ม วิธีนี้สามารถใช้กับหน่วยความจำได้เช่นกัน เทคนิคเสมอภาคใน RAID มีความคล้ายคลึงกับเทคนิคเสมอภาคของหน่วยความจำ ตัวอย่างเช่น เมื่อคุณมีตัวเลข x จำนวนเป็นส่วนประกอบของข้อมูล คุณจะสามารถใช้ตัวเลข x จำนวนดังกล่าวในการสร้างส่วนประกอบที่เสมอภาคกันขึ้นมาได้ ทำให้จบลงด้วยจำนวนรวมเท่ากับ x + 1 จำนวน ซึ่งถ้าหากเลขตัวใดตัวหนึ่งใน x + 1 จำนวนนี้หายไป ข้อมูลดังกล่าวก็จะสามารถถูกกู้กลับมาได้ ตราบใดที่ตัวเลข x จำนวนยังคงปรากฏอยู่ คุณอาจจะเคยได้ยินคำว่า “parity bit” ถูกใช้แทนข้อมูลที่เพิ่มเติมขึ้นมา แต่ในกรณีของ RAID คำดังกล่าวหมายถึงจำนวนข้อมูลที่มากมายกว่า 1 บิต เป็นอย่างมาก ถึงตรงนี้คุณเริ่มสับสนบ้างหรือยัง?
จำนวนข้อมูลเสมอภาคที่เพิ่มขึ้นมานี้ จะใช้วิธีตรรกวิทยาที่เรียกว่า “Exclusive OR” (XOR) ซึ่งถ้าหากคุณยังไม่คุ้นกับวิธี XOR
        โดยทั่วไป XOR จะมีค่าเท่ากับ “True” ถ้าหากว่าได้จับคู่กับค่าที่เป็น “True” เหมือนกัน ส่วนที่เหลือเมื่อจับคู่กับ “True” จะมีผลเท่ากับ “False” นอกจากนี้ ยังสามารถใช้วิธีการเดียวกันนี้กับตัวเลขแบบไบนารีด้วย โดยกำหนดค่า “True” เท่ากับ 1 และ “False” เท่ากับ 0 ตามตัวอย่างต่อไปนี้
โดยปกติแล้วสามารถตั้งค่าทั้งสามจำนวนได้ ตราบใดที่คุณมีค่าสองจำนวนเรียบร้อยแล้ว ซึ่งเป็นแนวคิดเกี่ยวกับวิธีเสมอภาคมาตั้งแต่แรกแล้ว ระบบการทำงานจะทำงานกับตัวเลขทุกบิต ซึ่งจะทำให้สามารถทำงานได้ทั่วทั้งฮาร์ดไดรฟ์ ตอนนี้ถ้ากลับมาคิดเรื่องจัดเก็บข้อมูลอีกครั้ง จะรู้ว่าสามารถป้องกันข้อมูลสูญหายจากฮาร์ดไดรฟ์ต่างๆ ได้โดยไม่จำเป็นต้องมีการเก็บข้อมูลพร้อมกันสองที่แต่อย่างใด สิ่งที่คุณต้องการคือ ฮาร์ดไดรฟ์เพิ่มขึ้นมามากกว่า ซึ่งนับเป็นข้อได้เปรียบข้อหนึ่งของวิธีการนี้ที่มีต่อการเก็บข้อมูลหลายที่ อย่างไรก็ตามระดับความหยืดหยุ่นของวิธีนี้มีไม่สูงเท่ากับวิธีเก็บข้อมูลหลายที่ ข้อมูล ที่ถูกจัดเก็บโดยวิธีนี้ ไม่จำเป็นต้องเก็บไว้ในฮาร์ดไดรฟ์เพียงตัวเดียว อาจจะเก็บเอาไว้หลายตัวก็ได้ การแยกเก็บข้อมูลก็สามารถทำได้ด้วยวิธีนี้
        ข้อจำกัดของการใช้เทคนิคเสมอภาคนี้คือ ต้องการคอมพิวเตอร์ที่มีขีดความสามารถสูง เนื่องจากข้อมูลต้องถูกคำนวณใหม่ทุกครั้ง เมื่อมีการอ่านหรือเขียนข้อมูลเกิดขึ้น ซึ่งหมายถึงมีความจำเป็นต้องใช้ฮาร์ดแวร์ RAID เข้ามาเกี่ยวข้อง โดยไม่จำเป็นต้องคำนึงถึง ซอฟต์แวร์ RAID มากมายนัก เนื่องจากการทำงานส่วนใหญ่จะเกี่ยวข้องกับ CPU โดยตรง นอกจากนี้การแก้ไขปัญหาเมื่อเกิดความผิดพลาดจะทำได้ยากกว่าเทคนิคการเก็บข้อมูลหลายที่ การสร้างข้อมูลโดยอัตโนมัติ จะถูกสร้างโดยฮาร์ดแวร์ที่ใช้ควบคุม ซึ่งนั้นหมายถึงการใช้เวลาที่มากกว่าด้วยเช่นกัน

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

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

ตัวอย่างการทดสอบ

System ที่ใช้ทดสอบ
Mainboard
 ASUS P4C800 Deluxe / Intel i875P
CPU Intel Pentium4 2.40C / HT Enabled
Memory Corsair TwinX PC3200LLPT 512MB
VGA Spark Radeon 9600
Harddisk  IBM HDS722580VLAT20
2x Enermax EG465P-VE 450WWestern Digital WD760GD in 
Power Supply  RAID 0 configurations

 
RAID Controller  Promise FastTrak 378

       ซึ่งระหว่างการทดสอบ ได้ทดสอบโดยใช้ฮาร์ดดิสก์ WD740GD สองตัว มาทำการต่อ RAID 0 ผ่าน controller Promise FastTrak 378 บนเมนบอร์ด ASUS P4C800 Deluxe และทดสอบด้วยโปรแกรมเบนช์มาร์คต่างๆ หลังจากนั้น ก็ได้ทำการทดลองใช้ฮาร์ดิสก์ WD740GD เพียงตัวเดียว เชื่อมต่อกับชิพ Promise FastTrak 378 เช่นเดียวกัน เพื่อเปรียบเทียบผลการทดสอบระหว่างการต่อ RAID 0 และไม่ได้ต่อ กันให้เห็นชัดเจนไปเลยว่า เมื่อต่อ RAID 0 แล้ว ตัว Raptor 10000rpm WD740GD ตัวนี้ มีความเร็ว แรง เพิ่มขึ้นมากน้อยเพียงใด

2x Western Digital WD740GD



ฮาร์ดดิสก์ Western Digital WD740GD จำนวนสองตัวที่นำมาใช้ในการทดสอบครั้งนี้ ถือเป็นฮาร์ดดิสก์ราคาแพงที่สุดตัวหนึ่งในตลาด desktop เลยก็ว่าได้

Disk Properties




WD740 Single                    2x WD740 in RAID 0 configurations
   

รายละเอียด Disk Properties เปรียบเทียบกันระหว่างตัวเดียวเพียวๆ และต่อ RAID 0 แล้ว




WD740 Single                    2x WD740 in RAID 0 configurations
 

ขอเริ่มทดสอบจากโปรแกรมยอดนิยมอย่าง SiSoft Sandra 2004 SP1 ก่อน ในที่ภาพอาจเห็นไม่ชัดเจนนัก สามารถคลิ๊กที่ภาพเพื่อดูภาพใหญ่ และเปรียบเทียบผลการทดสอบกันได้อย่างละเอียด อย่าลืมดูค่า Benchmark Breakdown ที่อยู่ในกรอบ ค่อนข้างจะละเอียดทีเดียว และผลหลังการต่อ RAID 0 แล้ว พบว่า เร็วขึ้นมาอย่างน่าประทับใจจริงๆ

HDD Score - PCMark04

WD740 Single                         2x WD740 in RAID 0 configurations

                       
       


ถัดมาเป็นโปรแกรม PCMark04 ที่ได้ทำการ benchmark เฉพาะ harddisk เพียงอย่างเดียว และที่น่าสนใจคือ ความเร็วในเรื่องของการ copy file ในหัวข้อ File Copying นั้น หลังจากต่อ RAID 0 แล้ว พบว่าเร็วขึ้นมาเกือบเท่าตัว (จาก 19.638 MB/s มาเป็น 34.976 MB/s)

HDD Score - PCMark2002 PRO


WD740 Single                             2x WD740 in RAID 0 configurations

       
         


อีกโปรแกรมหนึ่งจากค่ายเดียวกัน แต่เก่ากว่า คือ PCMark2002 PRO และก็เช่นเดียวกันที่เลือกทำการ benchmark เฉพาะในส่วนของ harddisk อย่างเดียว
Read/Write Test - HDTach v2.61

                                                       
                  WD740 Single                         2x WD740 in RAID 0 configurations
       



      โปรแกรม HDTach เป็นอีกโปรแกรมที่โด่งดังในเรื่องของการทดสอบ harddisk มาก ซึ่งผลที่ได้จะออกมาในรูปของกราฟ และสรุปเป็นตัวเลขเฉลี่ยอยู่ด้านล่าง กราฟที่ได้อาจจะดูแปลกๆ ซักหน่อย เนื่องจากทำการเชื่อมต่อผ่านชิพ Serial-ATA RAID Controller ของ Promise ซึ่งไม่ได้เขื่อมต่อโดยตรงกับชิพเซ็ตเซาท์บริจอย่าง Intel ICH5 จึงอาจมีบางจังหวะที่เกิดจ้อผิดพลาดขึ้นได้ แต่ตัวเลขโดยรวมนั้น คิดว่าคงไม่หนีจากความเป็นจริงเท่าไรนัก ในตัวแรกที่ทดสอบนี้เป็น HDTach version 2.61 ซึ่งก็ออกมานานแล้ว แนะนำให้คลิ๊กเพื่อดูภาพใหญ่เปรียบเทียบกันดีกว่า Read Test - HDTach v2.9.2.0

                    WD740 Single                            2x WD740 in RAID 0 configurations
         

และล่าสุด HDTach version 2.9.2.0 ให้ผลที่ดูง่าย และดูแม่นยำมากกว่าเดิม เป็นตัวที่ตอกย้ำความแรงของ RAID 0 บน WD740GD ได้เป็นอย่างดีจริงๆ

ตัวอย่างผลิตภัณฑ์
Promise เทคโนโลยี ผู้นำอันดับหนึ่งในด้าน IDE RIAD ได้ออกแบบผลิตภัณฑ์ External Sub system Storage ที่ใช้งานกับ SATA ฮาร์ดดิสต์ รุ่นใหม่โดยใช้ชื่อรุ่นว่า VTrak 15100 RAID เพื่อรองรับกับความต้องการในการเก็บข้อมูลที่มากขึ้นโดยมีประสิทธิภาพสูง เมื่อใช้งานกับ RAID 5 สามารถโอนถ่ายข้อมูลได้สูงถึง 200 MB/sec(sustained throughput)และ15,000 I/O per sec(sustained I/O) มีอินเตอร์เฟส การส่งผ่านข้อมูลแบบ Dual Ultra 160 me.ทำให้รองรับการทำ cluster กับ Storage ตัวอื่นๆ ที่สำคัญ VTrak 15100 RAID ออกแบบมาเพื่อใช้กับ rack mount ขนาด3U ทำให้ประหยัดเนื้อที่ สามารถใช้งานได้กับฮาร์ดดิสก์ได้ทั้งแบบ SATA(Serial-ATA) และ PATA (Parallel ATA)


 


VTrak 15100 RAID Storage System รุ่นประหยัดนี้ เหมาะสำหรับ องค์กรขนาดกลาง ไปจนถึงองค์กรขนาดใหญ่ โดยสามารถเพิ่มขนาดของความจุเพื่อรองรับความจุที่มากขึ้นในอนาคต VTrak 15100 จึงเป็นทางเลือกที่คุ้มค่าสำหรับผู้ที่มองหา RAID Storage คุณภาพสูง พร้อมรับประกันนานถึง3ปี(เฉพาะPSU รับประกันเพียง1ปี)

คุณสมบัติโดยสังเขปของ Promise VT15100
• 15 drive(เฉพาะไดร์ฟขนาด 3.5”*1”เท่านั้น) รองรับการทำ Hot Swap
• ใช้งานได้กับ Serial ATA และ Parallel ATA (โดยผ่านอะแดปเตอร์)หรือใช้งานร่มกันได้
• 2 Ultra 160SCSI host channels(VHDCI) เพื่อทำ clusterสำหรับ 2เซิรฟเวอร์
• ระบบ Full Redundant และ Hot Swapสำหรับ Powerและระบบพัดลมระบายอากาศ
• มี หน่วยความจำ Catch buffer 256 MB ECCและมีแบตเตอรี่แบ็กอัพ Cache 72ชั่วโมง
• รองรับการเพิ่มความจุได้ในอนาคตและระบบOnline array expansion&migration
• เพิ่มความปลอดภัยมากยิ่งขึ้นด้วยเทคโนโลยี่PerfectRAID?สำหรับการตรวจสอบและแก้ไขความผิดพลาดของข้อมูล
• มีเทคโนโลยีตรวจเช็คความถูกต้องของข้อมูลที่จัดเก็บได้อย่างแม่นยำ
• สามารถทำการManagement ได้โดยผ่านพอร์ต RS-232หรือ Ethernet
• รองรับการManage ผ่านทางProtocal SNMP,SSH,WBEM,Telnet,CIM
• รองรับการทำ RAIDระดับ 0,1,3,5,10,50และ JBOD
• RAID flexibility ซึ่งสามารถปรับแต่งขนาดsector/diskได้ตั้งแต่4,8,16,32จนถึง64
• รองรับHot spareและMix Disk&LUNและแจ้งความบกพร่องผ่านทางe-mailหรือเสียงalarm.
• รองรับการใช้งานร่วมกับ Windows2000,Windows2003,Windows XP,Linux(Red Hat ,Suse),FreeBSD,Solaris,Netware&Mac OS X.

หรือจะตามไปดูที่   www.linuxstep.com