-T largefile
ธงปรับปริมาณของ inodes ที่ได้รับการจัดสรรในการสร้างระบบแฟ้ม เมื่อจัดสรรแล้วหมายเลขของพวกเขาจะไม่สามารถปรับได้ (อย่างน้อยสำหรับ ext2 / 3 ไม่แน่ใจอย่างเต็มที่เกี่ยวกับ ext4) ค่าดีฟอลต์คือหนึ่ง inode สำหรับทุก 16K ของพื้นที่ดิสก์ -T largefile
ทำให้เป็นหนึ่ง inode สำหรับทุกเมกะไบต์
แต่ละไฟล์ต้องการหนึ่งไอโหนด หากคุณไม่มีไอโหนดใด ๆ คุณจะไม่สามารถสร้างไฟล์ใหม่ได้ แต่ inodes ที่ถูกจัดสรรแบบสแตติกเหล่านี้จะใช้พื้นที่เช่นกัน คุณสามารถบันทึกได้ประมาณ 1,5 กิกะไบต์สำหรับดิสก์ทุก ๆ 100 GBโดยการตั้งค่า-T largefile
ซึ่งตรงข้ามกับค่าเริ่มต้น -T largefile4
(หนึ่ง inode ต่อ 4 MB) ไม่มีผลกระทบที่น่าทึ่ง
หากคุณมั่นใจว่าขนาดเฉลี่ยของไฟล์ที่จัดเก็บในอุปกรณ์จะสูงกว่า 1 เมกะไบต์แล้วจึงตั้งค่า-T largefile
ทั้งหมด ฉันใช้มันอย่างมีความสุขกับพาร์ติชั่นการจัดเก็บของฉันและคิดว่ามันไม่ได้รุนแรงเกินไป
อย่างไรก็ตามถ้าคุณแกะกล่อง tarball แหล่งใหญ่มากของไฟล์จำนวนมาก (คิดว่าหลายแสน) ไปยังพาร์ทิชันที่คุณมีโอกาสที่จะหมด inodes สำหรับพาร์ทิชันที่ มีเพียงเล็กน้อยที่คุณสามารถทำได้ในสถานการณ์นั้นนอกเหนือจากการเลือกพาร์ติชันอื่นเป็นไม่เคยไป
คุณสามารถตรวจสอบจำนวน inode ที่คุณมีอยู่ในระบบไฟล์สดด้วยdumpe2fs
คำสั่ง:
# dumpe2fs /dev/hda5
[...]
Inode count: 98784
Block count: 1574362
Reserved block count: 78718
Free blocks: 395001
Free inodes: 34750
ที่นี่ฉันยังสามารถสร้างไฟล์ได้ถึง 34,000 ไฟล์
นี่คือสิ่งที่ฉันได้รับหลังจากทำmkfs.ext3 -T largefile -m 0
บนพาร์ติชัน 100 GB:
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/loop1 102369 188 102181 1% /mnt/largefile
/dev/loop2 100794 188 100606 1% /mnt/normal
เวอร์ชันไฟล์ขนาดใหญ่มี 102 400 inodes ในขณะที่หนึ่งปกติสร้าง 6 553 600 inodes และบันทึก 1,5 GB ในกระบวนการ
หากคุณมีเงื่อนงำที่ดีเกี่ยวกับขนาดไฟล์ที่คุณจะนำไปวางไว้ในระบบไฟล์คุณสามารถปรับจำนวนไอโหนดได้โดยตรงด้วย-i
สวิตช์ มันตั้งค่าไบต์ต่ออัตราส่วนไอโหนด คุณจะได้รับ 75% ของการประหยัดพื้นที่หากคุณใช้-i 65536
ในขณะที่ยังสามารถสร้างไฟล์ได้มากกว่าล้านไฟล์ โดยทั่วไปฉันคำนวณเพื่อให้อย่างน้อย 100,000 inodes สำรอง