อาเรย์ RAID-Z ขนาดใหญ่นั้นแย่พอ ๆ กับอาเรย์ RAID-5 ขนาดใหญ่หรือไม่?


11

เป็นเวลานานที่ฉันได้ยินเกี่ยวกับความคิดที่แย่ขนาดใหญ่ (> 5TB?) RAID-5 นั้นเป็นเพราะมีความเสี่ยงสูงที่ไดรฟ์อื่นจะล้มเหลว

RAID-Z1 มีการจัดการเพื่อแก้ไขปัญหานี้สำหรับอาร์เรย์ขนาดใด ๆ (ถ้าคุณต้องการตัวเลขที่ต้องพิจารณาขนาด 4x2TB หรือ 5x2TB) อาจเป็นวิธีที่ปลอดภัยกว่าในการทำซ้ำข้อมูลที่ไม่ได้เข้มข้นในไดรฟ์ทั้งหมดหรือไม่

คำตอบ:


8

แม้ว่าสิ่งที่คำตอบอื่น ๆ วางไว้คือ ZFS นั้นใช้ได้กับบล็อกที่ใช้จริงเท่านั้นไม่ใช่พื้นที่ว่างใช่มันยังคงอันตรายที่จะสร้าง RAIDZ1 vdev ขนาดใหญ่ พูลส่วนใหญ่ใช้อย่างน้อย 30-50% ส่วนใหญ่ไปถึงสูงสุดที่แนะนำสูงสุด 80% (บางส่วนผ่านไปฉันขอแนะนำให้คุณอย่าทำอย่างนั้นเลยด้วยเหตุผลด้านประสิทธิภาพ) ดังนั้น ZFS จึงเกี่ยวข้องเท่านั้น ด้วยบล็อกที่ใช้แล้วจะไม่ชนะมาก นอกจากนี้บางคำตอบอื่น ๆ ทำให้ดูเหมือนการอ่านที่ไม่ดีคือสิ่งที่ทำให้เกิดปัญหา ไม่เป็นเช่นนั้น การเน่าเล็กน้อยภายในบล็อกไม่ใช่สิ่งที่จะทำให้คุณตะลึงที่นี่โดยปกติแล้วมันเป็นดิสก์อีกแผ่นที่แบนออกไปไม่ดีในขณะที่ตัวเก็บกู้จากดิสก์ตัวแรกจะไม่ดียังคงเกิดขึ้นที่จะฆ่าคุณ .. ใน raidz1 ขนาดใหญ่อาจใช้เวลาเป็นวันหรือเป็นสัปดาห์ เพื่อ resilver ไปยังดิสก์ใหม่ดังนั้นโอกาสที่จะเกิดเหตุการณ์นั้นจะไม่สำคัญ

คำแนะนำส่วนตัวของฉันที่มีต่อลูกค้าคืออย่าใช้ RAIDZ1 (เทียบเท่า RAID5) เลยด้วยดิสก์ 750 GB เคยเพื่อหลีกเลี่ยงความไม่พอใจที่อาจเกิดขึ้นมากมาย ฉันตกลงกับพวกเขาแล้วว่าทำผิดกฎนี้เนื่องจากเหตุผลอื่น (ระบบมีการสำรองที่อื่นข้อมูลนั้นไม่สำคัญ ฯลฯ ) แต่โดยปกติฉันจะพยายามอย่างเต็มที่เพื่อผลักดัน RAIDZ2 เป็นตัวเลือกขั้นต่ำที่มีขนาดใหญ่ ดิสก์

นอกจากนี้ด้วยเหตุผลหลายประการฉันมักจะแนะนำไม่ให้ไปเกิน 8-12 ดิสก์ในแถบ raidz2 หรือ 11-15 ดิสก์ในแถบ Raidz3 คุณควรอยู่ในระดับต่ำสุดของช่วงเหล่านั้นด้วยดิสก์ 3 TB และอาจเป็นไปได้ในช่วงระดับสูงของช่วงเหล่านั้นในดิสก์ 1 TB การทำเช่นนี้จะช่วยให้คุณห่างจากความคิดที่ว่าดิสก์จำนวนมากจะล้มเหลวในขณะที่ผู้กู้คืนเกิดขึ้นเป็นเพียงหนึ่งในเหตุผลเหล่านั้น แต่เป็นเรื่องใหญ่

หากคุณกำลังมองหากฎบางอย่างของหัวแม่มือ (แก้ไข 04/10/15 - ฉันเขียนกฎเหล่านี้ด้วยดิสก์หมุนเท่านั้นในใจ - เพราะพวกเขายังมีเหตุผล [ทำไมคุณทำดิสก์น้อยกว่า 3 ใน raidz1] ทำให้ความรู้สึกบางอย่างสำหรับสระว่ายน้ำ SSD แต่สระว่ายน้ำ SSD ทั้งหมดไม่ใช่สิ่งที่อยู่ในหัวของฉันเมื่อฉันเขียนลง):

  • อย่าใช้ raidz1 เลยบนดิสก์ 750 GB
  • อย่าใช้ดิสก์น้อยกว่า 3 หรือมากกว่า 7 ใน RAIDz
  • หากคิดว่าจะใช้ 3-disk raidz1 vdevs ให้พิจารณา 3-way mirror vdevs แทน
  • อย่าใช้ดิสก์ที่น้อยกว่า 6 หรือมากกว่า 12 ตัวใน raidz2
  • อย่าใช้ดิสก์น้อยกว่า 7 หรือมากกว่า 15 แผ่นใน raidz3
  • โปรดจำไว้เสมอว่าไม่เหมือนอาร์เรย์ RAID แบบเดิมที่จำนวนดิสก์เพิ่มขึ้น IOPS ใน ZFS เป็น # ของ VDEVS ดังนั้นการใช้ Stripe Stripe vdevs ที่สั้นลงจะช่วยเพิ่มศักยภาพของ IOPS พูล

เมื่อมีการเปลี่ยนแปลงขนาดและประสิทธิภาพของดิสก์คุณจะยังคงแนะนำกฎง่ายๆเหมือนเดิมหรือไม่ (2014)
ลอร์ดโลห์

แหล่งที่มาหรือแรงจูงใจสำหรับกฎของหัวแม่มือ?
Kenny Evitt

แหล่งที่มาคือประสบการณ์ของฉันและเพื่อนร่วมงานในการปรับใช้ ZFS กว่า 1,000 รายการที่ Nexenta สำหรับการอัปเดต - กฎตั้งอยู่ (04/10/15) ไม่มีอะไรเปลี่ยนแปลงที่ทำให้ฉันต้องการแก้ไขสัญลักษณ์กระสุนแม้ว่าฉันจะพูดว่าฉันเขียนกฎเหล่านั้นโดยไม่คำนึงถึง SSD กฎไม่จำเป็นต้องเหมือนกันสำหรับ SSD ขึ้นอยู่กับปัจจัยแวดล้อม ด้วยสิ่งเหล่านี้คุณได้รับการพิจารณาอื่น ๆ เช่นกันเช่นปัญหาคอขวดของ HBA
Nex7

1
@ Nex7 อะไรคือเหตุผลของเรื่องนี้ในบทความบล็อกของคุณ? "8. RAIDZ - Even / Odd Disk Counts: ลอง (และไม่ยากมาก) เพื่อเก็บจำนวนของดิสก์ข้อมูลใน Raidz vdev ให้เป็นเลขคู่"
Costin Gu

เป็นสิ่งสำคัญที่ต้องจำกรณีการใช้งาน ที่นี่ที่ความผิดพลาดของเซิร์ฟเวอร์เรามุ่งเน้นไปที่แอปพลิเคชันระดับมืออาชีพ / ธุรกิจเพื่อให้คำตอบของคุณเหมาะสม ที่กล่าวว่าสำหรับผู้ที่กำลังติดตั้งของผู้บริโภค (และอาจ จำกัด แอพพลิเคชั่นทางธุรกิจด้วย) พิจารณาว่ามันจะเลวร้ายเพียงใดที่จะสูญเสียบล็อกเดียวจากไฟล์เดียว สร้างใหม่ ไม่ใช่เรื่องใหญ่? จากนั้น RAIDZ1 อาจใช้ได้
Dan Pritts

11

RAID-Z เลวร้ายเท่ากับ R5 ไม่ มันดีเหมือน R1 หรือ R10 หรือเปล่า

RAID-Z รับรู้ถึงจุดที่ว่างเปล่าบนไดรฟ์โดยที่ R5 ไม่ใช่ ดังนั้น RAID-Z จะต้องอ่านพื้นที่ที่มีข้อมูลเพื่อกู้คืนดิสก์ที่หายไป นอกจากนี้ข้อมูลไม่จำเป็นต้องมีการสตริปในดิสก์ทั้งหมด ไฟล์ขนาดเล็กมากอาจอยู่ในดิสก์เพียงแผ่นเดียวโดยมีพาริตีบนดิสก์อื่น เนื่องจาก RAID-5 นี้จะต้องอ่านข้อมูลให้ได้มากเท่ากับพื้นที่ที่ใช้ในอาเรย์ (ถ้าใช้ 1mb ในอาเรย์ 5TB ดังนั้นการสร้างใหม่จะต้องอ่านเพียง 1 mb)

อีกวิธีหนึ่งถ้าอาร์เรย์ขนาดใหญ่ส่วนใหญ่เต็มแล้วข้อมูลส่วนใหญ่จะต้องถูกอ่านจากดิสก์ทั้งหมด เปรียบเทียบกับ R1 หรือ R10 ที่ต้องการดึงข้อมูลออกจากดิสก์หนึ่งตัวเท่านั้น (ต่อดิสก์ที่ล้มเหลวหากดิสก์หลายตัวล้มเหลวเฉพาะในสถานการณ์ที่อาร์เรย์ยังคงสามารถกู้คืนได้)

สิ่งที่คุณกังวลคือความจริงที่ว่าเมื่อทุกภาคส่วนของการอ่านมีโอกาสที่คุณจะพบส่วนที่ไม่ถูกต้องหรือไม่สามารถอ่านได้อีกต่อไป สำหรับไดรฟ์ทั่วไปวันนี้มีขนาดประมาณ 1x10 ^ -16 (ไม่ใช่ไดรฟ์ทั้งหมดเท่ากันดังนั้นให้ค้นหารายละเอียดของไดรฟ์ของคุณเพื่อหาคะแนน) นี่เป็นสิ่งที่เกิดขึ้นไม่บ่อยนัก แต่จะออกมาทุกๆ 1PB สำหรับอาเรย์ 10TB นั้นมีโอกาส 1% ที่อาเรย์ของคุณจะเป็นขนมปังปิ้งและคุณไม่รู้จนกว่าคุณจะพยายามกู้คืน

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


3

ข้อดีของ RAID-Z บางอย่างเหนือ RAID-5 แบบเดิมคือไม่ต้องใช้ฮาร์ดแวร์พิเศษและเชื่อถือได้มากขึ้นโดยหลีกเลี่ยงช่องโหว่การเขียน RAID-5

อย่างไรก็ตามทั้ง RAID-Z และ RAID-5 นั้นไม่ได้มีความล้มเหลวของดิสก์มากกว่าหนึ่งตัว

ถ้าคุณต้องการที่จะอยู่รอดความล้มเหลวสองดิสก์กับ ZFS คุณสามารถใช้RAIDZ2และสามดิสก์ความล้มเหลวRAIDZ3


1
+1 นอกจากนี้การตรวจสอบการบล็อกช่วยให้ ZFS มันควรจะพบความเสียหายในอาร์เรย์เพื่อแยกไฟล์ที่ได้รับผลกระทบ R5 HBAs ส่วนใหญ่จะทำเครื่องหมายโวลุ่มทั้งหมดว่าเสียหายหรือรายงานกลับไปที่ระบบปฏิบัติการว่าเซกเตอร์เสียหายไม่ว่า HBA จะไม่มีทางรู้ว่าดิสก์ใดผิดในสถานการณ์การทุจริต
Chris S

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