Linux: ทำไมเปลี่ยนขนาด inode


12

Tune2fs อนุญาตให้เปลี่ยนขนาด inode จากค่าเริ่มต้น (128 ไบต์บน ext3, 256 ไบต์บน ext4) เป็นเกือบทุกอย่าง แต่ควรเป็นสองกำลัง อะไรคือสาเหตุของการเปลี่ยนขนาดไอโหนดเริ่มต้น?

ที่นี่มันเขียนว่าสามารถทำได้เพื่อให้สามารถจัดเก็บคุณลักษณะ ACL ภายใน inodes มีอะไรอีกบ้างที่สามารถเก็บไว้ใน inodes ได้?

มีเหตุผลใดบ้างที่จะเพิ่มขนาดไอโหนดบนไดรฟ์ความจุสูง (2TB ขึ้นไป)


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

@DevSolar ทุกวันนี้ [ในปี 2015] Ext2IFS นั้นล้าสมัยและ ext3 ด้วย :-) จะอ่านพาร์ติชั่น ext4 บน Windows ได้อย่างไร? . ค่าเริ่มต้นของ ext4 เป็น 256 เพื่อจัดเก็บแอตทริบิวต์ไฟล์ใหม่
Franklin Piat

คำตอบ:


8

ฉันคิดว่าโดยเริ่มต้นรุ่นปัจจุบันของ mkfs.ext2 / 3/4 เริ่มต้นขนาด 256 ไบต์ inode ขนาด (ดู /etc/mke2fs.conf) IIRC นี้เปิดใช้งานการบันทึกเวลา nanosecond ด้วย ext4 และอย่างที่คุณพูดคุณลักษณะเพิ่มเติมที่เพิ่มเติมเข้ามาจะอยู่ภายในไอโหนด แอ็ตทริบิวต์ส่วนขยายดังกล่าว ได้แก่ เลเบล SELinux ของ ACL, เลเบลเฉพาะของแซมบ้าบางรายการ

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


ในระบบของฉันที่มีขนาดไอโหนด CentOS 5.3 คือ 128 โดยค่าเริ่มต้น
Vladislav Rastrusny

1
@FractalizeR ใช่ mke2fs สำหรับ RHEL / CentOS 5 ย้อนหลังไปถึงปี 2549 ฉันคิดว่าค่าเริ่มต้นเปลี่ยนไปเมื่อไม่กี่ปีที่ผ่านมาบางครั้งเมื่อ ext4 ถูกประกาศว่ามีความเสถียร
janneb

1
บน CentOS 5.5, /etc/mke4fs.conf จะระบุขนาดไอโหนดเริ่มต้นที่ 256
sciurus

0

ด้วยตัวเลือก ext4 inline_data (ใหม่ใน Linux 3.8) มีเหตุผลใหม่ที่ดีสำหรับขนาด inode ที่ใหญ่กว่า: ด้วยตัวเลือกนี้เนื้อหาไฟล์จะถูกเก็บไว้ใน inode ของไฟล์ (หากไฟล์มีขนาดเล็กพอ) วิธีนี้หลีกเลี่ยงการค้นหา ฉันยังไม่ได้เห็นการเปรียบเทียบมาตรฐานใด ๆ ในโลกนี้


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