ฉันเพิ่งสังเกตเห็นว่ามีระบบไฟล์จำนวนมากเกิน {2,3,4} ตัวที่ฉันพยายามสร้างบน HDD 500G ไม่ได้ใช้พื้นที่ว่างทั้งหมด (466G) ฉันยังลอง reiser3, xfs, jfs, btrfs และแม้แต่ vfat พวกเขาทั้งหมดสร้าง fs ขนาด 466G (ตามที่แสดงโดยdf -h ) อย่างไรก็ตาม ext * สร้าง fs ของ 459G การปิดใช้งานบล็อกที่สงวนไว้จะเพิ่มพื้นที่ว่างให้กับผู้ใช้ แต่ขนาดของ fs ยังคงเป็น 459G
เช่นเดียวกับ HDD 1Tb: ผู้สร้างใหม่ 932G, 917G ext4
แล้วความแตกต่าง 1.5% นี้คืออะไร? ทำไมมันเกิดขึ้นและมีวิธีทำ ext เติมปริมาตรเต็ม?
UPD: การทดสอบทั้งหมดทำในเครื่องเดียวกันบน HDD เดียวกันและอื่น ๆ มันไม่สำคัญว่า 466G นั้นแตกต่างจากการตลาด 500G อย่างไร ปัญหามันแตกต่างกันสำหรับ FS ที่แตกต่างกัน
เกี่ยวกับ df - แสดงขนาดรวม FS, ขนาดที่ใช้และพื้นที่ว่าง ในกรณีนี้ฉันมี:
สำหรับ reiserfs:
/ dev / sda1 466G 33M 466G 1% / mnt
สำหรับ ext4:
/ dev / sda1 459G 198M 435G 1% / mnt
ถ้าฉันปิดการจองบล็อกรูท 435G จะเปลี่ยนเป็น 459G - ขนาดเต็มของ fs (ลบ 198M) แต่ fs นั้นยังคงเป็น 459G สำหรับ ext4 และ 466G สำหรับ reiser!
UPD2: การเติมวอลุ่มด้วยข้อมูลจริงผ่าน dd:
ReiserFS:
fs: ~ # dd if = / dev / zero of = / mnt / 1 dd: записьв« / mnt / 1 »: Наустройствекончилосьместо 975702649 + 0 записейсчитано 975702648 + 0 записейнаписано скопировано 499559755776 байт (500 GB), 8705,61 c, 57,4 MB / c
ปิด ext2 โดยปิดการจองบล็อก (mke2fs -m 0):
fs: ~ # dd if = / dev / zero of = / mnt / 1 dd: записьв« / mnt / 1 »: Наустройствекончилосьместо 960356153 + 0 записейсчитано 960356152 + 0 записейнаписано скопировано 491702349824 байта (492 GB), 8870,01 c, 55,4 MB / c
ขออภัยภาษารัสเซีย แต่ฉันเรียกใช้ในภาษาเริ่มต้นและทำซ้ำนานเกินไป มันไม่สำคัญว่า dd output นั้นชัดเจน
ดังนั้นปรากฎว่า mke2fs สร้างระบบไฟล์ที่เล็กกว่าจริงกว่า mkfs อื่น ๆ
LANG=C fooหรือLC_ALL=C foo