สำหรับคุณทุกคน ... ZFS เหนือการโจมตีใด ๆ เป็นความเจ็บปวดทั้งหมดและทำได้โดยคน MAD! ... เช่นเดียวกับการใช้ ZFS ที่ไม่ใช่หน่วยความจำ ECC
ด้วยตัวอย่างคุณจะเข้าใจดีกว่า:
- ZFS บน Raid1 ดิสก์หนึ่งมีการเปลี่ยนแปลงเล็กน้อยเมื่อไม่มีการปิด ... แงะทุกอย่างที่คุณรู้ ZFS จะเห็นความเสียหายหรือไม่ขึ้นอยู่กับสิ่งที่อ่านดิสก์ (ตัวควบคุม Raid ไม่เห็นบิตที่เปลี่ยนแปลงและคิดว่าดิสก์ทั้งสองตกลง ) ... หากความล้มเหลวอยู่ในส่วน VDEV ... ZPOOL ทั้งหมดจะสูญเสียข้อมูลทั้งหมดตลอดไป
- ZFS บน Raid0 หนึ่งดิสก์มีการเปลี่ยนแปลงเล็กน้อยเมื่อไม่ได้ปิด ... งัดสิ่งที่คุณรู้ (คอนโทรลเลอร์คอนโทรลเลอร์ไม่เห็นบิตนั้นเปลี่ยนไปและคิดว่าดิสก์ทั้งสองนั้นโอเค) ... ZFS จะเห็นความเสียหายนั้น แต่ถ้า fail อยู่ในส่วน VDEV ... ZPOOL ทั้งหมดสูญเสียข้อมูลทั้งหมดไปตลอดกาล
ที่ ZFS ดีอยู่ในการตรวจจับบิตที่เปลี่ยนเมื่อดิสก์ที่ไม่มีไฟ (คอนโทรลเลอร์ RAID ไม่สามารถทำเช่นนั้นได้) เมื่อมีการเปลี่ยนแปลงบางอย่างโดยไม่ต้องขอ ฯลฯ
มันเป็นปัญหาเดียวกับเมื่อบิตในโมดูล RAM เปลี่ยนแปลงตามธรรมชาติโดยไม่ถูกขอให้ ... ถ้าหน่วยความจำคือ ECC หน่วยความจำจะแก้ไขด้วยตนเอง หากไม่มีข้อมูลนั้นมีการเปลี่ยนแปลงดังนั้นข้อมูลจะถูกส่งไปยังดิสก์ที่ถูกแก้ไข แงะการเปลี่ยนแปลงนั้นไม่ได้อยู่ในส่วน UDEV หากความล้มเหลวอยู่ในส่วน VDEV ... ZPOOL ทั้งหมดจะสูญเสียข้อมูลทั้งหมดตลอดไป
นั่นคือจุดอ่อนใน ZFS ... VDEV ล้มเหลวแสดงถึงข้อมูลทั้งหมดที่สูญหายตลอดไป
การจู่โจมฮาร์ดแวร์และซอฟต์แวร์การจู่โจมไม่สามารถตรวจจับการเปลี่ยนแปลงบิตที่เกิดขึ้นเองพวกเขาไม่มี checksums ที่แย่ที่สุดในระดับ Raid1 (mirros) พวกเขาอ่านไม่ได้ทุกส่วนและเปรียบเทียบพวกเขาพวกเขา supose ทุกส่วนจะมีข้อมูลเหมือนกัน ALLWAYS มันเสียงดัง) การจู่โจมทำให้ข้อมูลไม่ได้เปลี่ยนแปลงไปโดยสิ่งอื่นใด / วิธี ... แต่ดิสก์
ไม่เคยใช้ ZFS บน RAM ที่ไม่ใช่ ECC และไม่เคยใช้ ZFS บนดิสก์ที่ถูกโจมตีให้ ZFS ดูดิสก์ทั้งหมดอย่าเพิ่มเลเยอร์ที่สามารถทำลาย VDEV และ POOL ของคุณ
วิธีการจำลองความล้มเหลว ... ปิดเครื่องคอมพิวเตอร์ดึงดิสก์หนึ่งแผ่นของ Raid1 ออกและแก้ไขเพียงหนึ่งบิต ... ตรวจสอบอีกครั้งและดูว่าคอนโทรลเลอร์คอนโทรลเลอร์ไม่สามารถรู้ได้ว่ามีการเปลี่ยนแปลง ... ZFS สามารถเพราะอ่านทั้งหมดได้รับการทดสอบ เทียบกับการตรวจสอบและถ้าไม่ตรงกันอ่านในส่วนอื่น ... จู่โจมไม่เคยอ่านอีกเพราะความล้มเหลว (ยกเว้นฮาร์ดแวร์เป็นไปไม่ได้อ่านล้มเหลว) ... ถ้าจู่ ๆ สามารถอ่านมันคิดว่าข้อมูลตกลง (แต่มันไม่ใช่ในกรณีเช่นนี้ ) ... Raid พยายามอ่านจากดิสก์อื่นถ้ามันอ่านว่า "เฮ้ฉันไม่สามารถอ่านได้จากที่นั่นฮาร์ดแวร์ล้มเหลว" ... ZFS อ่านจากดิสก์อื่นถ้า checksum ไม่ตรงกันเช่นเดียวกับที่อ่าน พูดว่า "เฮ้ฉันไม่สามารถอ่านจากที่นั่นฮาร์ดแวร์ล้มเหลว"
หวังว่าฉันจะปล่อยให้มันชัดเจนมาก ... ZFS ในทุกระดับของการจู่โจมนั้นเป็นความเจ็บปวดและความเสี่ยงต่อข้อมูลของคุณ! เช่นเดียวกับ ZFS ในความทรงจำที่ไม่ใช่ ECC
แต่สิ่งที่ไม่มีใครพูด (ยกเว้นฉัน) คือ:
- อย่าใช้ดิสก์ที่มีแคชภายใน (ไม่เพียงแค่ SHDD อันนั้นบางตัวที่มีแคช 8Mib ถึง 32MiB ฯลฯ ) ... บางตัวใช้หน่วยความจำที่ไม่ใช่ ECC สำหรับแคชดังกล่าว
- อย่าใช้ SATA NCQ (วิธีในการเขียนคิว) เนื่องจากสามารถทำลาย ZFS ได้หากไฟดับ
ดังนั้นสิ่งที่ดิสก์ที่จะใช้?
- ดิสก์ใด ๆ ที่มีแบตเตอรี่ภายในที่ช่วยให้มั่นใจว่าคิวทั้งหมดจะถูกเขียนลงดิสก์ในกรณีไฟดับและใช้หน่วยความจำ ECC ภายใน (ขออภัยมีน้อยมากที่มีทั้งหมดและมีราคาแพง)
แต่เฮ้คนส่วนใหญ่ไม่ทราบทั้งหมดนี้และไม่เคยมีปัญหา ... ฉันพูดกับพวกเขา: ว้าวโชคดีแค่ไหนที่คุณซื้อตั๋วลอตเตอรี่ก่อนที่โชคดีจะหายไป
ความเสี่ยงอยู่ที่นั่น ... ความล้มเหลวเกิดขึ้นโดยบังเอิญ ... ดังนั้นคำตอบที่ดีกว่าคือ:
- พยายามอย่าวางเลเยอร์ใด ๆ ระหว่าง ZFS และที่เก็บข้อมูลจริงๆ (RAM, Raid, NCQ, แคชดิสก์ภายใน ฯลฯ ) ... เท่าที่คุณสามารถจ่ายได้
ส่วนตัวฉันทำอะไร
- เพิ่มเลเยอร์มากกว่านั้น ... ฉันใช้ดิสก์ SATA III 7200 rpm ขนาด 2.5 นิ้วแต่ละตัวบนกล่องหุ้ม USB 3.1 Gen2 type C ฉันเชื่อมต่อกล่องหุ้มบางอย่างเข้ากับฮับ USB 3.1 Gen 2 Type A ฮับที่ฉันเชื่อมต่อกับพีซี ฉันเชื่อมต่อกับรูทพอร์ตอื่นบนพีซี ฯลฯ
- สำหรับระบบฉันใช้ตัวเชื่อมต่อ sata ภายในบน ZFS (ระดับ Raid0) เพราะฉันใช้ระบบ Linux ที่ไม่เปลี่ยนแปลง (เช่น LiveCD) ระบบ Linux แต่ละเนื้อหาที่บูตเหมือนกันในดิสก์ภายใน ... และฉันมีภาพโคลนของระบบที่ฉันสามารถกู้คืนได้ (ระบบน้อยกว่า 1GiB) ... นอกจากนี้ฉันยังใช้เคล็ดลับเพื่อให้ระบบมีอยู่ในไฟล์และใช้ RAM ที่แมปไดรฟ์ที่ฉันโคลนมันในการบูตดังนั้นหลังจากบูตระบบทั้งหมดที่ทำงานใน RAM ... วางไฟล์ดังกล่าวบน ดีวีดีฉันยังสามารถบูตแบบเดียวกันดังนั้นในกรณีที่ความล้มเหลวของดิสก์ภายในฉันเพิ่งบูตด้วย DVD และระบบออนไลน์อีกครั้ง ... เคล็ดลับที่คล้ายกันกับ SystemRescueCD แต่ไฟล์ ISO ที่ซับซ้อนเล็กน้อยสามารถอยู่บน ZFS ภายในหรือเพียงแค่เป็น DVD จริงและฉันไม่ต้องการสองรุ่นที่แตกต่างกัน
หวังว่าฉันจะให้แสงเล็กน้อยกับ ZFS กับ Raid มันเป็นความเจ็บปวดจริงๆเมื่อสิ่งต่าง ๆ ผิดพลาด!