Btrfs: RAID 1 บนอุปกรณ์ 3+


10

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

คำถามของฉันคือมีเหตุผลที่ต้องการ RAID 10 มากกว่า RAID 1หรือไม่ ฉันรู้ว่า RAID 1 ที่แท้จริงบนฮาร์ดแวร์ปัจจุบันของฉันควรให้พื้นที่ใช้งาน 3 TB กับบล็อกแต่ละชุด 4 ชุด แต่เห็นได้ชัดว่า Btrfs ไม่ทำงานในลักษณะนี้ จากคำถามที่พบบ่อย Btrfs :

btrfs รวมอุปกรณ์ทั้งหมดลงในพูลหน่วยเก็บข้อมูลก่อนจากนั้นทำซ้ำ chunks เมื่อข้อมูลไฟล์ถูกสร้าง RAID-1 ถูกกำหนดให้เป็น "2 สำเนาของข้อมูลทั้งหมดในอุปกรณ์ต่าง ๆ " สิ่งนี้แตกต่างจาก MD-RAID และ dmraid ซึ่งเป็นสิ่งที่ทำสำเนาได้อย่างแน่นอนสำหรับอุปกรณ์ n เครื่อง ใน btrfs RAID-1 บนอุปกรณ์ 1 TB สามตัวเราจะได้รับข้อมูลที่ใช้งานได้ 1.5 TB เนื่องจากแต่ละบล็อกจะถูกคัดลอกไปยังอุปกรณ์ 2 เครื่องเท่านั้นการเขียนบล็อกที่กำหนดจึงต้องการเพียง 2 อุปกรณ์เท่านั้นที่จะเขียนลงไป การอ่านสามารถทำได้จากเพียงคนเดียว

และจาก Jens Erat บนStack Overflow :

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

หากมีมากกว่าหนึ่งดิสก์ล้มเหลวคุณจะเสี่ยงต่อการสูญเสียข้อมูลเสมอ: RAID 1 ไม่สามารถจัดการกับการสูญเสียดิสก์สองตัวในเวลาเดียวกัน ในตัวอย่างของคุณที่ให้ไว้ข้างต้นหากดิสก์สองตัวที่ไม่ถูกต้องตายคุณจะสูญเสียข้อมูลเสมอ

นี่หมายความว่าการปรับสมดุลจาก RAID 10 เป็น RAID 1 จะให้ข้อมูลเพิ่มเติม 500 GB (6.5 TB มากกว่า 6 TB) เนื่องจากไดรฟ์ 4 TB หรือไม่ มีเหตุผลอะไรที่ฉันจะต้องยึดติดกับ RAID 10 หรือไม่?


1
BTRFS RAID-5 คือ (แม้ว่ายังคงอยู่ในการทดลอง) จริง ๆ แล้วค่อนข้างเสถียรและแม้กระทั่งสถานการณ์การกู้คืนข้อมูลทั่วไปจำนวนมากทำงานในเวอร์ชันปัจจุบัน (โดยไม่ต้องหยุดทำงาน) คุณอาจจะขัดเกลาเป็นครั้งคราวเพื่อให้แน่ใจว่าข้อมูลของคุณยังคงถูกต้อง แต่มันอาจจะคุ้มค่ากับการยิง เป็นไปได้ที่จะแปลงจาก RAID-1 (0) ถึง RAID-5
basic6 6

@ basic6 ดีใจที่ได้ทราบขอบคุณ ฉันกำลังทำการวิจัยเมื่อไม่นานมานี้และเห็นว่ามีการเพิ่มscrubและreplaceการสนับสนุนตั้งแต่ 3.19 แต่ผู้คนก็ยังบ่นเกี่ยวกับการขาดการแจ้งเตือนความล้มเหลวของอุปกรณ์ ฉันได้ตั้งค่า crons สำหรับการขัดสัปดาห์ละครั้งและการทดสอบตัวเอง SMART รายสัปดาห์ / รายเดือนดังนั้นฉันควรจะสามารถจับประเด็นเหล่านั้นได้ ฉันจะลองดู
มิคเคล

การขัดเป็นระยะ ๆ (รายสัปดาห์หรือรายเดือน) มีความสำคัญหากการขัดถูค้นหาและเกิดข้อผิดพลาดเนื่องจากไม่สามารถอ่านจากไดรฟ์จะเป็นการเพิ่มจำนวนข้อผิดพลาด ตรวจสอบจำนวนข้อผิดพลาดโดยใช้dev statsซึ่งอาจจะเป็น cronjob
พื้นฐาน 6

คำตอบ:


5

ใช่คุณได้รับเพิ่มอีก 500 GB โปรดทราบว่าการกำหนดพื้นที่ที่มีอยู่ใน btrfs ยังคงเข้าใจยาก นอกจากนี้: มีลักษณะที่เป็นเครื่องคิดเลขการใช้งานดิสก์ btrfs

ในคำถามที่สองของคุณ: คุณอาจสูญเสียประสิทธิภาพการทำงานบางอย่างในอาร์เรย์ของคุณ โดยปกติข้อมูลของคุณจะปลอดภัยพอ ๆ กันในการกำหนดค่า RAID ทั้งสอง เมื่อพิจารณาจากผลการดำเนินงานที่คุณอาจจะสามารถดูได้ที่มาตรฐานเหล่านี้: kernel.org , phoronix.com

คุณอาจลองแปลงเป็น RAID 1 แล้วหรือยัง ถ้าเป็นเช่นนั้น: สิ่งที่คุณค้นพบคืออะไร?


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

อย่างไรก็ตามเพื่อตอบคำถามของคุณฉันเปลี่ยนใจเลื่อมใสและผลลัพธ์ดูเหมือนจะสอดคล้องกับความคาดหวังของฉัน Btrfs ทำงานได้ไม่ดีในการระบุพื้นที่ดิสก์ที่ใช้งานได้จริง แต่คุณสามารถเห็นได้ว่าผลลัพธ์ของbtrfs fi shพื้นที่พิเศษบนไดรฟ์ 4 TB กำลังถูกนำมาใช้และ (2.83 + 1.93 + 1.93 + 1.95) /2~=4.30 อย่างที่คาดไว้. ฉันเพิ่งได้รับความล้มเหลวของไดรฟ์อย่างต่อเนื่องและสร้างขึ้นมาใหม่โดยไม่สูญเสียข้อมูลดังนั้นฉันจึงสามารถยืนยันได้ทันทีว่าความซ้ำซ้อนยังคงอยู่
มิคเคล

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

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

มีหน้านี้ซึ่งแสดงให้เห็นถึงผลประโยชน์เล็กน้อยต่อ RAID 10 เหนือ RAID 1 ซึ่งมีข้อแม้อยู่ที่ด้านบนสุดซึ่งมาตรฐานมีอายุ 7 ปี
มิคเคล

0

อย่าใช้ btrfs raid 5 หรือ 6 การใช้งานเต็มไปด้วยข้อบกพร่องเรียกใช้ zfs หากคุณต้องการ

ด้วย raid10 คุณจะได้ความเร็ว

สิ่งที่ดีที่สุดที่ต้องทำคือสร้างพาร์ติชัน 3TB บนไดรฟ์ 4TB (ตรวจสอบให้แน่ใจว่าทั้ง 3 ตัวมีขนาดเท่ากันทั้งหมด) รวมเข้ากับ RAID10 ซึ่งจะมีพื้นที่ว่าง 6 TB ใช้ 1 TB พิเศษบนไดรฟ์ 4 TB สำหรับ / boot (ต้องเป็น vfat ต่อไปถ้าคุณต้องการใช้ efistub และหลีกเลี่ยง grub หรือ boot loader ตัวอื่น ๆ ที่จะทำให้การบูทของคุณเร็วขึ้น), swap (คุณสามารถใช้ ขนาดใหญ่พอสมควรส่วนใหญ่จะเป็น zram swap ขนาดเล็ก (4 gb ทำงานได้ดีกับ ram 32 gb, 2 gb ควรใช้ได้ 16 gb ถ้าคุณมี idk น้อยกว่า 16 id ถ้ามันคุ้มค่าและคุณควรอัพเกรดต่อไป) นั่นคือ ใช้ก่อน (ตั้งค่าลำดับความสำคัญเป็นสูงสุด) โดยใช้ zstd และสตรีมการบีบอัดมากเท่าที่คุณมีแกน / กระทู้ ...

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