Video transcript
สวัสดี ผมไมค์กี้จาก Ontrack data recovery ยินดีต้อนรับสู่ Storage Board! ตอนนี้เราจะมาดู RAID systems – คืออะไรและทำงานอย่างไร – แต่ก่อนจะไปต่อ ให้กำหนดให้ชัดเจนว่า RAID ย่อมาจากอะไร
การกำหนด RAID
RAID ย่อมาจาก Redundant Array of Independent Disks และเป็นวิธีการจัดเก็บข้อมูลที่คุณสามารถกระจายหรือ spread data ไปยัง multiple disks ทั้งหมด nhằmเพิ่ม performance และ reliability
ไม่แปลกใจที่องค์กรเป็น top users ของ RAID systems เนื่องจากความน่าเชื่อถือที่เพิ่มขึ้น แนวคิดที่มีมา 30 ปีแล้ว และคุณไม่จำเป็นต้องเป็นบริษัทถึงจะใช้ได้ – คุณอาจเป็นบุคคล ทำ video editing หรือ music production ใช้ไม่เพื่อเพิ่ม performance และ reliability เหนือ single drive เท่านั้น แต่ยังเพิ่ม volume sizes อีกด้วย นั่นคือเหตุผลที่องค์กรชอบมาก
Hardware vs. Software RAID
มีสองวิธีหลักในการ setup RAID system แรก คือ hardware setup; เกี่ยวข้องกับ host computer (หรืออาจเป็น server) และ RAID controller อยู่ตรงกลาง ซึ่งควบคุม RAID system เอง ใน hardware setup RAID controller รับผิดชาทุกอย่างเกี่ยวกับ RAID: การอ่านและเขียนข้อมูล บวกกับที่จัดเก็บและ drive ไหนที่เขียนไป OS โฮสต์ไม่มีความรู้ว่ามี multiple drives ภายใน RAID system และมองมันทั้งหมดเป็น one logical unit ใน software RAID array แตกต่างเล็กน้อย RAID controller ถูก implement กับ operating system ซึ่งมี performance ลดลงเล็กน้อย เพราะ OS ทำหลายอย่างพร้อมกัน (เพราะไม่มี hardware RAID controller แยกต่างหาก)
RAID levels และการทำงานจริง เราจะมาดู key terms บางอย่างเพื่อค้นพบว่า RAID systems นี้คืออะไร
Key terms
แรก มี 'parity' Parity เป็นแนวคิดสำคัญมากภายใน RAID เป็นวิธีกระจายข้อมูลข้าม multiple drives เพื่อช่วย load distribution และ recovery ของข้อมูลหากมีอะไรผิดพลาด
ต่อมา 'redundancy' ซึ่งในแง่ computer science คือการ duplicate critical components เพื่อถ้าตัวหนึ่งล้มเหลว ระบบทั้งหมดไม่ตกพร้อมกัน ในกรณี RAID systems components นี้คือ drives เราจะรายละเอียดเพิ่มเติมเร็วๆ นี้
สองแนวคิดสำคัญอีกอย่างใน RAID คือ 'mirroring' และ 'striping' Mirroring คล้ายกับที่ชื่อบอก คือ mirroring ข้อมูลจาก drive หนึ่งไปอีก drive ซึ่ง replicate ข้อมูลเดียวกันอย่างแม่นยำ เพื่อให้ recover ได้หากมีอะไรผิดพลาด
แล้วมี striping ซึ่งเป็นการเขียนข้อมูล sequentially ข้าม multiple disks และเราจะดูว่ามันทำงานอย่างไรใน 'RAID 0' setup
ก่อนจะทำนั้น คุ้มค่าที่จะกล่าวว่ามี RAID levels หลายระดับมาก เราเลือกแค่ 4 ระดับสำหรับวิดีอนี้ แต่เช่น ถ้าคุณเป็นบริษัทที่มี custom applications หรือ databases คุณอาจอยากสร้าง RAID level ของตัวเองขึ้นอยู่กับความต้องการที่แน่นอน Levels ไปจาก RAID 0 จนถึง RAID 61 และมากกว่า แต่ยังมี nested หรือ custom levels หลายอย่าง อันที่เราจะดูคือ 4 ระดับพื้นฐานที่สุด
RAID 0
ด้วย RAID 0 setup ต้องมี drives อย่างน้อยสองตัวใช้ concept ของ striping ตามที่เห็น ข้อมูล striped ข้ามสอง disks ซึ่งเยี่ยมในแง่ read และ write performance เหนือ single disk แต่ไม่ดีนักในแง่ redundancy เพราะถ้าหนึ่งใน drives ล้มเหลว (สมมติ drive 1) ข้อมูลไม่ได้ replicated ที่อื่น ไม่มีที่จะได้กลับมา
RAID 1
RAID 1 เป็นระดับถัดไป ใช้ concept ของ mirroring ที่ดูก่อนหน้า อีกครั้ง มีสอง drives ใน setup นี้ และ mirror ข้อมูลจาก drive แรกไป drive ที่สอง หมายความว่าถ้า drive 1 ล้มเหลวใน RAID configuration นี้ คุณจะ restore ข้อมูลได้โดยไม่มีปัญหา (เพราะข้อมูลเดียวกันอยู่บน drive 2) เพิ่ม redundancy และ data security และเป็น lowest form ของ redundancy ใน RAID
RAID 5
มาดูระดับซับซ้อนมากขึ้น RAID 5 นี้ introduce concept ของ parity – การกระจายข้อมูลข้าม multiple drives เพื่อช่วย recovery เห็นได้ว่าใน setup นี้มี 4 drives (RAID 5 ต้องการอย่างน้อย 3 drives) และเห็น parity ไฮไลท์ที่นี่ในสีแดง ถ้าหนึ่ง drive ล้มเหลว – สมมติ drive 4 – ข้อมูลสามารถ rebuild ได้ใช้ parity จาก drives อื่นๆ (parity ใน RAID 5 นี้ใช้พื้นที่หนึ่ง drive รวม และทนทานได้ one drive failure)
กับ RAID 5 คุณสามารถไปต่อได้อีกขั้น 配置 drive ที่ห้า: 'hot spare' นี่คือ idle drive ที่นั่งในระบบไม่มีข้อมูลเขียน แต่ถ้าหนึ่ง drive ล้มเหลว – สมมติ drive 4 อีกครั้ง – hot spare (drive 5) จะเข้ามาแทน drive 4 ที่ล้มเหลว และเขียน based on parity ข้าม drives อื่นๆ และไม่มีข้อมูลสูญเสีย สิ่งที่คุณทำต่อคือถอด failed drive ออก และใส่ drive ใหม่เข้า array ซึ่งกลายเป็น hot spare ใหม่ นี่เป็นอีกวิธีดีในการเพิ่ม redundancy ป้องกัน data loss
RAID 6
สุดท้าย RAID 6 นำ concept ของ parity ไปอีกขั้นเป็น 'dual parity' เห็นได้ว่าใน RAID 6 array มี 5 drives (RAID 6 ต้องการอย่างน้อย 4 drives) และเห็น dual parity span ข้ามพวกเขา ใช้พื้นที่สอง drives รวม นี่อนุญาตให้ two drives ล้มเหลวภายใน array ก่อนที่จะมีปัญหากับการได้ข้อมูลกลับมา นี่เพิ่มความน่าเชื่อถือและ data security เพื่อถ้าสอง drives ตก ด้วย dual parity ข้าม drives อื่นๆ คุณสามารถ rebuild ข้อมูลภายใน array นั้นได้
คุ้มค่าที่จะกล่าวว่า redundancy และ parity ไม่เหมือนกับการมี backups จำได้เสมอ: เก็บ backups แยกต่างหากของ RAID system ของคุณ
คุณจัดเก็บข้อมูลบน RAID system ไหม? ใช้ระดับไหน และทำไม? บอกเราได้โดย comment ด้านล่าง