Ext2 ext3 and ext4 ม การ ทำงาน อย างไร

ext3หรือระบบแฟ้มขยายที่สามเป็นระบบไฟล์ journaledที่เป็นที่นิยมใช้โดยเคอร์เนลลินุกซ์ เคยเป็นระบบไฟล์เริ่มต้นสำหรับลีนุกซ์รุ่นยอดนิยมหลายรุ่น Stephen Tweedieเปิดเผยครั้งแรกว่าเขากำลังทำงานเกี่ยวกับการขยายext2ในJournaling the Linux ext2fs Filesystemในกระดาษปี 1998 และต่อมาในการโพสต์รายการส่งเมลเคอร์เนลในเดือนกุมภาพันธ์ 2542 ระบบไฟล์ถูกรวมเข้ากับเคอร์เนล mainline Linux ในเดือนพฤศจิกายน 2544 ตั้งแต่ 2.4.15 เป็นต้นไป [3] [4] [5]ประโยชน์หลักของมันมากกว่า ext2 ถูกบันทึกซึ่งช่วยเพิ่มความน่าเชื่อถือและขจัดความจำเป็นในการตรวจสอบระบบไฟล์หลังการปิดระบบที่ไม่สะอาด ทายาทของมันคือext4 [6]

ต่อ3 ผู้พัฒนาStephen Tweedieชื่อเต็มระบบไฟล์ขยายที่สามแนะนำพฤศจิกายน 2544 กับLinux 2.4.15ตัวระบุพาร์ติชัน0x83 ( MBR ) EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 ( GPT )โครงสร้างเนื้อหาไดเรกทอรีตาราง แฮชB-treeโดยเปิดใช้ dir_indexindexการจัดสรรไฟล์บิตแมป (พื้นที่ว่าง), ตาราง (ข้อมูลเมตา)บล็อกไม่ดีโต๊ะขีดจำกัดแม็กซ์ ขนาดปริมาตร4 TiB – 32 TiBแม็กซ์ ขนาดไฟล์16 GiB – 2 TiBแม็กซ์ จำนวนไฟล์ตัวแปรจัดสรร ณ เวลาที่สร้าง[1]แม็กซ์ ชื่อไฟล์ length255 ไบต์อักขระที่ได้รับอนุญาตในชื่อไฟล์ไบต์ทั้งหมดยกเว้นNUL ('\0') และ '/'คุณสมบัติวันที่บันทึกไว้การแก้ไข (mtime), การแก้ไขแอตทริบิวต์ (ctime), การเข้าถึง (atime)ช่วงวันที่14 ธันวาคม 2444 – 18 มกราคม 2581ความละเอียดวันที่1 วิคุณลักษณะอนุญาต-ยกเลิกการลบ, ต่อท้ายเท่านั้น, h-tree (ไดเร็กทอรี), ไม่เปลี่ยนรูป, เจอร์นัล, no-atime, no-dump, secure-delete, synchronous-write, ด้านบน (ไดเร็กทอรี)สิทธิ์ของระบบไฟล์สิทธิ์ Unix, ACLและแอตทริบิวต์ความปลอดภัยตามอำเภอใจ (Linux 2.6 และใหม่กว่า)การบีบอัดที่โปร่งใสไม่การเข้ารหัสที่โปร่งใสไม่ (มีให้ที่ระดับอุปกรณ์บล็อก)การขจัดข้อมูลซ้ำซ้อนไม่อื่นๆระบบปฏิบัติการที่รองรับLinux , BSD , ReactOS , [2] Windows (ผ่านIFS )

ข้อดี

ประสิทธิภาพ (ความเร็ว) ของ ext3 นั้นน่าสนใจน้อยกว่าระบบไฟล์ Linux ที่แข่งขันกัน เช่น ext4, JFS , ReiserFSและXFSแต่ ext3 มีข้อได้เปรียบที่สำคัญที่อนุญาตให้อัปเกรดแบบแทนที่จาก ext2 โดยไม่ต้องสำรองและกู้คืนข้อมูล . เกณฑ์มาตรฐานแนะนำว่า ext3 ยังใช้พลังงาน CPU น้อยกว่า ReiserFS และ XFS [7] [8]ถือว่าปลอดภัยกว่าระบบไฟล์ Linux อื่น ๆ เนื่องจากความเรียบง่ายสัมพัทธ์และฐานการทดสอบที่กว้างขึ้น [9] [10]

ext3 เพิ่มคุณสมบัติต่อไปนี้ใน ext2:

  • วารสาร
  • การเติบโตของระบบไฟล์ออนไลน์
  • การทำดัชนีHTreeสำหรับไดเร็กทอรีขนาดใหญ่[11]

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

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

ขนาดจำกัด

จำนวนสูงสุดของบล็อกสำหรับ ext3 คือ 2 32 ขนาดของบล็อกอาจแตกต่างกันไป ซึ่งส่งผลต่อจำนวนไฟล์สูงสุดและขนาดสูงสุดของระบบไฟล์: [12]

ขนาดบล็อก ขนาดไฟล์สูงสุด ขนาดระบบไฟล์สูงสุด1 KiB 16 GiB 4 TiB 2 KiB 256 GiB 8 TiB 4 KiB 2 TiB 16 TiB 8 KiB [จำกัด 1]2 TiB 32 TiB

  1. ^ ในลินุกซ์, 8 กิโลขนาดบล็อกจะใช้ได้เฉพาะในสถาปัตยกรรมที่ช่วยให้ 8 กิโลหน้าเช่นอัลฟา

ระดับการจดบันทึก

มีสามระดับของมีบันทึกที่มีอยู่ในการดำเนินงานลินุกซ์ของ ext3:

วารสาร (ความเสี่ยงต่ำสุด) ทั้งเนื้อหาเมตาดาต้าและไฟล์ถูกเขียนลงในเจอร์นัลก่อนที่จะคอมมิตกับระบบไฟล์หลัก เนื่องจากเจอร์นัลค่อนข้างต่อเนื่องบนดิสก์ จึงสามารถปรับปรุงประสิทธิภาพได้ หากเจอร์นัลมีพื้นที่เพียงพอ ในกรณีอื่นๆ ประสิทธิภาพการทำงานแย่ลง เนื่องจากต้องเขียนข้อมูลสองครั้ง—หนึ่งครั้งในเจอร์นัล และอีกครั้งไปยังส่วนหลักของระบบไฟล์ [13] สั่งซื้อ (ความเสี่ยงปานกลาง) เฉพาะข้อมูลเมตาเท่านั้นที่บันทึก; ไม่ใช่เนื้อหาไฟล์ แต่รับประกันว่าเนื้อหาไฟล์จะถูกเขียนลงดิสก์ก่อนที่ข้อมูลเมตาที่เกี่ยวข้องจะถูกทำเครื่องหมายว่าคอมมิตในเจอร์นัล นี่เป็นค่าเริ่มต้นสำหรับลีนุกซ์รุ่นต่างๆ หากไฟดับหรือ เคอร์เนลแพนิคในขณะที่ไฟล์กำลังเขียนหรือต่อท้าย เจอร์นัลจะระบุว่าไฟล์ใหม่หรือข้อมูลที่ผนวกไม่ได้ "คอมมิต" ดังนั้นจะถูกลบออกโดยกระบวนการล้างข้อมูล (ดังนั้น ผนวกและไฟล์ใหม่มีระดับการป้องกันความสมบูรณ์เดียวกันกับระดับ "บันทึก") อย่างไรก็ตาม ไฟล์ที่ถูก เขียนทับอาจเสียหายได้เนื่องจากไฟล์เวอร์ชันดั้งเดิมจะไม่ถูกจัดเก็บ ดังนั้นจึงเป็นไปได้ที่จะลงเอยด้วยไฟล์ที่อยู่ในสถานะกลางระหว่างใหม่และเก่า โดยไม่มีข้อมูลเพียงพอที่จะกู้คืนอย่างใดอย่างหนึ่ง (ข้อมูลใหม่ไม่เคยทำให้เป็นดิสก์อย่างสมบูรณ์ และข้อมูลเก่าจะไม่ถูกเก็บไว้ที่ใด) ที่แย่กว่านั้นคือ สถานะระหว่างกลางอาจกระจายข้อมูลเก่าและใหม่ เนื่องจากลำดับของการเขียนจะเหลืออยู่ที่ฮาร์ดแวร์ของดิสก์ [13] [14] การเขียนกลับ (ความเสี่ยงสูงสุด) เฉพาะข้อมูลเมตาเท่านั้นที่บันทึก; เนื้อหาไฟล์ไม่ได้ เนื้อหาอาจจะเขียนก่อนหรือหลังการอัพเดทวารสาร ส่งผลให้ไฟล์ที่แก้ไขก่อนเกิดความผิดพลาดอาจเสียหายได้ ตัวอย่างเช่น ไฟล์ที่ถูกต่อท้ายอาจถูกทำเครื่องหมายในเจอร์นัลว่ามีขนาดใหญ่กว่าที่เป็นจริง ทำให้เกิดขยะในตอนท้าย ไฟล์เวอร์ชันเก่าอาจปรากฏขึ้นโดยไม่คาดคิดหลังจากการกู้คืนรายการบันทึก การขาดการซิงโครไนซ์ระหว่างข้อมูลและเจอร์นัลนั้นเร็วกว่าในหลายกรณี JFS ใช้การทำเจอร์นัลระดับนี้ แต่รับรองว่า "ขยะ" ใดๆ อันเนื่องมาจากข้อมูลที่ไม่ได้เขียนจะเป็นศูนย์เมื่อรีบูต XFS ยังใช้รูปแบบของการทำเจอร์นัลนี้ด้วย

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

ข้อเสีย

ฟังก์ชั่น Function

เนื่องจาก ext3 มุ่งหวังที่จะเข้ากันได้กับ ext2 รุ่นก่อนหน้า โครงสร้างบนดิสก์จำนวนมากจึงคล้ายกับโครงสร้าง ext2 ดังนั้น ext3 ขาดคุณสมบัติที่ผ่านมาเช่นขอบเขตการจัดสรรแบบไดนามิกของinodesและบล็อกย่อยจัดสรร [15]ไดเร็กทอรีสามารถมีไดเร็กทอรีย่อยได้มากที่สุด 31998 ไดเร็กทอรีเนื่องจากไอโหนดสามารถมีได้มากที่สุด 32,000 ลิงก์ (แต่ละไดเร็กทอรีย่อยโดยตรงจะเพิ่มตัวนับลิงก์ inode ของโฟลเดอร์หลักในการอ้างอิง "..") [16]

ext3 เช่นเดียวกับระบบไฟล์ Linux ในปัจจุบันส่วนใหญ่ ไม่ควรเป็นfsck -ed ในขณะที่ระบบไฟล์ถูกเมาต์เพื่อเขียน [6]ความพยายามที่จะตรวจสอบระบบไฟล์ที่ติดตั้งในโหมดอ่าน/เขียนแล้ว (มีโอกาสมาก) จะตรวจพบความไม่สอดคล้องกันในข้อมูลเมตาของระบบไฟล์ เมื่อมีการเปลี่ยนแปลงข้อมูลเมตาของระบบไฟล์ และ fsck ใช้การเปลี่ยนแปลงเพื่อพยายามทำให้ข้อมูลเมตาที่ "ไม่สอดคล้องกัน" เข้าสู่สถานะ "สอดคล้อง" ความพยายามที่จะ "แก้ไข" ความไม่สอดคล้องกันจะทำให้ระบบไฟล์เสียหาย

การจัดเรียงข้อมูล

ไม่มีเครื่องมือจัดเรียงข้อมูล ext3 ออนไลน์ที่ทำงานในระดับระบบไฟล์ มีตัวจัดเรียงข้อมูล ext2 ออฟไลน์e2defrag. อย่างไรก็ตามe2defragอาจทำลายข้อมูลได้ ขึ้นอยู่กับคุณลักษณะบิตที่เปิดอยู่ในระบบไฟล์ มันไม่รู้ว่าจะจัดการกับคุณสมบัติ ext3 ที่ใหม่กว่าได้อย่างไร [17]

มีเครื่องมือจัดระเบียบพื้นที่ผู้ใช้ เช่น Shake [18]และ Defrag [19] [20] Shake ทำงานโดยการจัดสรรพื้นที่สำหรับทั้งไฟล์เป็นการดำเนินการเดียว ซึ่งโดยทั่วไปจะทำให้ตัวจัดสรรค้นหาพื้นที่ดิสก์ที่ต่อเนื่องกัน หากมีไฟล์ที่ใช้พร้อมกัน Shake จะพยายามเขียนให้ติดกัน Defrag ทำงานโดยการคัดลอกแต่ละไฟล์ทับตัวเอง อย่างไรก็ตาม กลยุทธ์นี้ใช้ได้ก็ต่อเมื่อระบบไฟล์มีพื้นที่ว่างเพียงพอ ไม่มีเครื่องมือจัดเรียงข้อมูลที่แท้จริงสำหรับ ext3 [21]

อย่างไรก็ตาม ตามที่คู่มือผู้ดูแลระบบ Linux ระบุไว้ "ระบบไฟล์ Linux สมัยใหม่จะเก็บแฟรกเมนต์อย่างน้อยที่สุดโดยเก็บบล็อกทั้งหมดในไฟล์ไว้ใกล้กัน แม้ว่าจะไม่สามารถจัดเก็บในส่วนที่ต่อเนื่องกันได้ ระบบไฟล์บางระบบ เช่น ext3 จัดสรรบล็อกว่างที่ใกล้เคียงที่สุดกับบล็อกอื่น ๆ ในไฟล์อย่างมีประสิทธิภาพ ดังนั้นจึงไม่จำเป็นต้องกังวลเกี่ยวกับการแตกแฟรกเมนต์ในระบบ Linux" [22]

แม้ว่า ext3 จะทนต่อการแตกแฟรกเมนต์ของไฟล์ แต่ ext3 อาจแตกแฟรกเมนต์ตามช่วงเวลาหรือสำหรับรูปแบบการใช้งานเฉพาะ เช่น การเขียนไฟล์ขนาดใหญ่อย่างช้าๆ [23] [24]ดังนั้น ext4 (ตัวต่อจาก ext3) มียูทิลิตีการจัดเรียงข้อมูลระบบไฟล์ออนไลน์ e4defrag [25]และสนับสนุนขอบเขตในปัจจุบัน(พื้นที่ไฟล์ต่อเนื่องกัน)

ยกเลิกการลบ

ext3 ไม่รองรับการกู้คืนไฟล์ที่ถูกลบ ไดรเวอร์ ext3 จะลบไฟล์อย่างแข็งขันโดยการเช็ดไฟล์ inodes [26]ด้วยเหตุผลด้านความปลอดภัยจากการชน

ยังมีอีกหลายเทคนิค[27]และซอฟต์แวร์ฟรี[28]และซอฟต์แวร์ที่เป็นกรรมสิทธิ์[29]สำหรับการกู้คืนไฟล์ที่ถูกลบหรือสูญหายโดยใช้การวิเคราะห์บันทึกระบบไฟล์ อย่างไรก็ตามไม่รับประกันการกู้คืนไฟล์ใด ๆ

การบีบอัด

e3compr [30]เป็นแพทช์อย่างไม่เป็นทางการสำหรับ ext3 ที่ไม่โปร่งใสการบีบอัด เป็นพอร์ตตรงของ e2compr และยังต้องการการพัฒนาเพิ่มเติม มันรวบรวมและบู๊ตได้ดีกับเมล็ดต้นน้ำ[ ต้องการการอ้างอิง ]แต่การทำเจอร์นัลยังไม่ได้ดำเนินการ

ขาดการสนับสนุนสแน็ปช็อต

ไม่เหมือนกับระบบไฟล์สมัยใหม่จำนวนหนึ่ง ext3 ไม่มีการสนับสนุนสแน็ปช็อตแบบเนทีฟ ความสามารถในการจับภาพสถานะของระบบไฟล์ได้อย่างรวดเร็วในเวลาที่กำหนด แต่จะอาศัยสแนปชอตระดับวอลุ่มที่มีประสิทธิภาพน้อยกว่าซึ่งจัดเตรียมโดย Linux LVMแทน Next3ระบบไฟล์เป็นรุ่นที่แก้ไขของ ext3 ซึ่งเสนอภาพรวมการสนับสนุนยังคงมีความเข้ากันได้กับรูปแบบ ext3 บนดิสก์ [31]

ไม่มีเช็คซัมมิทในวารสาร

ext3 จะไม่ทำการเช็คซัมมิงเมื่อเขียนถึงวารสาร บนอุปกรณ์จัดเก็บข้อมูลที่มีแคชเพิ่มเติม หากไม่ได้เปิดใช้งานbarrier=1เป็นตัวเลือกการเมานท์ (ใน/etc/fstab ) และหากฮาร์ดแวร์ทำการแคชการเขียนที่ไม่เป็นระเบียบ อาจมีความเสี่ยงต่อการเสียหายของระบบไฟล์อย่างรุนแรงในระหว่าง ความผิดพลาด [32] [33] [34]นี่เป็นเพราะอุปกรณ์จัดเก็บข้อมูลที่มีแคชการเขียนรายงานไปยังระบบว่าข้อมูลถูกเขียนอย่างสมบูรณ์แล้ว แม้ว่าจะเขียนไปยังแคช (ระเหย) ก็ตาม

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

ระบบไฟล์ที่ผ่านอินเทอร์เฟซตัวแมปอุปกรณ์ (รวมถึงการใช้งานซอฟต์แวร์RAIDและ LVM) อาจไม่รองรับอุปสรรค และจะออกคำเตือนหากใช้ตัวเลือกการเมานต์นั้น [36] [37]นอกจากนี้ยังมีดิสก์บางตัวที่ไม่ได้ใช้ส่วนขยายการล้างแคชการเขียนอย่างเหมาะสมซึ่งจำเป็นสำหรับอุปสรรคในการทำงาน ซึ่งทำให้เกิดคำเตือนที่คล้ายกัน [38]ในสถานการณ์เหล่านี้ ที่ซึ่งอุปสรรคไม่ได้รับการสนับสนุนหรือในทางปฏิบัติ ลำดับการเขียนที่เชื่อถือได้สามารถทำได้โดยปิดแคชการเขียนของดิสก์และใช้data=journalตัวเลือกการเมานท์ [32]อาจจำเป็นต้องปิดแคชการเขียนของดิสก์แม้ว่าจะมีอุปสรรคอยู่ก็ตาม

แอปพลิเคชันเช่นฐานข้อมูลคาดหวังให้มีการเรียกใช้fsync()เพื่อล้างการเขียนที่รอดำเนินการไปยังดิสก์ และการใช้งานอุปสรรคไม่ได้ล้างแคชการเขียนของไดรฟ์เพื่อตอบสนองต่อการเรียกนั้นเสมอไป [39]นอกจากนี้ยังมีปัญหาที่อาจเกิดขึ้นกับการใช้สิ่งกีดขวางที่เกี่ยวข้องกับการจัดการข้อผิดพลาดระหว่างเหตุการณ์ เช่น ความล้มเหลวของไดรฟ์ [40]เป็นที่ทราบกันดีว่าบางครั้งเทคโนโลยีเวอร์ชวลไลเซชันบางอย่างไม่ได้ส่งต่อคำสั่ง fsync หรือ flush ไปยังอุปกรณ์พื้นฐาน (ไฟล์ โวลุ่ม ดิสก์) จากระบบปฏิบัติการของแขกอย่างถูกต้อง [41]ในทำนองเดียวกัน ฮาร์ดดิสก์หรือตัวควบคุมบางตัวใช้การล้างแคชอย่างไม่ถูกต้องหรือไม่ใช้เลย แต่ยังคงโฆษณาว่าได้รับการสนับสนุน และไม่ส่งคืนข้อผิดพลาดใดๆ เมื่อใช้งาน [42]มีหลายวิธีในการจัดการ fsync และเขียนการจัดการแคชอย่างไม่ถูกต้อง มันปลอดภัยกว่าที่จะถือว่าการล้างแคชไม่ทำงานเว้นแต่จะได้รับการทดสอบอย่างชัดเจน โดยไม่คำนึงถึงความน่าเชื่อถือของส่วนประกอบแต่ละรายการ

ใกล้จะสูญพันธุ์เนื่องจากการ จำกัด วันที่ประทับ-

Ext3 เก็บวันที่เป็นเวลา Unixโดยใช้สี่ไบต์ในส่วนหัวของไฟล์ 32 บิตไม่ให้ขอบเขตมากพอที่จะดำเนินการประมวลผลไฟล์เกิน 18 มกราคม 2038 - The ปี 2038 ปัญหา [43] "สหัสวรรษของ Geek" นี้คาดว่าจะทำให้เกิดการหยุดชะงักในวงกว้างหากไม่จัดการอย่างทันท่วงที [ ต้องการการอ้างอิง ]

ต่อ4

Ext2 ext3 and ext4 ม การ ทำงาน อย างไร

fsckเวลาขึ้นอยู่กับจำนวนไอโหนด (ext3 กับ ext4)

เมื่อวันที่ 28 มิถุนายน พ.ศ. 2549 Theodore Ts'oซึ่งเป็นผู้พัฒนาหลักของ ext3 [44] ได้ประกาศเวอร์ชันที่ปรับปรุงแล้ว เรียกว่า ext4 เมื่อวันที่ 11 ตุลาคม พ.ศ. 2551 แพตช์ที่ทำเครื่องหมาย ext4 เป็นโค้ดที่เสถียรได้ถูกรวมไว้ในที่เก็บซอร์สโค้ดของ Linux 2.6.28 ซึ่งเป็นการสิ้นสุดขั้นตอนการพัฒนาและแนะนำให้นำไปใช้ ในปี 2008 Ts'o ระบุว่าแม้ว่า ext4 จะมีฟีเจอร์ที่ได้รับการปรับปรุง เช่น เร็วกว่า ext3 มาก แต่ก็ไม่ใช่ความก้าวหน้าที่สำคัญ แต่ใช้เทคโนโลยีแบบเก่า และเป็น stop-gap Ts'o เชื่อว่าBtrfsเป็นทิศทางที่ดีกว่า เพราะ "มีการปรับปรุงในด้านความสามารถในการปรับขนาด ความน่าเชื่อถือ และความง่ายในการจัดการ" [45] Btrfs ยังมี "แนวคิดการออกแบบจำนวนหนึ่งที่reiser3 / 4มี" [46]

ดูสิ่งนี้ด้วย

  • รายการระบบไฟล์
  • การเปรียบเทียบระบบไฟล์
  • คุณสมบัติไฟล์เพิ่มเติม Extended
  • Ext2Fsd
  • Next3เวอร์ชันที่แก้ไขของ ext3 ซึ่งสแนปชอต

อ้างอิง

  • ^ จำนวนสูงสุดของ inodes (และด้วยเหตุนี้จำนวนไฟล์และไดเร็กทอรีสูงสุด) จะถูกตั้งค่าเมื่อระบบไฟล์ถูกสร้างขึ้น ถ้า Vคือขนาดปริมาณเป็นไบต์แล้วจำนวนเริ่มต้นของ inodes จะได้รับจาก V / 2 13 (หรือจำนวนของบล็อกแล้วแต่จำนวนใดจะน้อยกว่า) และต่ำสุดโดย V / 223 ค่าดีฟอลต์ถือว่าเพียงพอสำหรับแอปพลิเคชันส่วนใหญ่ จำนวนไดเร็กทอรีย่อยสูงสุดในหนึ่งไดเร็กทอรีถูกกำหนดเป็น 32000
  • ^ "ReactOS 0.4.2 การปล่อยตัว" reactos.org สืบค้นเมื่อ17 สิงหาคม 2559 .
  • ^ สตีเฟน ซี. ทวีดี (พฤษภาคม 1998). "Journaling ลินุกซ์ ext2fs Filesystem" (PDF) การดำเนินการของ 4 ประจำปี LinuxExpo, Durham, NC สืบค้นเมื่อ2007-06-23 .
  • ^ Stephen C. Tweedie (17 กุมภาพันธ์ 2542) "Re: fsync กับไฟล์ขนาดใหญ่" . รายชื่อผู้รับจดหมายลินุกซ์เคอร์เนล
  • ^ ร็อบ ราเดซ (23 พฤศจิกายน 2544) "2.4.15-รอบชิงชนะเลิศ" . รายชื่อผู้รับจดหมายลินุกซ์เคอร์เนล
  • ^ ข "บทที่ 6 Ext4 File System Red Hat Enterprise Linux 6"
  • ^ พิชช์, จัสติน. "การเปรียบเทียบระบบไฟล์ ส่วนที่ II" . ลินุกซ์ราชกิจจานุเบกษา (122)
  • ^ ไอเวอร์ส, ฮันส์. "แฟ้ม (ext3, Reiser, XFS, JFS) เปรียบเทียบใน Debian กัด"
  • ^ สมิธ, โรเดอริค ดับเบิลยู. (2003-10-09). "ข้อมูลเบื้องต้นเกี่ยวกับระบบไฟล์และไฟล์ Linux" . ลินุกซ์.คอม เก็บจากต้นฉบับเมื่อ 30 สิงหาคม 2011
  • ^ ทราเกเซอร์, เจมส์ (2010-04-23). "ซึ่งลินุกซ์ระบบแฟ้มที่จะเลือกสำหรับเครื่องคอมพิวเตอร์ของคุณหรือไม่ ext2, ext3, Ext4, ReiserFS (Reiser3) Reiser4, XFS, Btrfs"
  • ^ เฉา, หมิงหมิง. "การจัดทำดัชนีไดเรกทอรี" . คุณสมบัติที่พบในลินุกซ์ 2.6
  • ^ แมทธิว วิลค็อกซ์. "เอกสาร / filesystems / ext2.txt" เอกสารแหล่งที่มาของลินุกซ์เคอร์เนล
  • ^ ข แดเนียล ร็อบบินส์ (2544-12-01) "กระทู้ทั่วไป: คู่มือระบบแฟ้ม implementor ขั้นสูง, ส่วนที่ 8" IBM DeveloperWorks . เก็บถาวรจากต้นฉบับเมื่อ 2007-10-13
  • ^ onloooker อยากรู้อยากเห็น: เร่งระบบไฟล์ Evuraan.blogspot.com (2007-01-09). สืบค้นเมื่อ 2013-06-22.
  • ^ ราเดซ, ร็อบ (2005). "ขอบเขต การจัดสรรล่าช้า" . อนาคตของ ext3
  • ↑ Robert Nichols (2007-04-03) Re: มีกี่ไดเรกทอรีย่อย ? linux.derkeiler.com
  • ^ อันเดรียส ดิลเกอร์. "โพสต์ไปยังรายชื่อผู้รับจดหมาย ext3-users" . ext3 ผู้ใช้จดหมายโพสต์รายชื่อ
  • ^ เขย่า . Vleu.net. สืบค้นเมื่อ 2013-06-22.
  • ^ Defrag เขียนในเปลือก Ck.kolivas.org (2012-08-19). สืบค้นเมื่อ 2013-06-22.
  • ^ Defrag เขียนในหลาม Bazaar.launchpad.net. สืบค้นเมื่อ 2013-06-22.
  • ^ RE: การค้นหาสำหรับโปรแกรมย้าย Redhat.com (2005-03-04). สืบค้นเมื่อ 2013-06-22.
  • ^ 5.10. ระบบไฟล์ . Tldp.org (2002-11-09). สืบค้นเมื่อ 2013-06-22.
  • ^

    849 การปรับปรุงแบบปิด (แก้ไขแล้ว) - การจัดสรรล่วงหน้าเพื่อป้องกันการกระจายตัว" . trac.transmissionbt.com . ระบบไฟล์เริ่มต้นของ Ubuntu ("ext3") จะแยกส่วนขนาดใหญ่ (>1GB) ไฟล์ที่เติบโตช้า (<1MB/s)

  • ^ โอลิเวอร์ ไดดริช (27 ตุลาคม 2551) "การปรับระบบไฟล์ Linux Ext3" . เราพบพื้นที่ว่างที่กระจัดกระจายอย่างหนักบนเซิร์ฟเวอร์ IMAP ที่ใช้งานอย่างหนัก ซึ่งเก็บอีเมลทั้งหมดไว้ในไฟล์แต่ละไฟล์ แม้ว่าพื้นที่ดิสก์ทั้งหมด 1.4 TB จะยังคงใช้งานได้มากกว่า 900 GB
  • ^ Ext4 – Linux Kernel Newbies . Kernelnewbies.org (2011-05-19). สืบค้นเมื่อ 2013-06-22.
  • ^ Linux ext3 คำถามที่พบบ่อย Batleth.sapienti-sat.org. สืบค้นเมื่อ 2013-06-22.
  • ^ HOWTO กู้คืนไฟล์ที่ถูกลบบนระบบไฟล์ ext3 เก็บถาวร 2010-09-19 ที่เครื่อง Wayback Xs4all.nl (2008-02-07) สืบค้นเมื่อ 2013-06-22.
  • ^ PhotoRec - จีพีการกู้คืนไฟล์ Cgsecurity.org. สืบค้นเมื่อ 2013-06-22.
  • ^ UFS Explorer Standard Recovery เวอร์ชัน 4 . Ufsexplorer.com สืบค้นเมื่อ 2013-06-22.
  • ^ e3compr - ext3 การบีบอัด Sourceforge.net. สืบค้นเมื่อ 2013-06-22.
  • ^ โจนาธาน คอร์เบ็ต. "ระบบไฟล์ Next3" . ล.ว.
  • ^ ข Re: เมตาดาต้าเสียหายบ่อยครั้งกับ ext3 + หนักปิด คลังเก็บ.free.net.ph สืบค้นเมื่อ 2013-06-22.
  • ^ เรื่องการทุจริตข้อมูลเมตาบ่อยครั้งกับ ext3 + หนักปิด คลังเก็บ.free.net.ph สืบค้นเมื่อ 2013-06-22.
  • ^ Red Hat Enterprise Linuxบทที่ 20 เขียนอุปสรรค
  • ^ ext4: เพิ่มคุณลักษณะวารสารการตรวจสอบ Article.gmane.org (2008-02-26). สืบค้นเมื่อ 2013-06-22.
  • ^ Re: เขียนสิ่งกีดขวางเหนืออุปกรณ์ mapper ที่รองรับหรือไม่? . oss.sgi.com. สืบค้นเมื่อ 2013-06-22.
  • ^ XFS และไฟล์ zeroed เก็บถาวร 2008/04/30 ที่เครื่อง Wayback Madduck.net (2008-07-11). สืบค้นเมื่อ 2013-06-22.
  • ^ Barrier ซิงค์ forums.opensuse.org (มีนาคม 2550)
  • ^ Re: ข้อเสนอสำหรับ "เหมาะสม" fsync คงทน () และ fdatasync () Mail-archive.com (2008-02-26) สืบค้นเมื่อ 2013-06-22.
  • ^ อุปสรรค I / O เป็นของรุ่นเคอร์เนล 2.6.31 Mjmwired.net. สืบค้นเมื่อ 2013-06-22.
  • Virtualization และ IO โหมด = ความซับซ้อนเป็นพิเศษ Mysqlperformanceblog.com (2011-03-21) สืบค้นเมื่อ 2013-06-22. SSD, XFS, LVM, fsync แคชเขียนอุปสรรคและการทำธุรกรรมที่หายไป Mysqlperformanceblog.com (2009-03-02) สืบค้นเมื่อ 2013-06-22.