ext4 แพงกว่า ntfs หรือไม่


11

ฉันเพิ่งแปลงพาร์ติชั่น NTFS เป็น ext4 แต่พื้นที่ทั้งหมดดูเหมือนว่าลดลงจาก 421G เป็น 415G 6G ไปอยู่ที่ไหน และพื้นที่ที่สงวนไว้นั้นเพิ่มขึ้นเป็น 199M ใน ext4 ซึ่งใหญ่กว่าเมื่อเทียบกับ 78M ใน NTFS ทำไม

พาร์ติชั่นส่วนใหญ่ใช้สำหรับภาพยนตร์ / เพลงดังนั้นไฟล์ส่วนใหญ่จึงมีขนาดใหญ่มาก (> 10M ต่อไฟล์) ฉันต้องการใช้ระบบไฟล์ ext4 มีข้อเสนอแนะหรือไม่?

mkfs.ntfs:
    /dev/sdb4             421G   78M  421G   1% /mnt/mmedia

mkfs.ext4:
    /dev/sdb4             415G  199M  393G   1% /mnt/mmedia
                       (415G - 199M == 393G ?)

เป็นเรื่องแปลกที่ขนาดที่เหลืออยู่ของ ext4 คือ 393G ไม่ควรเป็น 415G หรือ 414G? เกิดอะไรขึ้นกับ 22G ที่หายไป? เมื่อเทียบกับ NTFS แล้ว ext4 ใช้พื้นที่ทั้งหมด 6.6% นั่นเป็นเรื่องใหญ่

คำถามคือ:

  1. 6G ส่วนใหญ่ที่ใช้สำหรับการทำวารสารเพื่อความซ้ำซ้อนหรือสำหรับการจัดทำดัชนีคืออะไร?
  2. ทำไมพื้นที่ว่าง 393G ไม่ใช่ 415G มีรู 22G ซึ่งค่อนข้างใหญ่
  3. คุณจะให้คำแนะนำเกี่ยวกับพารามิเตอร์ใดถ้าพาร์ติชัน ext4 นี้ใช้เพื่อเก็บไฟล์ภาพยนตร์ / เพลง ว่ากันว่า ext4 ทำงานได้ดีกว่า ext3 สำหรับพาร์ติชั่นขนาดใหญ่จริงหรือ? ฉันจะไม่กลับไปใช้ ext2 ซึ่งไม่ใช่วารสาร

คำตอบ:


7

6G ส่วนใหญ่ที่ใช้สำหรับการทำวารสารเพื่อความซ้ำซ้อนหรือสำหรับการจัดทำดัชนีคืออะไร?

(ยังไม่ทราบ)

ทำไมพื้นที่ว่าง 393G ไม่ใช่ 415G มีรู 22G ซึ่งค่อนข้างใหญ่

เป็นบล็อกสำรอง 5% สำหรับ superuser ซึ่งใช้เพื่อหลีกเลี่ยงการแตกแฟรกเมนต์ คุณสามารถปรับให้ 1% mkfs.ext4 -m 1โดย

คุณจะให้คำแนะนำเกี่ยวกับพารามิเตอร์ใดถ้าพาร์ติชัน ext4 นี้ใช้เพื่อเก็บไฟล์ภาพยนตร์ / เพลง

คุณสามารถระบุตัวเลือกการใช้งานให้กับ mkfs.ext4 เช่นmkfs.ext4 -T large_fileนี้จะทำให้ mkfs.ext4 ตัดสินใจพารามิเตอร์สำหรับพาร์ติชันที่มีไฟล์ขนาดใหญ่


1
6G จะใช้สำหรับรายการ inode
Sirex

1
บล็อกที่สงวนไว้ยัง จำกัด ผลกระทบของการโจมตี Denial Of Service ที่ผู้ใช้ทั่วไปเติมดิสก์จนถึงจุดที่ไม่สามารถเขียนไฟล์บันทึกได้อีก พื้นที่ที่สงวนไว้อย่างน้อยที่สุดจะให้บันทึกการรูทเพียงพอที่จะจับผู้ใช้ที่ละเมิด
MSalters

/etc/mke2fs.conf ของฉันพูดถึงพารามิเตอร์ "largefile" และ "largefile4" สำหรับ -T ไม่ใช่ "large_file"
user1338062

3

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

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

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

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

หวังว่าคุณจะพบว่ามีประโยชน์


3
  1. 6GB เป็น inodes ext4 ค่าเริ่มต้นที่ 1/64 (1.56%) สำหรับ inodes แต่ละ 256B ดังนั้นสามารถเติมด้วยไฟล์ 16KB
  2. พื้นที่ว่างที่มีอยู่ df ไม่รวมพื้นที่ที่สงวนไว้สำหรับรูท 5% โดยค่าเริ่มต้นให้ใช้ tune2fs -m
  3. mkfs.ext4 -m 0 -N 4000000 / dev / อะไรก็ตาม # ฟอร์แมต, 0 สงวน, 4 ล้าน inodes ใช้ 1GB
  4. ext4 fsck เร็วกว่า ext3 มาก นอกเหนือจากนั้นคุณจะไม่สังเกตเห็นความแตกต่าง

แต่ละไฟล์ / dir ต้องการ 1 inode คุณไม่สามารถเปลี่ยนจำนวนของ inodes หลังจากสร้างระบบไฟล์ ext แม้แต่ไอโหนด 1000000 ก็เพียงพอสำหรับพาร์ติชั่นนั้นถ้าคุณจะใช้มันกับภาพยนตร์และเพลงเท่านั้น

ตารางไฟล์ต้นแบบของ NTFS (MFT) มีความยืดหยุ่นมากกว่าเล็กน้อยดังนั้น NTFS จึงสามารถอัดข้อมูลได้มากขึ้นตามค่าเริ่มต้น

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


Each inode 256B, so can fill with 16KB filesคุณหมายถึงมี 16K-256 = 16128 ไบต์ฟรีในแต่ละ inode หรือไม่?
XièJìléi

1
ฉันหมายถึงถ้าคุณใช้อุปกรณ์ 1/64 สำหรับตาราง inodes และแต่ละ inode เป็น 256B คุณจะได้รับ inode หนึ่งตัวต่อ 16KB ของอุปกรณ์ ... จริง ๆ แล้วมันคือ 1 inode ต่อ 15.75KB ของอุปกรณ์ที่เหลือ แต่ใกล้พอ ดังนั้นคุณมีไอโหนดเพียงพอที่จะเติมทั้งดิสก์ด้วยไฟล์ 16KB หากคุณคาดหวังว่าจะมีไฟล์ขนาดใหญ่กว่าเช่นวิดีโอคุณสามารถทำกับ inodes น้อยลงและอาจบันทึกจากอุปกรณ์ไม่กี่ GB
Sam Watkins

1

ซุปเปอร์บล็อกที่สงวนไว้เป็นสิ่งหนึ่ง แต่ไม่ได้หมายถึงจำนวนเงินทั้งหมดที่คุณอ้างถึง แชนเนลซุปเปอร์บล็อกที่สงวนไว้จะไม่แสดงใน "พื้นที่ว่างทั้งหมด" .. ที่ไม่เปลี่ยนแปลงมันคือจำนวนของ inodes x ขนาดของพวกเขาใน ext4 โดยค่าเริ่มต้นคาดว่าจะมีขนาด 256 ไบต์ต่อ inode และ 400 GB ฉันคาดเดาว่า mkfs.ext4 จะทำประมาณ 25-30 มิลล์ใช้ dumpe2fs -h เพื่อดูจำนวนจริงสิ่งนี้ประกอบไปด้วย 6 GB ที่คุณหายไปและไม่ใช่บล็อกสำรองที่ใครบางคนกำลังทำอยู่ (เช่น inode-) นับ x inode-size b / 1024 ^ 3) GB

เอาต์พุต df -h ที่ฉันสงสัยว่าอาจจะทำอย่างไรกับความอ่อนแอบางอย่างลองทำอีกครั้งและระบุ i-nodes ครึ่งหนึ่งของคุณ (คุณสามารถทำได้อย่างปลอดภัยและยิ่งกว่านั้นถ้าคุณเป็นตัวหนา) แต่ระวังว่าไดเรกทอรีจำนวนมากสามารถ ทำให้คุณหมด inodes ก่อนที่จะว่าง

เช่น. ext4 ขอสงวนอินเทอร์เฟซหลายอันที่ 93-4?) ต่อไดเรกทอรีสมมติว่าคุณตั้งใจจะเก็บมากกว่าหนึ่งหรือสองไฟล์และทำให้มีประสิทธิภาพมากขึ้น หากคุณมีโฟลเดอร์ 1 ล้านไฟล์ที่มีไฟล์อยู่ 1 ล้านไฟล์คุณจะหมดไอโหนดบนเลย์เอาต์นั้นก่อนที่จะหมดพื้นที่จริง โดยปกติแล้ว inodes จะใช้งานได้ภายในไม่กี่เปอร์เซ็นต์ของพื้นที่ แต่สามารถขัดขวางได้ถึง 35% ดังนั้นการหารด้วยสองจึงค่อนข้างปลอดภัยสำหรับผู้ใช้เดสก์ท็อป

นี่คือตัวอย่าง:

415 GB RAW (dev / sdb1 พูด) mkfs.ext4 -m0 -Ndefault # / 2 -Lext4-1 -O ขอบเขต dir_index, large_file, sparse_super, uninit_bg / dev / sdb1

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

Malina Salina


0

ฉันมีระบบไฟล์ (เต็ม) ntfs ต่อเนื่องประมาณ 1,000 GB ของข้อมูลที่มีเพียงไม่กี่ร้อยเมกะไบต์ฟรี แม้ว่าความจุที่ฟอร์แมตของ ext4 นั้นน้อยกว่า ntfs ฉันจำได้ว่าเมื่อฉันคัดลอกทุกอย่างที่ฉันยังคงมีให้ฟรีประมาณ 70GB บน ext4 แม้ว่าความจุที่ฟอร์แมตจะน้อยกว่าก็ตาม (โปรดจำไว้ว่า ntfs เต็มแล้ว) ฉันไม่สามารถสัญญาได้ว่าสิ่งนี้จะเกิดขึ้นกับคุณ แต่อย่างน้อยสำหรับไฟล์ที่ฉันมี ext4 นั้นเป็นโปรแกรมรักษาพื้นที่ที่แท้จริง! :)

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