ตัวเลือก ikeep mount บน XFS ทำอะไรได้บ้าง?


3

ฉันมีแล็ปท็อปที่มี 512GB SSD อยู่ ฉันใช้ XFS เป็นของฉัน / ระบบไฟล์ติดตั้งด้วย noatime,discard,ikeep. ikeep เป็นเพราะบางรายการจดหมายที่โพสต์เกี่ยวกับความช้า discard และ TRIM อยู่บน XFS และแนะนำให้ใช้ ikeep เพื่อปรับปรุงประสิทธิภาพ อย่างไรก็ตามในเอกสาร kernel Linux กล่าวว่า:

เมื่อระบุ ikeep แล้ว XFS จะไม่ลบกลุ่มไอโหนดที่ว่างเปล่า       และเก็บไว้ในดิสก์ ikeep เป็น XFS แบบดั้งเดิม       พฤติกรรม. เมื่อระบุ noikeep คลัสเตอร์ไอโหนดที่ว่างเปล่า       จะถูกส่งคืนไปยังพูลพื้นที่ว่าง ค่าเริ่มต้นคือ noikeep สำหรับ       non-DMAPI mounts ในขณะที่ ikeep เป็นค่าเริ่มต้นเมื่อใช้งาน DMAPI

นี่หมายความว่าไม่มีที่ว่างหรือเปล่า เคย จะเป็นอิสระถ้าฉันใช้ ikeep ดังนั้นการทำมัมมี่ทิ้งเนื่องจากไม่ว่าฉันจะลบไฟล์กี่ไฟล์ นั่นดูเหมือนจะเป็นความคิดที่ผิดปกติสำหรับ "พฤติกรรม XFS แบบดั้งเดิม"

ikeep ทำอะไรกันแน่

คำตอบ:


3

ikeep ทำสิ่งที่เอกสารบอกว่าทำ ฉันเชื่อว่าความสับสนของคุณมาจากการไม่เข้าใจสิ่งที่ inode คือ. inode เก็บ meta-data เกี่ยวกับไฟล์ มันเป็นส่วนหนึ่งของโครงสร้างระบบไฟล์และมี ไม่มี ของข้อมูลในไฟล์ ในฐานะที่เป็นคำอธิบายของแพทช์ซึ่งแนะนำความต้องการ ikeep อธิบายว่า:

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

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

ระบบไฟล์ส่วนใหญ่จัดสรร inode ทั้งหมดที่พวกเขาต้องการเมื่อคุณ "ทำให้ระบบไฟล์" a.k.a. "ฟอร์แมตไดรฟ์") และไม่ต้องลบออก XFS นั้นแตกต่างกันตรงที่มันต้องการ

การกระจัดกระจายและสิ่งต่าง ๆ ที่ "กระจัดกระจายรอบ ๆ ดิสก์" ทำให้เกิดปัญหาประสิทธิภาพการทำงานที่สำคัญสำหรับดิสก์หมุนแผ่นดิสก์แบบดั้งเดิม อย่างไรก็ตามใน SSD สิ่งเหล่านั้นไม่มีปัญหาเลย ในทางกลับกันการลบดิสก์บล็อกเป็นปัญหาด้านประสิทธิภาพที่สำคัญของ SSD ขณะที่ไม่มีปัญหาสำหรับดิสก์หมุน ดังนั้นในขณะที่แพทช์ทำให้ค่าเริ่มต้นในการลบ inode ที่ว่างเปล่าเป็นการปรับปรุงประสิทธิภาพสำหรับดิสก์หมุน ดังนั้นข้อเสนอแนะที่จะใช้ ikeep บน SSD


การไม่ inode นี้ทำให้เกิดการแตกแฟรกเมนต์เป็นอย่างไร
ithisa

1
อันที่จริงแล้วมันไม่ใช่การไม่ปล่อยอิสระจาก inodes ซึ่งเป็นสาเหตุของการแตกแฟรกเมนต์ แต่เป็นการจัดสรรแบบไดนามิกของ inodes ควบคู่กับการจัดสรรบล็อกสำหรับข้อมูลไฟล์ที่ทำให้เกิดการแตกแฟรกเมนต์ แต่การไม่ inodes ล็อคฟรีในสถานที่การกระจายตัวใด ๆ ที่เกิดขึ้นในสถานที่แรก
Old Pro

อืมมม ดังนั้นเหตุผลเดียวที่ XFS ตัดสินใจทำเช่นนั้นคือการบีบพื้นที่ให้เล็กลงและใช้เวลาน้อยลง mkfs เล็ก? O-o
ithisa

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