การคำนวณ IOPS สำหรับ ZFS RAIDZ นั้นแตกต่างจากนั้นคำนวณ IOPS สำหรับ RAID5 & RAID6 หรือไม่


13

เมื่อทำการคำนวณ IOPS สำหรับอาร์เรย์ RAID แบบดั้งเดิมใคร ๆ ก็สามารถใช้สูตรต่อไปนี้ได้ (ยืมมาจากการหยุดแฮงค์ของ IOPS v1.3บน Symantec Connect):

Ieffective = (n * Isingle) / (READ% + (F * WRITE%))

ที่ไหน:

  • ประสิทธิภาพคือจำนวน IOPS ที่มีประสิทธิภาพ
  • Isingle เป็นIOPS เฉลี่ยของไดรฟ์เดียว
  • n คือจำนวนดิสก์ในอาร์เรย์
  • READ% คือส่วนของการอ่านที่นำมาจากการทำโปรไฟล์ดิสก์
  • WRITE% เป็นส่วนของการเขียนที่นำมาจากการทำโปรไฟล์ดิสก์
  • F คือการลงโทษการเขียน RAID :

    RAID Level      Write Penalty
    RAID-0          1
    RAID-1          2
    RAID-5          4
    RAID-6          6
    RAID-10         2
    RAID-DP         2
    

สูตรนี้เป็นหน้าที่ของ:

  • IOPS สำหรับแต่ละไดรฟ์ในอาเรย์
  • จำนวนของดิสก์ ดิสก์เพิ่มเติมหมายถึง IOPS ที่มากขึ้น
  • การลงโทษ RAID สำหรับการดำเนินการเขียนแต่ละครั้ง
    • RAID5 & RAID6 ต้องการการดำเนินงานดิสก์ 4+ สำหรับการเขียนทุกครั้ง คอนโทรลเลอร์ต้องอ่านบล็อกและอ่านข้อมูลพาริตี (การดำเนินการสองครั้ง) การคำนวณข้อมูลพาริตีใหม่จากนั้นอัปเดตบล็อกแพริตีและอัปเดตบล็อกข้อมูล (การดำเนินการอีกสองครั้ง) RAID6 มีสองพาริตี้บล็อกและดังนั้นจึงต้องมีสามอ่านและสามเขียน ดังนั้น RAID5 และ RAID6 จึงมีความสามารถในการ IOPS น้อยลงจากนั้น RAID1
    • RAID1 & RAID10 ต้องการเพียง 2 การเขียนหนึ่งรายการสำหรับแต่ละดิสก์ในมิเรอร์

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

RAID5 และ RAID6 ที่เทียบเท่าของ ZFS คือ RAIDZ และ RAIDZ2 เมื่อคำนวณ IOPS สำหรับอาร์เรย์ RAIDZ ฉันสามารถใช้สูตรเดียวกับที่ฉันใช้สำหรับ RAID5 & RAID6 หรือ ZFS มีลูกเล่นพิเศษเพื่อลดจำนวนของการดำเนินการที่จำเป็นสำหรับการดำเนินการเขียน

มีสูตรอื่นที่จะใช้เมื่อคำนวณ IOPS สำหรับอาร์เรย์ RAIDZ หรือไม่


1
เป็นคำถามที่ดีมาก ฉันรอคอยที่จะอ่านคำตอบ ...
EEAA

1
iops เป็นตำนาน แต่เอกสารนี้อาจให้ข้อมูลเชิงลึกบางอย่าง info.nexenta.com/rs/nexenta/images/…
tony

IOPS อาจเป็นทฤษฎี แต่มันสามารถให้คำอธิบายว่าทำไมอาร์เรย์ RAID10 จึงมีประสิทธิภาพสูงกว่าอาร์เรย์ RAID5 เนื่องจากไดรฟ์เดียวกัน
Stefan Lasiewski

ข้อความอ้างอิงที่น่าทึ่งจากเอกสาร Nexenta: "ในการกำหนดค่า RAIDZ-2 IO เดียวที่เข้ามาใน VDEV จะต้องถูกทำลายและเขียนลงในดิสก์ข้อมูลทั้งหมดจากนั้นจะต้องมีการคำนวณแบบพาริตีและเขียนลงดิสก์ก่อน IO อาจเสร็จสมบูรณ์หากดิสก์ทั้งหมดมีเวลาแฝงเท่ากันการดำเนินการทั้งหมดไปยังดิสก์จะเสร็จสมบูรณ์ในเวลาเดียวกันดังนั้นจึงทำการ IO ไปยัง VDEV ที่ความเร็วของดิสก์หนึ่งแผ่นหากมีดิสก์ช้าที่มีเวลาแฝงสูงใน RAIDZ-2 VDEV, IO ถึง VDEV ไม่สมบูรณ์จนกว่า IO บนไดรฟ์ที่ช้าที่สุดจะเสร็จสมบูรณ์ "
Stefan Lasiewski

คำตอบ:


13

คำตอบนี้ง่ายกว่า ...

กลั่นได้ที่นี่: คำแนะนำ ZFS RAID: พื้นที่ประสิทธิภาพและ MTTDLและA ใกล้ชิดดู ZFS Vdevs และประสิทธิภาพ

  • RAIDZ พร้อมไดรฟ์หนึ่งพาริตีจะให้ประสิทธิภาพของ IOPS ของดิสก์เดียว แต่แบนด์วิดธ์รวม n-1 ครั้งของดิสก์เดียว

ดังนั้นหากคุณต้องการขยายขนาดคุณปรับขนาดด้วยจำนวน RAIDZ vdevs ... เช่นด้วยดิสก์ 16 ดิสก์กลุ่ม 4 ดิสก์ RAIDZ จะมีศักยภาพ IOPS มากกว่ากลุ่ม RAID 8 ดิสก์ 2 กลุ่ม

น่าแปลกใจใช่มั้ย

ฉันมักจะไปกับมิเรอร์ลาย (RAID 1 + 0) ในการติดตั้ง ZFS ของฉัน ใช้แนวคิดเดียวกัน คู่ที่มีมิเรอร์มากกว่า == ประสิทธิภาพที่ดีขึ้น

ใน ZFS คุณสามารถขยายได้ในหน่วยของ vdev แบบเต็มเท่านั้น ดังนั้นในขณะที่การขยายชุด RAID 1 + 0 หมายถึงการเพิ่มคู่เพิ่มเติมการทำแบบเดียวกันสำหรับชุด RAIDZ หมายถึงการเพิ่มกลุ่ม RAIDZ ของคอมโพสิตเท่ากัน


บทความที่ดี แต่เก่าเกินไปที่การเปรียบเทียบลิงก์ของ ZFS RAID1 กับ RAID5 ("ผลลัพธ์ของรูปแบบความเท่าเทียมกันเดียว" และ "ผลลัพธ์ของรูปแบบความเท่าเทียมสองครั้ง" หายไป) หนู!
Stefan Lasiewski

RAIDZ พร้อมไดรฟ์แบบพาริตีเดียวจะให้ประสิทธิภาพการทำงาน IOPS ของดิสก์เดียวสิ่งนี้น่าสนใจนั่นคือค่าคงที่โดยไม่คำนึงถึงเปอร์เซ็นต์การอ่านและการเขียน? ตัวอย่างเช่นประสิทธิภาพของ RAID5 แตกต่างกันอย่างมากขึ้นอยู่กับเปอร์เซ็นต์ของการอ่านข้อที่เขียน อาเรย์ 3 Disk 15K สามารถแตกต่างกันระหว่าง 130IOPS และ 500IOPS ขึ้นอยู่กับสัดส่วนการอ่าน / เขียน 50% อ่านและเขียน 50% จะส่งผลให้มากขึ้นแล้วประสิทธิภาพ IOPS ดิสก์เดียวของ การใช้แกนหมุน 3+ ช่วยเพิ่มประสิทธิภาพเทียบกับ 1 แกนใช่ไหม?
Stefan Lasiewski

ฉันแค่คิดถึงการปรับขนาดของ vdev และประสิทธิภาพของการเขียนนั้นเท่ากับ 1 ดิสก์โดยไม่คำนึงถึงองค์ประกอบของ vdev นั้น มิเรอร์, RAIDZ, RAIDZ2 ฯลฯ ดิสก์ภายใน vdevs จะช่วยเพิ่มความสามารถของคุณ จำนวน vdevs ใช้เพื่อสร้างประสิทธิภาพการสตริปของคุณ การอ่านจาก vdevs จะปรับขนาดด้วย # ของไดรฟ์
ewwhite

1
ฉันมีประสบการณ์จำนวนมากกับสิ่งนี้และสามารถยืนยันได้ว่าในสถานการณ์ส่วนใหญ่ RAIDZ จะไม่ทำงานมากกว่าดิสก์ที่มีจำนวนเท่ากันซึ่งถูกโยนลงในอาร์เรย์เทียบเท่า RAID5 / 6 แบบดั้งเดิม RAID5 / 6 ดั้งเดิมส่วนใหญ่จะได้รับประสิทธิภาพของ IOPS (เกือบทุกคนใส่ใจแม้ว่าพวกเขาจะไม่คิดว่าพวกเขาทำ) ในขณะที่คุณเพิ่มแกนหมุนไปยังชุด RAID ในขณะที่ ZFS จะไม่ทำงาน ในทางกลับกัน ZFS จะไม่สูญเสียข้อมูลของคุณและไม่ประสบปัญหา 'RAID write hole' รวมทั้งภาพรวมโคลนการบีบอัดและอื่น ๆ และทาง ARC และ .. คุณได้รับความคิด
Nex7

2
ฉันต้องการชัดเจน - ZFS คือการออกแบบที่ไม่น่าจะชนะสงครามการแสดงใด ๆ คุณสามารถค้นหาระบบไฟล์สำรองและตัวจัดการไดรฟ์ข้อมูล (หรือชุดค่าผสม) ที่สามารถทำงานได้ดีกว่า ZFS บนฮาร์ดแวร์เดียวกัน (ext4 และการ์ด Adaptec RAID เป็นต้น) ข้อยกเว้นเพียงข้อเดียวที่ฉันรู้ว่ามาจากการอ่านที่แคชง่ายซึ่ง ARC มักจะให้ ZFS เป็นทางเลือกส่วนใหญ่ แต่เมื่อมันมาถึงการเขียน? ไม่ความพยายามของ ZFS ใช้ความสมบูรณ์ของข้อมูลและวิธีจัดการกับการเขียนแทบจะไม่ชนะการแข่งขันความเร็ว ข้อเสียคือความสมบูรณ์และชุดคุณลักษณะ
Nex7
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.