ซอฟต์แวร์เทียบกับประสิทธิภาพการทำงานของฮาร์ดแวร์ RAID และการใช้แคช


73

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

ฉันมักจะคิดว่าการ์ด RAID ของฮาร์ดแวร์จะให้ประสิทธิภาพที่ดีกว่าแม้ไม่มีแคช ฉันหมายความว่าคุณมีฮาร์ดแวร์เฉพาะสำหรับการทำงาน หากเป็นกรณีที่ประโยชน์ของการได้รับการ์ด RAID ที่ไม่มีแคชอะไรเช่น LSI 9341-4i ที่ไม่ถูกจริงๆ

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


บางสิ่งที่ฉันสังเกตเห็นว่าเป็นประโยชน์กับการจู่โจม HW: จากประสบการณ์ของฉันถ้าคุณใช้การจู่โจม SW และระบบจะทำสิ่งอื่นนอกเหนือจากการปิดระบบใหม่ทั้งหมดคุณจะทำผิดอาร์เรย์และต้องสร้างใหม่ การจู่โจม HW ไม่ได้ผิดปกติหากไม่ได้เขียนเมื่อระบบล่ม
Loren Pechtel

คำตอบ:


146

กล่าวโดยย่อ:หากใช้การ์ด RAID ระดับต่ำ (ไม่มีแคช) ให้ทำตามใจชอบแล้วเปลี่ยนเป็นซอฟต์แวร์ RAID หากใช้การ์ดระดับกลางถึงสูง (กับ BBU หรือ NVRAM) แสดงว่าฮาร์ดแวร์เป็นตัวเลือกที่ดี (แต่ไม่เสมอไป!

คำตอบยาว:เมื่อพลังในการคำนวณมี จำกัด การ์ด RAID ของฮาร์ดแวร์มีข้อได้เปรียบที่สำคัญสำหรับการคำนวณ parity / ดาวน์ซินโดรมสำหรับแผนการ RAID ที่เกี่ยวข้องกับมัน (RAID 3/4/5, RAID6, ecc)

แต่ด้วยประสิทธิภาพของ CPU ที่เคยเพิ่มขึ้นได้เปรียบนี้โดยทั่วไปหายไป: แม้ซีพียูโบราณแล็ปท็อปของฉัน (คอร์ i5 M 520, Westmere รุ่น) มีประสิทธิภาพที่แฮคเกอร์กว่า 4 GB / s และประสิทธิภาพการทำงาน RAID-6 กลุ่มอาการของโรคมากกว่า 3 Gb / s กว่า หลักดำเนินการเดียวกัน

ข้อได้เปรียบที่ RAID ของฮาร์ดแวร์รักษาไว้ในปัจจุบันคือการมีแคช DRAM ที่ป้องกันการสูญเสียพลังงานในรูปแบบของ BBU หรือ NVRAM แคชที่ได้รับการป้องกันนี้มีเวลาแฝงที่ต่ำมากสำหรับการเข้าถึงการเขียนแบบสุ่ม (และอ่านว่าการเข้าชม) และโดยทั่วไปจะแปลงการเขียนแบบสุ่มเป็นการเขียนตามลำดับ RAID ควบคุมโดยไม่ต้องเช่นแคชอยู่ใกล้ที่ไร้ประโยชน์ ยิ่งไปกว่านั้นคอนโทรลเลอร์ RAID ระดับต่ำสุดบางตัวไม่เพียง แต่ไม่มีแคชเท่านั้น แต่ยังบังคับให้ปิดการใช้งานแคช DRAM ส่วนตัวของดิสก์ซึ่งจะทำให้ประสิทธิภาพการทำงานช้าลงกว่าที่ไม่มีการ์ด RAID เลย ตัวอย่างคือการ์ด PERC H200 และ H300 ของ DELL: หากเฟิร์มแวร์รุ่นใหม่ไม่ได้เปลี่ยนพวกเขาจะปิดการใช้งานแคชส่วนตัวของดิสก์ทั้งหมด (และไม่สามารถเปิดใช้งานได้อีกครั้งในขณะที่ดิสก์เชื่อมต่อกับคอนโทรลเลอร์ RAID) ทำตัวเองและทำไม่เคยไม่เคยซื้อตัวควบคุมดังกล่าว ในขณะที่ตัวควบคุมระดับสูงกว่ามักปิดการใช้งานแคชส่วนตัวของดิสก์อย่างน้อยพวกเขาก็มีแคชที่ได้รับการปกป้องของตัวเอง - ทำให้ HDD ส่วนตัว (แต่ไม่ใช่ SSD!!) ค่อนข้างซ้ำซ้อน

นี่ไม่ใช่จุดจบ แม้แต่คอนโทรลเลอร์ที่มีความสามารถ (ตัวที่มี BBU หรือแคช NVRAM) สามารถให้ผลลัพธ์ที่ไม่สอดคล้องกันเมื่อใช้กับ SSD โดยทั่วไปแล้วเพราะ SSD ต้องการแคชส่วนตัวที่รวดเร็วสำหรับการเขียนโปรแกรม / ลบหน้า FLASH ที่มีประสิทธิภาพ และในขณะที่ตัวควบคุม (ส่วนใหญ่) ให้คุณเปิดใช้งานแคชส่วนตัวของดิสก์อีกครั้ง (เช่น: PERC H700 / 710 / 710P ให้ผู้ใช้เปิดใช้งานอีกครั้ง) หากแคชส่วนตัวนั้นไม่ได้รับการป้องกันการเขียนคุณเสี่ยงต่อการสูญเสียข้อมูลในกรณี ของการสูญเสียพลังงาน พฤติกรรมที่แท้จริงนั้นขึ้นอยู่กับตัวควบคุมและเฟิร์มแวร์ (เช่น: บน DELL S6 / i ที่มีแคช 256 MB WB และแคชของดิสก์ที่เปิดใช้งานฉันไม่มีการสูญเสียในระหว่างการทดสอบการสูญเสียพลังงานที่วางแผนไว้หลายครั้ง)

ในทางกลับกันซอฟต์แวร์โอเพ่นซอร์ส RAID นั้นเป็นสัตว์ที่สามารถควบคุมได้มากขึ้น - ซอฟต์แวร์ของพวกเขาไม่ได้อยู่ในเฟิร์มแวร์ที่เป็นกรรมสิทธิ์และมีรูปแบบและพฤติกรรมเมทาดาทาที่ชัดเจน ซอฟต์แวร์ RAID สร้างสมมติฐาน (ขวา) ว่าแคช DRAM ส่วนตัวของดิสก์ไม่ได้รับการป้องกัน แต่ในเวลาเดียวกันมันมีความสำคัญต่อประสิทธิภาพที่ยอมรับได้ดังนั้นโดยทั่วไปแล้วพวกเขาจะไม่ปิดใช้งาน แต่พวกเขาใช้คำสั่ง ATA FLUSH / FUA เพื่อให้มั่นใจว่าสำคัญ ข้อมูลบนการจัดเก็บที่มีเสถียรภาพ เนื่องจากพวกเขามักเรียกใช้จากพอร์ต SATA ที่ต่อกับชิปเซ็ต SB แบนด์วิดท์ของพวกเขานั้นดีมากและการสนับสนุนไดรเวอร์นั้นยอดเยี่ยม

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

พิจารณาว่าซอฟต์แวร์ RAID นั้นไม่ได้สร้างขึ้นเท่ากันทั้งหมด ซอฟต์แวร์ Windows RAID มีชื่อเสียงไม่ดีประสิทธิภาพฉลาดและแม้แต่พื้นที่เก็บข้อมูลก็ดูเหมือนไม่แตกต่างกัน Linux MD Raid มีความรวดเร็วและหลากหลายเป็นพิเศษ แต่ Linux I / O stack ประกอบด้วยชิ้นส่วนอิสระหลายอย่างที่คุณต้องเข้าใจอย่างถี่ถ้วนเพื่อแยกประสิทธิภาพสูงสุด ZFS parity RAID (ZRAID) เป็นขั้นสูงมาก แต่หากไม่ได้รับการกำหนดค่าอย่างถูกต้องสามารถให้IOP ที่แย่มากได้ การทำมิเรอร์ + สตริปในด้านอื่น ๆ ทำงานได้ค่อนข้างดี อย่างไรก็ตามมันต้องใช้อุปกรณ์ SLOG ที่รวดเร็วสำหรับการเขียนข้อมูลแบบซิงโครนัส (ZIL)

บรรทัดล่างสุด:

  1. หากปริมาณงานของคุณไม่ตรงกับการเขียนแบบสุ่มคุณไม่จำเป็นต้องมีการ์ด RAID
  2. หากคุณจำเป็นต้องใช้การ์ด RAID ไม่ได้ซื้อได้โดยไม่ต้องควบคุม RAID แคช WB
  3. หากคุณวางแผนที่จะใช้ซอฟต์แวร์ SSD ควรเลือกใช้ RAID แต่โปรดจำไว้ว่าสำหรับการเขียนแบบซิงโครไนซ์สูงคุณจำเป็นต้องใช้ SSD ที่มีการป้องกันด้วยพลังงาน (เช่น: Intel S4600, Samsung PM / SM863 เป็นต้น) เพื่อประสิทธิภาพที่แท้จริงทางเลือกที่ดีที่สุดอาจเป็น Linux MD Raid แต่ทุกวันนี้ฉันมักใช้กระจกลาย ZFS หากคุณไม่สามารถเสียพื้นที่เพียงครึ่งเดียวเนื่องจากกระจกเงาและคุณต้องการคุณสมบัติขั้นสูงของ ZFS ไปกับ ZRAID แต่คิดอย่างรอบคอบเกี่ยวกับการตั้งค่า VDEV ของคุณ
  4. หากคุณแม้แต่ใช้ SSD ก็ต้องการการ์ด RAID ของฮาร์ดแวร์ใช้ SSD ที่มีแคชป้องกันการเขียน (Micron M500 / 550/600 มีการป้องกันบางส่วน - ไม่เพียงพอจริง ๆ แต่ดีกว่าไม่มีอะไรเลย - ในขณะที่ Intel DC และ S series มีการสูญเสียพลังงานอย่างสมบูรณ์ การป้องกันและเช่นเดียวกันอาจกล่าวได้สำหรับองค์กร Samsung SSD)
  5. หากคุณต้องการ RAID6 และคุณจะใช้ HDD เชิงกลปกติให้พิจารณาซื้อการ์ด RAID ที่รวดเร็วที่มีแคช WB ขนาด 512 MB (หรือมากกว่า) RAID6 มีการลงโทษประสิทธิภาพการเขียนสูงและแคช WB ขนาดที่เหมาะสมสามารถให้หน่วยเก็บข้อมูลกลางที่รวดเร็วสำหรับการเขียนแบบซิงโครนัสขนาดเล็ก (เช่น: เจอร์นัลระบบไฟล์)
  6. ถ้าคุณต้องการ RAID6 ที่มี HDD แต่คุณไม่สามารถ / ไม่ต้องการซื้อการ์ด RAID ของฮาร์ดแวร์ให้ลองคิดถึงการตั้งค่า RAID ซอฟต์แวร์ของคุณอย่างรอบคอบ ตัวอย่างเช่นวิธีแก้ปัญหาที่เป็นไปได้กับ Linux MD Raid คือการใช้สองอาร์เรย์: อาร์เรย์ RAID10 ขนาดเล็กสำหรับเจอร์นัลบันทึก / บันทึก DB และอาร์เรย์ RAID6 สำหรับหน่วยเก็บข้อมูลดิบ (เป็นไฟล์เซิร์ฟเวอร์) ในทางกลับกันซอฟต์แวร์ RAID5 / 6 กับ SSD นั้นเร็วมากดังนั้นคุณอาจไม่ต้องการการ์ด RAID สำหรับการตั้งค่า SSD ทั้งหมด

ขอบคุณมากสำหรับคำอธิบายที่ยอดเยี่ยมฉันไม่รู้ว่าการ์ด RAID ปิดใช้งานแคชใน HDD นี่ไม่ใช่เซิร์ฟเวอร์ประเภทที่รับประกันการลงทุนเกือบ $ 800 + ดังนั้นฉันจะอ่านข้อมูลเกี่ยวกับการตั้งค่าซอฟต์แวร์ RAID อีกเล็กน้อยและอาจเป็นไปได้
ItsJustMe

2
OP กำลังพูดถึงไฮเปอร์ไวเซอร์ RAID5 ควรหมดคำถามและการเขียนแคชจะต้องเป็นสิ่งที่จำเป็น
ewwhite

1
ในความเป็นจริงแม้ในปี 2559 RAID 5/6 ซอฟต์แวร์ 6 ไดรฟ์เขียนที่ <25 MB / s ในขณะที่การ์ด RAID ฮาร์ดแวร์ที่เหมาะสมจากปี 2010 เขียนที่> 500 MB / s สิ่งนี้มีทั้ง Intel RSTe และ Windows Storage Spaces ฉันไม่เข้าใจว่าคอขวดอยู่บน CPU ที่ทันสมัย
Monstieur

1
ปัญหาเกี่ยวกับซอฟต์แวร์ RAID 5/6 คือการเขียนมักจะทริกเกอร์การอ่าน - แก้ไข - เขียนซึ่งจะทำให้ดิสก์ช้าลงอย่างมาก ตัวควบคุม RAID ฮาร์ดแวร์ที่ใช้งานบน BBU สามารถรวมการเขียนหลาย ๆ การไว้ในการเข้าถึงดิสก์ / ธุรกรรมเดียวซึ่งช่วยปรับปรุงประสิทธิภาพได้อย่างมาก
shodanshok

1
"[สุ่มอ่าน] เมื่อใช้กับ SSD พวกเขามักจะเก่ง" - หาก SSD ไม่ใช่ Enterprise SSD (โดยปกติหมายความว่าไม่มีตัวเก็บประจุสำหรับการป้องกันการสูญเสียพลังงาน) และไม่โกหกแม้แต่ SSD ก็สามารถ มี IOPS ต่ำ extremly fsync()สำหรับการดำเนินงานเช่นลำดับ ดูบทความนี้ซึ่งแสดง Samsung NVMe SSD ที่ไม่มีตัวเก็บประจุทำเพียง ~ 250 fsyncs ต่อวินาที (ฉันก็วัดได้เช่นกัน) SSD พร้อมตัวเก็บประจุให้ fsyncs / s มากขึ้น ~ 30x ตัวควบคุม RAID ฮาร์ดแวร์พร้อมแบตเตอรี่ 100x ขึ้นไป
nh2

7

คุณจะต้องการโซลูชันแบตเตอรี่หรือแฟลชสำรองสำหรับตัวควบคุมฮาร์ดแวร์ที่คุณซื้อ ส่วนใหญ่เสียใจที่ไม่ได้ทำเช่นนั้น

แต่เพื่อตอบคำถามของคุณคอนโทรลเลอร์ส่วนใหญ่มีอัตราส่วนแคชที่สามารถกำหนดค่าได้ ... ดังนั้นแคชอ่าน 100% และแคชเขียน 0% ปฏิเสธความต้องการการป้องกัน BBU การเขียนของคุณจะถูกดูด

ฉันไม่สามารถตอบคำถาม RAID ซอฟต์แวร์ของคุณได้เพราะมันขึ้นอยู่กับ ลินุกซ์MD RAIDจะแตกต่างจาก RAID ซอฟต์แวร์ Windows ซึ่งจะแตกต่างจากสิ่งที่ชอบZFS โซลูชั่นเช่น ZFS สามารถทำงานได้ดีกว่าฮาร์ดแวร์เพราะใช้ประโยชน์จากทรัพยากร RAM และ CPU ของเซิร์ฟเวอร์


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

ขึ้นอยู่กับสิ่งที่คุณทำ หากคุณไม่มีแอปพลิเคชั่นการเขียนอย่างเข้มข้นประสิทธิภาพในการทำงานอาจไม่เป็นปัญหา
ewwhite

เป็น Proxmox HOST พร้อม Windows VM ที่ใช้สำหรับเมลและเว็บโฮสติ้ง ไม่มีการใช้ฐานข้อมูลมากนัก แต่บริการอีเมลอาจมีกิจกรรมการเขียนจำนวนมาก ขณะนี้ฉันเพิ่งถกเถียงกันว่าถ้ามีการ์ดแคชแบบอ่านอย่างเดียวมีค่ามากกว่า Software RAID
ItsJustMe

ใช้ตัวควบคุม RAID ที่สำรองข้อมูลไว้สำหรับการจำลองเสมือน
ewwhite

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

7

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

เกี่ยวกับ HW vs SW-RAID นั้น ฉันไม่ได้ใช้ HW-RAID อีกต่อไปเว้นแต่ว่ามันจะเป็นกล่องที่มีโลโก้ EMC อยู่ สำหรับทุกสิ่งทุกอย่างฉันเพิ่งเปลี่ยนกลับไปใช้ SW-RAID ดวงจันทร์หลายดวงอีกครั้งด้วยเหตุผลง่ายๆ

  1. คุณต้องการฮาร์ดแวร์เพิ่มเติมและจำเป็นต้องจับคู่ คุณต้องจับคู่เฟิร์มแวร์และทำให้ข้อมูลตรงกัน ดิสก์จำนวนมากจะทำงานไม่ถูกต้องและคุณจะเพิ่มขึ้นใน IO-latency ของคุณโดยไม่มีเหตุผลที่ชัดเจน

  2. ฮาร์ดแวร์เพิ่มเติมมีราคาแพงดังนั้นคุณสามารถใช้ $ 1,000 เพิ่มเติม (คอนโทรลเลอร์ที่เหมาะสมพร้อมดิสก์สองสามตัว) สำหรับโซลูชันขนาดเล็กที่ดีกว่า ลงทุนในดิสก์และตัวควบคุมมาตรฐานหน่วยความจำ ECC และ CPU ที่เร็วขึ้น และดิสก์สำรองในสถานที่อาจเป็นกรณีที่คุณวางแผนที่จะรันนานกว่าระยะเวลาการรับประกันหรือไม่ต้องการจ่ายค่าธรรมเนียมด่วนสำหรับการจัดส่งข้ามคืน

  3. การอัพเกรดเป็นความเจ็บปวดตามที่คุณต้องการติดตาม OS-patches และเฟิร์มแวร์สำหรับทั้งดิสก์และคอนโทรลเลอร์ อาจส่งผลให้เกิดสถานการณ์ที่ไม่สามารถอัปเกรด / อัปเดตได้อีกต่อไป

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

  5. มันเป็น SPOF และคอขวด การมีคอนโทรลเลอร์เพียงตัวเดียวด้านหลัง PCI-bridge เพียงตัวเดียวนั้นไม่ได้ให้ประสิทธิภาพและความซ้ำซ้อนที่คุณต้องการจริงๆ ด้วยวิธีนี้ยังไม่มีเส้นทางการย้ายข้อมูลเพื่อย้ายข้อมูลไปยังดิสก์ชุดอื่นที่อยู่นอกเหนือการควบคุม

ประเด็นเหล่านี้ส่วนใหญ่ได้รับการดูแลด้วยซอฟต์แวร์หรือโซลูชั่น SW-RAID รุ่นใหม่เช่น ZFS และ BtrFS โปรดทราบว่าในท้ายที่สุดคุณต้องการปกป้องข้อมูลของคุณและไม่สามารถเข้าถึงได้อย่างรวดเร็ว แต่มีขยะซ้ำซ้อน


3
ฉันไม่เห็นด้วย. หลายคนมีความสุขกับ Dell, HP, IBM และคอนโทรลเลอร์ LSI RAID ระดับสูง แต่โดยสุจริตแล้วเซิร์ฟเวอร์คุณภาพส่วนใหญ่มีโซลูชั่นออนบอร์ด RAID อยู่แล้วดังนั้นแนวคิดในการเลือกซื้อคอนโทรลเลอร์แต่ละรุ่นนั้นค่อนข้างเก่า ซอฟต์แวร์ RAID ยังต้องคำนึงถึงภาระงานเขียนที่มีความหน่วงต่ำ ZFS มี ZIL แต่การใช้งาน RAID ซอฟต์แวร์อื่น ๆ จำนวนมากยังขาดอยู่ในหน้านั้น
ewwhite

2
ฉันจะแตกต่างกับย่อหน้าสุดท้ายของคุณ RAID คือความพร้อมใช้งานที่ไม่ได้ป้องกัน การป้องกันต้องใช้การสำรองข้อมูลไม่ใช่ RAID
Rowan Hawkins

4

ฉันใช้เวลาปีที่แล้ว (ปิดและเปิดจนถึง 2014-2015) ทดสอบการตั้งค่า CentOS 6.6 RAID 1 (มิร์เรอร์) แบบขนานหลายชุดโดยใช้ 2 LSI 9300 HBA ข้อ 2 LSI 9361-8i RAID คอนโทรลเลอร์พร้อมระบบที่สร้างขึ้นจาก 2U Supermicro CSE- แชสซี 826BAC4-R920LPB เมนบอร์ด ASUS Z9PE-D16 2 Intel Xeon E5-2687W v2 โปรเซสเซอร์แปด-Core 3.4 GHz โปรเซสเซอร์ Seagate ST6000NM0014 6TB SAS 12Gbs, RAM 512 GB หมายเหตุนี่คือการกำหนดค่าที่สอดคล้องกับ SAS3 (12Gbps) อย่างสมบูรณ์

ฉัน scoured ผ่านบทความที่เขียนเกี่ยวกับการปรับแต่งซอฟต์แวร์และฉันได้ใช้ซอฟต์แวร์ Linux RAID มานานกว่า 10 ปี เมื่อรันการทดสอบ I / O พื้นฐาน (dd-oflag = สั่งไฟล์ 5k ถึง 100G, hdparam -t, ฯลฯ ) ซอฟต์แวร์ RAID ดูเหมือนว่าจะเป็นกองซ้อนที่เหมาะสำหรับการตรวจค้นฮาร์ดแวร์ ซอฟต์แวร์ RAID ทำมิเรอร์ผ่าน HBA แยกกัน ฉันได้ทำการทดสอบด้วยเคอร์เนล CentOS 6 มาตรฐานการกำหนดค่าเคอร์เนล lt และ kernel-ml ฉันยังได้ลอง mdadm ระบบไฟล์ระบบย่อยของดิสก์และการปรับจูนแบบต่างๆที่แนะนำโดยบทความออนไลน์มากมายที่เขียนเกี่ยวกับซอฟต์แวร์ Linux RAID แม้จะมีการปรับแต่งทดสอบปรับแต่งและทดสอบเมื่อทำงานในโลกอ่านระบบประมวลผลธุรกรรม (มีฐานข้อมูล MySQL หรือ Oracle) ฉันพบว่าการใช้ตัวควบคุม RAID ของฮาร์ดแวร์ทำให้ประสิทธิภาพเพิ่มขึ้น 50 เท่า

เป็นเวลาหลายเดือนที่ฉันไม่มั่นใจว่าฮาร์ดแวร์ RAID สามารถทำได้ดีกว่านี้มาก แต่หลังจากการวิจัยอย่างละเอียดเกี่ยวกับซอฟต์แวร์ Linux RAID การทดสอบและการปรับแต่งเหล่านี้คือผลลัพธ์ของฉัน


2

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

สำหรับส่วนแคชของคำถามมันไม่สำคัญมากนักเพราะระบบปฏิบัติการของตัวเองเขียนแคชอาจมีขนาดใหญ่กว่าอะแดปเตอร์ "ฮาร์ดแวร์" มากกว่า


1
นี่เป็นอีกเหตุผลหนึ่งที่หลีกเลี่ยงการ์ด RAID ของฮาร์ดแวร์ที่ไม่มีแคช WB ที่ป้องกันอย่างเหมาะสม หมายเหตุเกี่ยวกับ Linux MD Raid: มันไม่ได้ป้องกันโดยสิ้นเชิงจากการเขียนช่อง เนื่องจากไม่มีการป้องกันการสูญเสียพลังงานในกรณีที่ข้อมูลการสูญเสียพลังงานกะทันหันในที่สุดจะหายไป (คิดว่าเป็นข้อมูลระหว่างทางและ / หรือการเขียนบางส่วน) แน่นอนว่าสิ่งนี้จะเกิดขึ้นแม้ในสถานการณ์เดียวดิสก์ แต่ลักษณะความเท่าเทียมกันหรือ RAID5 / 6 จะขยายสิ่งนี้ ในสถานการณ์ที่เลวร้ายที่สุดเมตาดาต้าระบบไฟล์ crical อาจเสียหายได้อย่างไรก็ตามระบบไฟล์ที่ทันสมัยมีความยืดหยุ่นเพียงพอที่จะกู้คืนได้อย่างดี ข้อมูลบางอย่างอาจสูญหายได้
shodanshok

@shodanshok คุณผิดทั้งหมด คิดว่า
poige

1
แบตเตอรี่จำนวนมากถ้าเก็บรักษาไว้ในสภาพดีสามารถใช้พลังงานขึ้นแคช WB สำหรับ 24-96 ชั่วโมงซึ่งเป็นเวลามากมายที่จะคืนอำนาจยกเว้นจริงๆสถานการณ์ที่รุนแรง นอกจากนี้ยังมีการควบคุมที่ทันสมัยเปลี่ยนไป NVRAM (อ่าน: แฟลช) หน่วยความจำจัดเก็บระยะยาวดังนั้นในกรณีของความล้มเหลวพลังงานแบตเตอรี่ขนาดเล็ก / supercap จะล้างเนื้อหาแคชในหน่วยความจำ NV ที่สามารถเก็บข้อมูลเป็นเวลาหลายเดือนหรือหลายปีในอื่น ๆ คำตัวควบคุม BBU RAID จะป้องกันการจู่โจมRAID5 / 6 ใน (เกือบ) ทุกสถานการณ์
shodanshok

1
คุณบอกว่ามันเป็นภูมิคุ้มกันที่จะเขียนหลุม นักพัฒนาบอกว่ามันไม่ได้แม้ว่าพวกเขาบอกว่ามันไม่ควรสำคัญมากในการใช้งานจริง
shodanshok

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

0

ฉันทำงานนี้ตลอดเวลา ขึ้นอยู่กับสิ่งที่คุณทำและระดับการจู่โจมของคุณ ตัวควบคุม SW ที่ใช้ Raid 0 หรือ 1 สำหรับระบบปฏิบัติการและไม่มีอะไรพิเศษที่ดี การรันคอนโทรลเลอร์ SW ด้วย Raid 5 บนฐานข้อมูลกำลังถามถึงปัญหา! ตัวควบคุมฮาร์ดแวร์บางตัวให้ประสิทธิภาพที่ดีขึ้น แต่ขึ้นอยู่กับว่าสามารถแคชและชิปเซ็ตตัวประมวลผลของการ์ดตรวจจับได้หรือไม่ นอกจากนี้ตัวควบคุมซอฟต์แวร์บางตัวอาจไม่รองรับทุกระบบปฏิบัติการ ดังนั้นบางครั้งคุณอาจต้องซื้อ HW เพื่อใช้งาน ESXi ... เว้นแต่คุณจะใช้การเชื่อมต่อ sata

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.