(เขียนเมื่อ 2010-08-30 00:48:22 +0700)

สวัสดีอีกครั้งครับ หายไปเดือนกว่าๆ เลยรอบนี้หายไปนานหน่อยแอบไปร่อนที่มาเลเซียมานิดหน่อย ติดใจเน็ตผ่านมือถือที่นั่นมากมายเลยครับ 3G มันดีอย่างนี้นี่เอง เห็นว่ากำลังเริ่ม WiMax หรือ 4G กันแล้ว บ้านเราเหรอ เหอะๆๆๆ สงสัยลูกโตเลี้ยงหลานยังไม่รู้จะได้เล่นหรือเปล่าเนี่ย ฮ่าๆ ทำใจ Thailand Only ล่ะ

นอกเรื่องกันแหละรอบนี้ลองมาดูสิ่งที่ทำให้คอมพิวเตอร์ที่แรงๆ ของเราช้าลงไปมากมายเลยนั่นก็คือ Harddisk นั่นแหละ ไม่ว่า CPU, RAM, VGA หรือส่วนอื่นๆ จะเร็วไปมากแค่ไหน HDD ก็ยังคงปั่นได้แค่ 7,200 รอบต่อนาที (rpm) เท่านั้นไม่ไปไหนมาร่วม 4-5 ปีแล้ว HDD แบบ 10,000 rpm หรือ 15,000 rpm มันก็มีขายนะ แต่มันเป็น SAS แถมราคานี้ซื้อ SATA ธรรมดาๆ มาถมที่ได้เลย (ว่าไปนั่น) ทางแก้ก็คือเอามาต่อหลายๆ ตัวแล้วให้มันช่วยกันทำงานเสียสิไหนๆ HDD เดี๋ยวนี้ราคาก็ถูกลงมามากมายแล้ว

การเอา HDD หลายๆ ตัวมาต่อแล้วให้มันทำงานรวมกันเรียกว่า RAID หรือ Redundant Array of Independent Disks จริงๆ แล้วผมเคยเขียนบทความลงที่ expert2you เมื่อชาติก่อนแล้ว (ปี 2546) ลองเข้าไปอ่านกันได้ครับ http://www.expert2you.com/view_article.php?art_id=1032 เขียนไว้ 7 ปีมีคนอ่านไปแล้ว 120,000 กว่าคน (วันที่ 25/08/2010) ก็แอบดีใจที่มีคนเข้าไปอ่านเยอะเหมือนกันตอนนั้นเขียนแบบไม่ค่อยมีความรู้เท่าไหร่เขียนไปตามที่เข้าใจแถมยังไม่มีรูปประกอบอีก แต่ทุกวันนี้ HDD ราคาถูก Mainboard หลายๆ ตัวทำ RAID ได้เลยไม่ต้องซื้อการ์ดเพิ่มเหมือนเมื่อก่อน แถม HDD ราคาถูกลงแทบจะแจกฟรี (แต่ก็ต้องเสียตังซื้อ) การจะทำ RAID ก็ไม่ใช่เรื่องไกลตัวเหมือนเมื่อก่อนอีกต่อไป

ก่อนอื่นมาลองอธิบาย RAID ก่อน หลักการง่ายๆ ของ RAID ก็คือเอา HDD หลายๆ ตัวมาต่อให้ทำงานร่วมกันวิธีการต่อก็มีหลายแบบแต่ RAID ที่ติดมากับ Mainboard ส่วนใหญ่ก็จะมีแค่ 0, 1, 10, JBOD บางตัวก็สามาทถทำ RAID 5 ได้ด้วย ลองมาดูแต่ละแบบกันเลยดีกว่า

RAID 0


เป็นวิธีการนำเอา HDD ตั้งแต่ 2 ตัวขึ้นไปมาต่อแบบขยาย โดยความจุที่ได้จะเท่ากับขนาดของ HDD ที่เล็กที่สุดคูณจำนวน HDD

ข้อดี ความเร็วที่ได้จะเร็วขึ้นตามจำนวน HDD ที่ต่อเพิ่มขึ้นไป ตามทฤษฎี HDD 2 ตัวก็น่าจะเร็วขึ้น 2 เท่า แต่จริงๆ แล้วต้องคำนึงถึง controller ด้วย ส่วนขนาดของ HDD ก็จะเพิ่มไปตามจำนวนที่ต่อเข้าไป

ข้อเสีย ถ้า HDD ตัวไหนเจ้ง บอกลาข้อมูลได้เลย ยิ่งต่อเยอะความเสี่ยงก็ยิ่งสูงขึ้น

 

RAID 1


เป็นวิธีที่ตรงข้ามกับ RAID 0 เลย โดย RAID 1 จะทำการสร้างสำเนาขึ้นใน HDD อีกตัวหนึ่งทำให้ข้อมูลทั้งคู่เหมือนกันทุกประการ ตามทฤษฎีแล้วความเร็วในการเขียนจะช้าลงส่วนความเร็วในการอ่านจะเพิ่มขึ้น เพราะเวลาในการเขียนข้อมูลจะเพิ่มเป็น 2 เท่าเพราะต้องเขียนลง HDD ทั้ง 2 ตัวส่วนความเร็วในการอ่านก็จะเพิ่มเป็น 2 เท่าด้วยเช่นกัน เพราะสามารถแบ่งอ่านจาก HDD ทั้งสองตัวได้

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

ข้อเสีย การ์ด controller ทั่วๆ ไปจะอนุญาตให้สร้าง RAID 1 จาก HDD แค่คู่เดียวเท่านั้น และถึงแม้จะต่อได้เยอะแค่ไหน ความจุที่เราได้ก็จะเท่ากับ HDD ตัวที่เล็กทีสุดที่ต่อเข้าไป เขียนข้อมูลได้ช้าลงมาก เพราะต้องเขียนข้อมูลถึง 2 ครั้งลง HDD ทั้งคู่

 

ส่วน Raid แบบอื่นๆ สามารถอ่านต่อได้จาก wikipedia เลยครับ

เมื่อสองสามวันก่อน ผมได้ HDD ยี่ห้อเดียวกัน รุ่นเดียวกันมา 3 ลูก เลยมาลองของกันเสียหน่อยล่ะกัน โดยจะมีการทดสอบดังนี้

  • HDD 1 ตัว ไม่ได้ทำ RAID ใดๆ เลย
  • HDD 2 ตัว ทำ RAID 0
  • HDD 2 ตัว ทำ RAID 1
  • HDD 3 ตัว ทำ RAID 0

เครื่องที่ใช้ทดสอบก็เป็นเครื่องอ่อนๆ ดังนี้เลยครับ

  • CPU :: Athlon X3 425 @ 2.7GHz
  • RAM :: DDR2 4GiB
  • Mainboard :: ASUS M4A77
  • HDD Western Digital Blue 160GB x3
  • OS :: Windows 7 Home Premium





พระเอกของเรา 3 ตัว เดี๋ยวนี้ราคาไม่แพงแล้วล่ะ ได้มาตัวละไม่ถึง 1100 อ่ะ ส่วน 250GB ก็เพิ่มอีกร้อยกว่าๆ ที่ไม่เอา 250GB เพราะแค่นี้ก็พอแล้ว ต้องการความเร็ว ไม่ต้องการขนาดอ่ะครับ

HDD 1 ตัว ไม่ได้ทำ RAID

อยากทำก็ทำไม่ได้แหละครับ เพราะ RAID มันต้องใช้ HDD ตั้งแต่สองตัวขึ้นไป แต่ก็เอาผลทดสอบมาลงให้ดูเป็นตัวเปรียบเทียบล่ะกันครับ ความเร็วอ่านเขียนก็มาตรฐานทั่วๆ ไป ไม่ต่างอะไรกับ HDD 7200rpm เท่าไหร่ แต่จะให้สู้กับ western black ก็คงไม่ได้

HDD 2 ตัว ทำ RAID 0

จากทฤษฎีข้างบน RAID 0 HDD แต่ละตัวจะแบ่งกันอ่านเขียน ดังนั้นความเร็วในการอ่านน่าจะเพิ่มขึ้นตามจำนวน HDD ที่เพิ่มขึ้นด้วย ลองมาดูแลการทดลองกัน

HDD 2 ตัว ทำ RAID 1

ก็คือเอา HDD สองตัวมาต่อกัน โดยทำการ Backup ข้อมูลกัน ตามทฤษฎี RAID 1 เขียนน่าจะช้ากว่าอ่าน เพราะต้องเขียนลง HDD ถึง 2 ตัวทั้งๆ ที่เป็นข้อมูลเดียวกัน แต่จะอ่านข้อมูลออกมาจาก HDD แต่ละตัวโดยจะแบ่งกันอ่านได้

HDD 3 ตัว ทำ RAID 0

การต่อแบบสุดท้ายที่ทำได้โดยใช้ HDD 3 ตัว (RAID 5 ก็ใช้ HDD 3 ตัว แต่บอร์ดทำไม่ได้) ความเร็วที่ได้น่าจะเพิ่มขึ้นจาก HDD 2 ตัวอีกนิดหน่อย เราลองมาดูผลลัพธ์กัน

ลองสรุปเป็นตารางดูนะครับ ในรูปมันตัวเล็กมากๆ เลย เดี๋ยวจะไม่เห็นกัน

ตาราง Read

Min Speed (MB/s) Max Speed (MB/s) AVG Speed (MB/s) Access Time (ms) Burst rate (MB/s)
1 HDD Non Raid 54.1 101.1 85.8 15.8 121.9
2 HDDs Raid 0 93.8 148.6 115.9 15.8 107.1
3 HDDs Raid 0 84.9 164.5 117.9 102.1
2 HDDs Raid 1 56.5 98.1 84.9 12.6 102.0

*** ตรงช่อง Access Time Read ของ Raid 0 โดยใช้ HDD3 ตัว ผมลองเท่าไหร่มันก็ไม่ขึ้นมาสักทีอาจจะเป็น bug ของโปรแกรมหรือ Mainboard ก็ได้ แต่ผลทดสอบไม่น่าจะต่างจาก RAID0 2 ตัว หรือไม่ใช้ RAID มากนัก ***

ตาราง Write

Min Speed (MB/s) Max Speed (MB/s) AVG Speed (MB/s) Access Time (ms) Burst rate (MB/s)
1 HDD Non Raid 53.6 91.9 79.9 16.0 110.8
2 HDDs Raid 0 77.5 118.3 99.4 15.9 97.3
3 HDDs Raid 0 78.5 126.8 102.3 17.0 70.3
2 HDDs Raid 1 45.3 85.8 71.9 12.7 95.0

การทดสอบสองอันแรกนี้จะเป็นการทดสอบการอ่านเขียนข้อมูลใน HDD ทั้งหมด ผลการทดสอบจะเป็นค่าเฉลี่ยทั้งหมดของ HDD ชุดนั้นจะเห็นได้ว่าการเขียนจะช้ากว่าการอ่านเสมอส่วนความเร็วเมื่อใช้ RAID 0 โดยใช้ HDD 2 ตัว ความเร็วจะเพิ่มขึ้นถึง 35.08% แต่ถ้าเพิ่ม HDD 3 ตัวความเร็วที่เพิ่มจากปกติจะได้ 37.41% ซึ่งถือว่าน้อยมากเมื่อเทียบกับส่วนต่างของ HDD 2 ตัว (คำนวนจากการอ่าน)

ตาราง Random Read

512 byte (MB/s) 4KB (MB/s) 64KB (MB/s) 1MB (ms) Random (MB/s)
1 HDD Non Raid 0.031 0.245 3.815 35.774 22.855
2 HDDs Raid 0 0.031 0.251 3.623 42.095 25.010
3 HDDs Raid 0 0.032 0.250 3.412 43.656 24.570
2 HDDs Raid 1 0.038 0.312 4.797 39.763 26.915

ตาราง Random Write

512 byte (MB/s) 4KB (MB/s) 64KB (MB/s) 1MB (ms) Random (MB/s)
1 HDD Non Raid 0.089 0.638 8.677 35.873 27.649
2 HDDs Raid 0 0.215 1.138 8.231 55.704 40.646
3 HDDs Raid 0 0.330 1.378 10.675 59.740 41.391
2 HDDs Raid 1 0.090 0.626 7.387 32.487 26.973

การอ่านเขียนข้อมูลแบบสุ่มถ้าหากข้อมูลมีขนาดเล็กจะใช้เวลาในการอ่านเขียนมากกว่าการอ่านข้อมูลเป็นก้อนใหญ่ๆ ถ้าหากเพื่อนๆ ทำการก๊อปปี้ข้อมูลบ่อยๆ ลองสังเกตุว่าถ้าก๊อปปี้ไฟล์ใหญ่ๆ เช่นหนังแบบ MKV หรือไฟล์ ISO เปรียบเทียบกับรูปภาพหรือไฟล์ที่มีขนาดเล็ก การก๊อปปี้ไฟล์ที่มีขนาดเล็กหลายๆ ไฟล์จะใช้เวลามากกว่าอย่างเห็นได้ชัด

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

สรุป

การทำ RAID ไม่ใช่เรื่องใหม่สำหรับ desktop pc แล้ว เนื่องจากสามารถทำได้นานแล้วตั้งแต่สมัย AMD Socket 1 พวกชิก KT400 เลยประสิทธิภาพที่ได้นั้นไม่ได้ขึ้นอยู่กับจำนวน HDD เพียงอย่างเดียว RAID Controller (หรือการ์ด RAID) ก็มีส่วนสำคัญเป็นอย่างยิ่งด้วยเช่นกัน แต่ถ้าเพื่อนๆ ต้องการทำ RAID ผมก็อยากแนะนำให้ทำ RAID 0 โดยใช้ HDD 2 ตัว น่าจะคุ้มค่ากับประสิทธิภาพที่เพิ่มขึ้นมามากที่สุด ถ้าหากจะทำมากกว่านี้จะเสี่ยงเกินไปหน่อย เพราะถ้าหาก HDD เสียเพียงตัวเดียว Array ชุดนั้นจะพังทั้งหมดและไม่สามารถกู้คืนข้อมูลอะไรได้เลย หรือถ้ามีการ์ด Controller หรือ Mainboard ที่รองรับ RAID 5 ได้ อันนี้ก็เป็นตัวเลือกที่คุ้มค่าทั้งความเร็ว และความปลอดภัยของข้อมูลเลย แต่ต้องใช้ HDD ถึง 3 ตัวเลย

แล้วถ้าเทียบกับ SSD ล่ะ?

ผมว่ายังไม่ถึงเวลาของ SSD ครับ ผมมี SSD 80GB Intel ใส่ Notebook ตัวหนึ่ง ยอมรับว่ามันเร็วมากๆ แต่ด้วยขนาดที่มันน้อยมากๆ ทำให้อึดอัดในการใช้งานพอสมควร พอได้ Mac Book Pro เครื่องใหม่ ผมจึงไม่คิดที่จะเอา HDD ตัวนั้นมาใช้กับ Mac เลย แต่ผมไปเอา Western 320GB 7200 rpm มาใส่แทน เพราะผมต้องการความเร็วกับขนาดที่สมเหตสมผลกัน ซึ่งในตอนนี้ SSD ยังเป็นตัวเลือกที่ “แพงเกินไป” เมื่อเทียบกับจานหมุน

อยากแรง ต้อง RAID ครับ (2 ตัวพอนะ)

Comments

จำนวนความเห็น