ฉันจะเพิ่มประสิทธิภาพ ext4 เพื่อความน่าเชื่อถือได้อย่างไร


11

ในขณะที่ ext4 ได้รับการแนะนำให้มีความน่าเชื่อถือมากกว่า ext3 ที่มีวารสารบล็อกมีโอกาสที่จะคิดว่ามันน่าเชื่อถือ 100% หรือไม่? จะทำอย่างไรถ้าเปิดใช้งานการทำเจอร์นัลบล็อกบนมันซึ่งจะถูกปิดใช้งานโดยค่าเริ่มต้น

ตามคำแนะนำของเพื่อนเพื่ออธิบายเคสของฉันในรายละเอียดเพิ่มเติม: ฉันมีอุปกรณ์ลินุกซ์ในตัวหลังจากติดตั้งแป้นพิมพ์และจอมอนิเตอร์แล้ว

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

ext4 สามารถให้อะไรได้มากกว่าบล็อก journaling?

ขอบคุณล่วงหน้า.


ฉันรู้ว่าฉันมีการแลกเปลี่ยนคุณสมบัติบางอย่างเช่นการทำเจอร์นัลบล็อก แต่ฉันติดอยู่กับความน่าเชื่อถือและพร้อมที่จะจ่ายให้แล้ว
amin

ดูเพิ่มเติมที่: serverfault.com/questions/244095/how-to-make-ext4-more-เชื่อถือได้ปิดเนื่องจากไม่ชัดเจนเกินไป
Olli

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

1
@amin ข้อมูลเกี่ยวกับ usecase ของคุณจะมีประโยชน์มากกว่าในคำถามของคุณนั่นอาจเป็นเหตุผลว่าทำไมมันจึงถูกปิดเพราะไม่ชัดเจน เพิ่มข้อมูลเพิ่มเติมในคำถามของคุณ!
Jorge Castro

2
คำถามที่คลุมเครือเกินไป "เชื่อถือได้ 100%" หมายความว่าอะไร สมมติว่าโดย "block jounrnaling" คุณหมายถึง data = journal แล้วนั่นเป็นเพียงการเสียเวลามหาศาล FS มีความน่าเชื่อถือโดยเนื้อแท้ บันทึกประจำวันทำให้แน่ใจว่าคุณไม่ต้องรอ fsck ที่ยาวหลังจากการขัดข้อง
psusi

คำตอบ:


11

ไม่คุณไม่สามารถคาดเดาสิ่งที่เชื่อถือได้ 100%

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

นอกจากนี้การทำเจอร์นัลจะไม่ถูกปิดใช้งานโดยค่าเริ่มต้น

นี่เป็นภาพรวมที่ดีของ ext4 และการปรับปรุง: http://kernelnewbies.org/Ext4


1
+1 สำหรับ "คุณไม่สามารถคาดเดาสิ่งที่เชื่อถือได้ 100%"
Lekensteyn

เนื่องจากCompar_of_file_systems การบล็อกการทำเจอร์นัลถูกปิดในขณะที่การทำข้อมูลเมตาดาต้าเปิดอยู่นั่นเป็นการแลกเปลี่ยนระหว่างความน่าเชื่อถือและความเร็ว
amin

ฉันเพิ่งรีบูตเซิร์ฟเวอร์เพื่อค้นหาความเสียหายของข้อมูลจำนวนมากใน ext4 ซึ่งไฟล์มีข้อมูลที่ไม่ถูกต้อง สิ่งนี้อาจไม่เกิดขึ้นกับ zfs หรือ btrfs เพราะข้อมูลมีการตรวจสอบ
user239558

5

คุณสมบัติใหม่ที่เพิ่มใน ext4 และแนะนำกับเคอร์เนล 3.5 คือสิ่งที่เรียกว่า 'metadata checksums' ซึ่งเป็นอีกคุณสมบัติหนึ่งของ ext4 ที่ควรปรับปรุงความน่าเชื่อถือและความสมบูรณ์ของโครงสร้างของระบบไฟล์

การใช้งานโดยรวมได้รับการอธิบายอย่างดีที่มือใหม่เคอร์เนล :

ระบบไฟล์ที่ทันสมัยเช่น ZFS และ Btrfs ได้พิสูจน์แล้วว่าความมั่นใจในความสมบูรณ์ของระบบไฟล์โดยใช้ checksums เป็นคุณสมบัติที่มีค่า Ext4 ได้เพิ่มความสามารถในการจัดเก็บ checksums ของเขตข้อมูลเมทาดาทาต่างๆ ทุกครั้งที่มีการอ่านข้อมูลเมตาเช็คซัมของข้อมูลการอ่านจะถูกเปรียบเทียบกับเช็คซัมที่เก็บไว้หากมีความแตกต่างก็หมายความว่า medata เสียหาย (โปรดทราบว่าคุณลักษณะนี้ไม่ครอบคลุมข้อมูลเฉพาะโครงสร้างเมตาดาต้าภายในและ มันไม่มีความสามารถ "รักษาตัวเอง")

ระบบไฟล์ ext4 ใด ๆ สามารถอัพเกรดเพื่อใช้ checksums โดยใช้คำสั่ง "tune2fs -O metadata_csum" หรือ "mkfs -O metadata_csum" ณ เวลาสร้าง เมื่อเปิดใช้งานคุณลักษณะนี้ในระบบแฟ้มแล้วเคอร์เนลรุ่นเก่าที่ไม่มีการสนับสนุนการตรวจสอบจะสามารถติดตั้งได้ในโหมดอ่านอย่างเดียวเท่านั้น

บทความเช่นนี้ที่ kernel.orgพูดคุยเพิ่มเติมในรายละเอียดทางเทคนิคที่ดีว่าการใช้การตรวจสอบข้อมูลเมตาสามารถป้องกันไม่ให้ข้อมูลเมตาที่เสียหายจากการทำลายโครงสร้างระบบไฟล์

อย่างไรก็ตามบทความยังเตือนว่า:

รหัสการตรวจสอบข้อมูลเมตาดาต้าเริ่มเข้าสู่การฉีดยาใน Linux 3.5 และในช่วง 3.7-rc1 นั้นอยู่ระหว่างการทดสอบผู้ใช้ รหัสนี้ยังไม่แข็ง

มันไม่ได้เปิดใช้งานโดยค่าเริ่มต้นใน Ubuntu 12.10 และอาจจะดีที่สุดไม่ให้เปิดใช้งานได้สำหรับช่วงเวลาหลังจากที่ปัญหาที่ผ่านมากับระบบแฟ้ม ext4 เป็นตามที่ระบุไว้ที่นี่


1

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

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