RAID 10 ขนาดใหญ่หนึ่งตัวเปรียบเทียบกับอาร์เรย์ขนาดเล็กหลาย ๆ


10

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

ดูเหมือนว่าสำหรับฉันหากความต้องการ I / O โดยรวมของฉันไม่หนักมากอาเรย์เดี่ยวที่มีประสิทธิภาพการอ่านและการเขียนที่ยอดเยี่ยมสามารถมอบประสิทธิภาพที่ดีขึ้นโดยรวมให้กับแอปพลิเคชันทั้งหมดยกเว้นในช่วงเวลา ในเวลาเดียวกัน (การคัดลอกไฟล์ขนาดใหญ่จำนวนมากในขณะที่ฐานข้อมูลกำลังได้รับการกระแทก)

หากฉันอุทิศคู่ spindles ไปยังงานเฉพาะเช่นบันทึกธุรกรรมและพวกเขาไม่ได้ทำให้เหงื่อกับภาระ ... ทำไมไม่เพียงแค่วางภาระงานนั้นลงใน RAID 10 ที่มีขนาดใหญ่ขึ้น? แกนหมุนเหล่านั้นจะสามารถมีส่วนร่วมในภาระงานอื่น ๆ แทนการนั่งรอบรอยขีดข่วนตัวเอง 60% ของเวลา

PS ในกรณีของฉันโดยเฉพาะค่าใช้จ่ายค่าใช้จ่ายของ RAID 10 ไม่ได้เป็นปัจจัยเพราะฉันกำลังมองหาการสร้างอาร์เรย์ RAID 1 หลายชุดและ RAID ขนาดเล็กหนึ่งตัว 5. การใช้ RAID 10 สำหรับปริมาณพื้นที่ที่ฉันต้องการจะเปรียบเทียบกัน

คำตอบ:


10

การรู้วิธีตั้งค่าที่เก็บข้อมูลของคุณนั้นเกี่ยวกับการวัดและกำหนดงบประมาณของ IOPS และแบนด์วิดท์ (ฉันเป็นคนง่าย ๆ ที่นี่เพราะขนาดของการผสมเปอร์เซ็นต์ของการอ่าน / เขียน, IO เฉลี่ย, ขนาดสตริป RAID และเปอร์เซ็นต์การเข้าชมแคชมีความสำคัญมากหากคุณได้รับตัวเลขเหล่านั้นคุณสามารถทำให้การคำนวณของคุณแม่นยำยิ่งขึ้น)

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

หากฉันอุทิศคู่ spindles ไปยังงานเฉพาะเช่นบันทึกธุรกรรมและพวกเขาไม่ได้ทำให้เหงื่อกับภาระ ... ทำไมไม่เพียงแค่วางภาระงานนั้นลงใน RAID 10 ที่มีขนาดใหญ่ขึ้น?

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

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

ดำเนินการตามวิธีการนี้สำหรับปริมาณงานอื่น ๆ ทั้งหมดที่คุณต้องการใส่ในโวลุ่ม RAID-10 ปลายทาง ถ้าคุณหมดการสุ่ม IOPS คุณก็จะมีจำนวนมากเกินไปในไดรฟ์ข้อมูล - เพิ่มดิสก์เพิ่มเติมหรือใส่เวิร์กโหลดบางส่วนลงในไดรฟ์ข้อมูลเฉพาะ หากคุณใช้พื้นที่ไม่เพียงพอให้เพิ่มดิสก์เพิ่มเติม


ปัญหาหนึ่งคือด้วยการกำหนดค่าปัจจุบันของฉันฉันสามารถวัดได้ดีกับ IOPS ทั้งหมดเท่านั้นซึ่งประมาณ 300 (อ่าน 60%) ด้วยค่าเฉลี่ย 14K ไบต์ต่อการถ่ายโอน อาร์เรย์ RAID 10 ขนาดใหญ่ที่ฉันกำลังพิจารณาควรจะสามารถทำ 758 สุ่ม 16k IOPS (60% และแยกแคชออก) การคำนวณนี้ไม่ได้คำนึงถึงปริมาณงานที่หลากหลายและนั่นคือสิ่งที่ฉันกำลังดิ้นรน
Boden

4

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

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

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

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


1
ใช่ฉันย้ายออกจาก RAID 5 เป็น RAID 6 และโทษการเขียนกำลังฆ่าฉัน ฉันชอบความคิดของ RAID ขนาดใหญ่หนึ่งตัว 10. ฉันจะใช้อะไรในการเปรียบเทียบประเภท I / O โหลดพร้อมกัน
Boden

1
นาฬิกาจับเวลาถูกต้องที่สุด :-)
Bart Silverstrim

1
อย่าประมาทความสำคัญของไดรฟ์และตัวควบคุม เรามี Dell NAS พร้อม RAID 5 และมันสำลักเมื่อผู้ใช้เข้าสู่ระบบและดึงโปรไฟล์จากมันและเราสรุปว่ามันเป็นเพราะไดรฟ์ไม่ 10,000 RPM หลังจากทำการวิจัยเล็กน้อยในหมายเลขการตรวจสอบประสิทธิภาพ เราสิ้นสุดการย้ายข้อมูลบางอย่างไปยังเซิร์ฟเวอร์ที่แยกต่างหากเพื่อถ่ายโอนภาระงานบางส่วน
Bart Silverstrim

2
สุจริตฉันไม่เข้าใจว่าทำไมทุกคนจะใช้ RAID 5 ในสภาพแวดล้อมขององค์กร เราคือ RAID 10 ทุกทาง
ปี๊บปี๊บ

2
เพราะในเวลานั้น RAID 5 ไม่ได้เป็นความชั่วร้าย :-) RAID 10 ถือว่าไม่หรูหราในระดับธุรกิจของเราฉันคิดว่าคุณสามารถพูดได้ ราคาได้ลดลงอย่างมากเวลาเปลี่ยนไปและเรายังคงสนับสนุนสิ่งที่ "ทำงาน" ในห้องเซิร์ฟเวอร์
Bart Silverstrim

2

คุณคาดการณ์ได้อย่างไรว่าต้องการเวลาแฝงสำหรับแอปพลิเคชันของคุณ

ตัวอย่างเช่นคุณมีแอปหนึ่งตัวที่มีความอ่อนไหวต่อการตอบสนองและแชร์ระบบไฟล์กับฐานข้อมูลทางการเงินของคุณ เมื่อปิดงบการเงินคุณจะได้รับสายโดยพลันเกี่ยวกับการหมดเวลาของแอพที่มีความอ่อนไหว คุณจะคิดออกยังไง?

ในทางกลับกันฉันเป็นแฟนตัวยงของการทำให้ทุกอย่างง่ายขึ้นดังนั้นฉันจึงตรวจสอบว่าคุณไม่มีข้อกำหนดพิเศษและรวมและทำให้การกำหนดค่าของคุณง่ายขึ้นหากความต้องการของคุณไม่ตกอยู่ในกรณีพิเศษแปลก ๆ


0

แน่นอน - ทำไมไม่ สิ่งคืออย่าลืมสร้างอาเรย์หลายแผ่นขนาดใหญ่ของคุณอย่างถูกต้องได้รับมันผิดและคุณอยู่ในช่วงเวลาที่สร้างใหม่นาน

RAID 10 มี 2 รสชาติ:

  • RAID 1 + 0 ที่คุณสร้างอาร์เรย์ RAID 1 2 ตัวจากนั้นนำแถบเหล่านั้นออก
  • RAID 0 + 1 ที่คุณสร้างอาร์เรย์ RAID 0 2 ตัวจากนั้นทำมิรเรอร์เหล่านั้น

คุณจะต้องสร้างอาร์เรย์ RAID 1 หนึ่งครั้ง คุณต้องสร้างอาร์เรย์ RAID ทั้งหมดขึ้นใหม่

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