อาร์เรย์ RAID บน NVMe

อาร์เรย์ RAID บน NVMe
ในบทความนี้เราจะพูดถึงวิธีต่างๆ ในการจัดระเบียบอาร์เรย์ RAID และยังแสดงหนึ่งในตัวควบคุม RAID ฮาร์ดแวร์ตัวแรกที่รองรับ NVMe

แอปพลิเคชั่นเทคโนโลยี RAID ที่หลากหลายทั้งหมดมีอยู่ในเซ็กเมนต์เซิร์ฟเวอร์ ในส่วนของไคลเอนต์ มักใช้เฉพาะซอฟต์แวร์ RAID0 หรือ RAID1 บนดิสก์สองตัวเท่านั้น

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

RAID คืออะไร?

วิกิพีเดีย ให้คำจำกัดความที่ครอบคลุมของเทคโนโลยี RAID:

RAID (ภาษาอังกฤษ อาร์เรย์ที่ซ้ำซ้อนของดิสก์อิสระ - อาร์เรย์สำรองของดิสก์อิสระ (อิสระ) - เทคโนโลยีการจำลองเสมือนสำหรับการรวมอุปกรณ์ดิสก์ทางกายภาพหลายตัวเข้ากับโมดูลลอจิคัลเพื่อเพิ่มความทนทานต่อข้อผิดพลาดและประสิทธิภาพ

การกำหนดค่าของดิสก์อาร์เรย์และเทคโนโลยีที่ใช้ขึ้นอยู่กับที่เลือก ระดับการโจมตี. ระดับ RAID ได้รับการกำหนดมาตรฐานในข้อกำหนด รูปแบบข้อมูลดิสก์ RAID ทั่วไป. โดยอธิบายระดับ RAID ได้หลายระดับ แต่ระดับที่พบบ่อยที่สุดคือ RAID0, RAID1, RAID5 และ RAID6

RAID0หรือ ลายเส้นเป็นระดับ RAID ที่รวมไดรฟ์จริงตั้งแต่สองตัวขึ้นไปเข้าไว้ในไดรฟ์แบบลอจิคัลเดียว ไดรฟ์ข้อมูลของดิสก์แบบลอจิคัลจะเท่ากับผลรวมของไดรฟ์ข้อมูลของดิสก์ทางกายภาพที่รวมอยู่ในอาร์เรย์ ไม่มีความซ้ำซ้อนในระดับ RAID นี้ และความล้มเหลวของไดรฟ์ตัวหนึ่งอาจทำให้ข้อมูลทั้งหมดในดิสก์เสมือนสูญหายได้

Уровень RAID1หรือ กระจกเงาสร้างสำเนาข้อมูลที่เหมือนกันบนดิสก์ตั้งแต่สองตัวขึ้นไป ขนาดของดิสก์เสมือนไม่เกินขนาดต่ำสุดของดิสก์จริง ข้อมูลบนดิสก์เสมือน RAID1 จะพร้อมใช้งานตราบใดที่ดิสก์จริงอย่างน้อยหนึ่งตัวจากอาเรย์ยังทำงานอยู่ การใช้ RAID1 เพิ่มความซ้ำซ้อน แต่เป็นโซลูชันที่ค่อนข้างแพง เนื่องจากในอาร์เรย์ของดิสก์ตั้งแต่สองตัวขึ้นไป จะมีความจุเพียงดิสก์เดียวเท่านั้น

Уровень RAID5 แก้ปัญหาต้นทุนสูง ในการสร้างอาร์เรย์ที่มีระดับ RAID5 คุณต้องมีดิสก์อย่างน้อย 3 แผ่น และอาร์เรย์สามารถทนต่อความล้มเหลวของดิสก์หนึ่งตัวได้ ข้อมูลใน RAID5 จะถูกจัดเก็บไว้ในบล็อกที่มีเช็คซัม ไม่มีการแบ่งแยกระหว่างดิสก์ข้อมูลและดิสก์เช็คซัมอย่างเข้มงวด เช็คซัมใน RAID5 เป็นผลมาจากการดำเนินการ XOR ที่ใช้กับบล็อก N-1 ซึ่งแต่ละบล็อกนำมาจากดิสก์ที่แตกต่างกัน

แม้ว่าอาร์เรย์ RAID จะเพิ่มความซ้ำซ้อนและให้ความซ้ำซ้อน แต่ก็ไม่เหมาะสำหรับการจัดเก็บข้อมูลสำรอง

หลังจากศึกษาประเภทของอาร์เรย์ RAID คร่าวๆ แล้ว คุณสามารถไปยังอุปกรณ์และโปรแกรมที่ช่วยให้คุณสามารถประกอบและใช้ดิสก์อาร์เรย์ได้

ประเภทของคอนโทรลเลอร์ RAID

มีสองวิธีในการสร้างและใช้อาร์เรย์ RAID: ฮาร์ดแวร์และซอฟต์แวร์ เราจะพิจารณาแนวทางแก้ไขต่อไปนี้:

  • ซอฟต์แวร์ Linux RAID
  • Intel® Virtual RAID บน CPU
  • LSI MegaRAID 9460-8i

โปรดทราบว่าโซลูชันของ Intel® ทำงานบนชิปเซ็ต ซึ่งทำให้เกิดคำถามว่าเป็นโซลูชันฮาร์ดแวร์หรือซอฟต์แวร์ ตัวอย่างเช่น ไฮเปอร์ไวเซอร์ VMWare ESXi จะพิจารณาซอฟต์แวร์ VROC และไม่รองรับอย่างเป็นทางการ

ซอฟต์แวร์ Linux RAID

อาร์เรย์ RAID ของซอฟต์แวร์ในตระกูล Linux OS เป็นโซลูชันที่ค่อนข้างธรรมดาทั้งในส่วนของไคลเอนต์และเซิร์ฟเวอร์ สิ่งที่คุณต้องมีในการสร้างอาร์เรย์คือยูทิลิตี้ mdadm และอุปกรณ์บล็อกบางตัว ข้อกำหนดเพียงอย่างเดียวสำหรับ Linux Software RAID บนไดรฟ์ที่ใช้คือการเป็นอุปกรณ์บล็อกที่ระบบสามารถเข้าถึงได้

การไม่มีค่าใช้จ่ายสำหรับอุปกรณ์และซอฟต์แวร์ถือเป็นข้อได้เปรียบที่ชัดเจนของวิธีนี้ Linux Software RAID จัดระเบียบดิสก์อาร์เรย์โดยเสียค่าใช้จ่ายตามเวลา CPU รายการระดับ RAID ที่รองรับและสถานะของอาร์เรย์ดิสก์ปัจจุบันสามารถดูได้ในไฟล์ mdstat ซึ่งอยู่ในราก procfs:

root@grindelwald:~# cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid10] 
unused devices: <none>

เพิ่มการรองรับระดับ RAID โดยการเชื่อมต่อโมดูลเคอร์เนลที่เหมาะสม ตัวอย่างเช่น:

root@grindelwald:~# modprobe raid456
root@grindelwald:~# cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] 
unused devices: <none>

การดำเนินการทั้งหมดกับดิสก์อาร์เรย์จะดำเนินการผ่านยูทิลิตีบรรทัดคำสั่ง mdadm ดิสก์อาร์เรย์ประกอบขึ้นด้วยคำสั่งเดียว:

mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/nvme1n1 /dev/nvme2n1

หลังจากดำเนินการคำสั่งนี้ อุปกรณ์บล็อก /dev/md0 จะปรากฏในระบบ ซึ่งแสดงให้คุณเป็นดิสก์เสมือน

Intel® Virtual RAID บน CPU

อาร์เรย์ RAID บน NVMeคีย์ฮาร์ดแวร์มาตรฐาน Intel® VROC
Intel® Virtual RAID On CPU (VROC) เป็นเทคโนโลยีฮาร์ดแวร์และซอฟต์แวร์สำหรับการสร้างอาร์เรย์ RAID ที่ใช้ชิปเซ็ต Intel® เทคโนโลยีนี้มีให้ใช้งานสำหรับมาเธอร์บอร์ดที่รองรับโปรเซสเซอร์ Intel® Xeon® Scalable เป็นหลัก ตามค่าเริ่มต้น VROC จะไม่พร้อมใช้งาน หากต้องการเปิดใช้งาน คุณต้องติดตั้งรหัสลิขสิทธิ์ฮาร์ดแวร์ VROC

ใบอนุญาต VROC มาตรฐานช่วยให้คุณสร้างดิสก์อาร์เรย์ที่มีระดับ RAID 0, 1 และ 10 เวอร์ชันพรีเมี่ยมขยายรายการนี้ด้วยการรองรับ RAID5

เทคโนโลยี Intel® VROC บนมาเธอร์บอร์ดสมัยใหม่ทำงานร่วมกับ Intel® Volume Management Device (VMD) ซึ่งมอบความสามารถ hot-swap สำหรับไดรฟ์ NVMe

อาร์เรย์ RAID บน NVMeใบอนุญาตมาตรฐาน Intel® VROC อาร์เรย์ได้รับการกำหนดค่าผ่าน Setup Utility เมื่อเซิร์ฟเวอร์บู๊ต บนแท็บ ระดับสูง รายการ Intel® Virtual RAID บน CPU จะปรากฏขึ้น ซึ่งคุณสามารถกำหนดค่าดิสก์อาร์เรย์ได้

อาร์เรย์ RAID บน NVMeการสร้างอาร์เรย์ RAID1 บนไดรฟ์สองตัว
เทคโนโลยี Intel® VROC มีจุดเด่นเป็นของตัวเอง ดิสก์อาร์เรย์ที่สร้างโดยใช้ VROC เข้ากันได้กับ Linux Software RAID ซึ่งหมายความว่าสามารถตรวจสอบสถานะของอาร์เรย์ได้ใน /proc/mdstat และจัดการผ่าน mdadm "ฟีเจอร์" นี้ได้รับการสนับสนุนอย่างเป็นทางการจาก Intel หลังจากประกอบ RAID1 ใน Setup Utility แล้ว คุณจะสังเกตการซิงโครไนซ์ไดรฟ์ในระบบปฏิบัติการได้:

root@grindelwald:~# cat /proc/mdstat 
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md126 : active raid1 nvme2n1[1] nvme1n1[0]
      1855832064 blocks super external:/md127/0 [2/2] [UU]
      [>....................]  resync =  1.3% (24207232/1855832064) finish=148.2min speed=205933K/sec
      
md127 : inactive nvme1n1[1](S) nvme2n1[0](S)
      10402 blocks super external:imsm
       
unused devices: <none>

โปรดทราบว่าคุณไม่สามารถประกอบอาร์เรย์บน VROC โดยใช้ mdadm (อาร์เรย์ที่ประกอบขึ้นจะเป็น Linux SW RAID) แต่คุณสามารถเปลี่ยนดิสก์ในนั้นและแยกส่วนประกอบอาร์เรย์ได้

LSI MegaRAID 9460-8i

อาร์เรย์ RAID บน NVMeลักษณะที่ปรากฏของคอนโทรลเลอร์ LSI MegaRAID 9460-8i
ตัวควบคุม RAID เป็นโซลูชันฮาร์ดแวร์แบบสแตนด์อโลน คอนโทรลเลอร์ใช้งานได้กับไดรฟ์ที่เชื่อมต่อโดยตรงเท่านั้น คอนโทรลเลอร์ RAID นี้รองรับไดรฟ์ NVMe สูงสุด 24 ตัว การรองรับ NVMe เองที่ทำให้คอนโทรลเลอร์นี้แตกต่างจากคอนโทรลเลอร์อื่นๆ

อาร์เรย์ RAID บน NVMeเมนูหลักของตัวควบคุมฮาร์ดแวร์
เมื่อใช้โหมด UEFI การตั้งค่าตัวควบคุมจะรวมอยู่ใน Setup Utility เมื่อเทียบกับ VROC เมนูตัวควบคุมฮาร์ดแวร์ดูซับซ้อนกว่ามาก

อาร์เรย์ RAID บน NVMeการสร้าง RAID1 บนดิสก์สองตัว
การอธิบายวิธีกำหนดค่าดิสก์อาร์เรย์บนตัวควบคุมฮาร์ดแวร์นั้นเป็นหัวข้อที่ค่อนข้างละเอียดอ่อนและอาจเป็นสาเหตุของบทความฉบับสมบูรณ์ ที่นี่เราจะจำกัดตัวเองให้สร้าง RAID0 และ RAID1 ด้วยการตั้งค่าเริ่มต้น

ดิสก์ที่เชื่อมต่อกับตัวควบคุมฮาร์ดแวร์จะไม่ปรากฏให้เห็นในระบบปฏิบัติการ แต่คอนโทรลเลอร์จะ "ปิดบัง" อาร์เรย์ RAID ทั้งหมดเป็นไดรฟ์ SAS แทน ระบบปฏิบัติการจะไม่สามารถเข้าถึงไดรฟ์ที่เชื่อมต่อกับคอนโทรลเลอร์ แต่ไม่ได้เป็นส่วนหนึ่งของอาร์เรย์ดิสก์

root@grindelwald:~# smartctl -i /dev/sda
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.0-48-generic] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               AVAGO
Product:              MR9460-8i
Revision:             5.14
Compliance:           SPC-3
User Capacity:        1,999,844,147,200 bytes [1.99 TB]
Logical block size:   512 bytes
Rotation Rate:        Solid State Device
Logical Unit id:      0x000000000000000000000000000000
Serial number:        00000000000000000000000000000000
Device type:          disk
Local Time is:        Sun Oct 11 16:27:59 2020 MSK
SMART support is:     Unavailable - device lacks SMART capability.

แม้ว่าจะถูกปลอมแปลงเป็นไดรฟ์ SAS แต่อาร์เรย์ NVMe ก็ยังทำงานที่ความเร็ว PCIe อย่างไรก็ตาม คุณลักษณะนี้ทำให้คุณสามารถบูตจาก NVMe ใน Legacy ได้

แท่นทดสอบ

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

เพื่อให้เกิดความเป็นธรรมสูงสุด การทดสอบทั้งหมดจะดำเนินการบนเซิร์ฟเวอร์เดียวกัน การกำหนดค่า:

  • 2x Intel® Xeon® 6240;
  • 12x DDR4-2666 16GB;
  • LSI MegaRAID 9460-8i;
  • คีย์ฮาร์ดแวร์มาตรฐาน Intel® VROC;
  • 4x Intel® SSD DC P4510 U.2 2TB;
  • 1x Samsung 970 EVO พลัส M.2 500GB

หน่วยทดสอบคือ P4510 โดยครึ่งหนึ่งเชื่อมต่อกับเมนบอร์ด และอีกครึ่งหนึ่งเชื่อมต่อกับคอนโทรลเลอร์ RAID M.2 ใช้ Ubuntu 20.04 และการทดสอบจะดำเนินการโดยใช้ fio เวอร์ชัน 3.16

การทดสอบ

ก่อนอื่นเรามาตรวจสอบความล่าช้าเมื่อทำงานกับดิสก์ การทดสอบดำเนินการในหนึ่งเธรด ขนาดบล็อกคือ 4 KB การทดสอบแต่ละครั้งใช้เวลา 5 นาที ก่อนเริ่มต้น อุปกรณ์บล็อกที่เกี่ยวข้องจะถูกตั้งค่าเป็นไม่มีเป็นตัวกำหนดตารางเวลา I/O คำสั่ง fio มีลักษณะดังนี้:

fio --name=test --blocksize=4k --direct=1 --buffered=0 --ioengine=libaio  --iodepth=1 --loops=1000 --runtime=300  --rw=<mode> --filename=<blkdev>

จากผลลัพธ์ fio เราใช้ clat 99.00% ผลลัพธ์แสดงอยู่ในตารางด้านล่าง

การอ่านแบบสุ่ม, μs
การบันทึกแบบสุ่ม, μs

ดิสก์
112
78

ลินุกซ์ SW RAID, RAID0
113
45

VROC, RAID0
112
46

LSI, RAID0
122
63

ลินุกซ์ SW RAID, RAID1
113
48

VROC, RAID1
113
45

LSI, RAID1
128
89

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

fio --name=test --blocksize=4k --direct=1 --buffered=0 --ioengine=libaio  --loops=1000 --runtime=300  --iodepth=<threads> --rw=<mode> --filename=<blkdev>

ประสิทธิภาพวัดในแง่ของการดำเนินการ I/O ผลลัพธ์แสดงอยู่ในตารางด้านล่าง

สุ่มอ่าน 1 เธรด IOPS
สุ่มเขียน 1 เธรด IOPS
สุ่มอ่าน 128 เธรด IOPS
สุ่มเขียน 128 เธรด IOPS

ดิสก์
11300
40700
453000
105000

ลินุกซ์ SW RAID, RAID0
11200
52000
429000
232000

VROC, RAID0
11200
52300
441000
162000

LSI, RAID0
10900
44200
311000
160000

ลินุกซ์ SW RAID, RAID1
10000
48600
395000
147000

VROC, RAID1
10000
54400
378000
244000

LSI, RAID1
11000
34300
229000
248000

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

ข้อสรุป

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

อาร์เรย์ RAID บน NVMe

เฉพาะผู้ใช้ที่ลงทะเบียนเท่านั้นที่สามารถเข้าร่วมในการสำรวจได้ เข้าสู่ระบบ, โปรด.

คุณใช้โซลูชัน RAID หรือไม่?

  • ลด 29,6%ใช่ โซลูชันฮาร์ดแวร์32

  • ลด 50,0%ใช่ โซลูชั่นซอฟต์แวร์54

  • ลด 16,7%หมายเลข 18

  • ลด 3,7%ไม่จำเป็นต้องใช้ RAID4

ผู้ใช้ 108 คนโหวต ผู้ใช้ 14 รายงดออกเสียง

ที่มา: will.com

เพิ่มความคิดเห็น