พื้นที่สงวนสำหรับรูทบนระบบไฟล์ - เพราะอะไร


105

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

tune2fs -m 1 /dev/sdXY

สิ่งที่ฉันอยากรู้คืออะไรคือจุดประสงค์ที่แท้จริงของพื้นที่สงวนนี้คืออะไร มันมีจุดประสงค์ที่เป็นประโยชน์หรือไม่ซึ่งจะได้พื้นที่มากกว่า 5% ในบางสถานการณ์?

เหตุผลที่ฉันสะดุดกับคำถามนี้คือเมื่อเร็ว ๆ นี้เราได้สร้างไฟล์เก็บข้อมูลขนาด 1TB และไม่สามารถคิดได้ว่าทำไม df -h ทำให้เราขาดความสามารถ 5% ไป


1
โอเคตอนนี้เป็นพื้นที่ว่างเปล่า 'ไม่พร้อมใช้งาน' บางที 5% ควรถูก จำกัด ไว้ที่ขนาดไดรฟ์ที่เล็กกว่า X (เช่น 5% ของพื้นที่ดิสก์สูงสุด 100MB)
tshepang

3
ในระบบไฟล์ 8 TB ของฉัน 400 GB เพิ่งหายไป - นี่คือพื้นที่ว่างที่แท้จริง !! :)
Ilia Rostovtsev

คำตอบ:


101

การประหยัดพื้นที่สำหรับกระบวนการรูทที่สำคัญ (และการกระทำที่เป็นไปได้ช่วย) เป็นเหตุผลหนึ่งที่

แต่ยังมีอีก Ext3 ค่อนข้างดีในการหลีกเลี่ยงการแตกแฟรกเมนต์ของระบบไฟล์ แต่เมื่อคุณได้มากกว่า 95% เต็มแล้วพฤติกรรมนั้นจะตกจากหน้าผาและประสิทธิภาพของระบบไฟล์ก็จะกลายเป็นความยุ่งเหยิง ดังนั้นการสงวนไว้ 5% จะให้บัฟเฟอร์กับสิ่งนี้

Ext4 น่าจะดีกว่านี้ตามที่อธิบายโดยนักพัฒนาระบบไฟล์ Linux / guru Theodore Ts'o :

หากคุณตั้งค่าจำนวนบล็อกที่สงวนไว้ให้เป็นศูนย์จะไม่ส่งผลกระทบต่อประสิทธิภาพการทำงานมากนักยกเว้นหากคุณใช้งานเป็นระยะเวลานาน (ด้วยไฟล์จำนวนมากที่สร้างและลบ) ในขณะที่ระบบไฟล์เกือบเต็ม (เช่นพูดมากกว่า 95%) ณ จุดนี้คุณจะพบกับปัญหาการแตกแฟรกเมนต์ ตัวจัดสรรหลายบล็อกของ Ext4 นั้นมีความทนทานต่อการแตกแฟรกเมนต์มากขึ้นเนื่องจากมันพยายามค้นหาบล็อกที่ต่อเนื่องได้ยากขึ้นดังนั้นแม้ว่าคุณจะไม่ได้เปิดใช้งานคุณสมบัติ ext4 อื่น ๆ คุณจะเห็นผลลัพธ์ที่ดีกว่าเพียงแค่ติดตั้งระบบไฟล์ ext3 รับเต็มอย่างสมบูรณ์

หากคุณเพียงแค่ใช้ระบบไฟล์สำหรับการเก็บถาวรระยะยาวซึ่งไฟล์ไม่เปลี่ยนแปลงบ่อยนัก (เช่นร้าน mp3 หรือวิดีโอขนาดใหญ่) แน่นอนว่ามันจะไม่สำคัญ


3
ดังที่บันทึกไว้ที่superuser.com/a/1257550/38062ตัวเลข "90%" และ "95%" เหล่านี้มีต้นกำเนิดในการตรวจวัดกับ Berkeley FFS ที่ทำในช่วงปี 1980 ในทศวรรษที่ผ่านมาคนอื่น ๆ ได้ท้าทายภูมิปัญญาที่ได้รับซ้ำ ๆ
JdeBP

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

44

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


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

22

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

นอกจากนี้ยังให้พื้นที่ในการทำงานเมื่อผู้ใช้บ่นว่าดิสก์เต็มหรือบริการเริ่มต้นล้มเหลวเนื่องจากระบบไฟล์เต็ม ตัวอย่างเช่นคุณสามารถเก็บถาวรไฟล์บางไฟล์ลงในไฟล์เก็บถาวร zip / gz / 7zip ก่อนที่จะลบออก (แม้ว่าระบบไฟล์จะเต็มโดยสมบูรณ์แล้วมีโอกาสที่คุณจะมีระบบไฟล์อื่น ๆ ที่คุณสามารถสร้างไฟล์เก็บถาวรแทน)

5% เป็นค่าเริ่มต้นมาเป็นเวลานานจากด้านหลังเมื่อดิสก์มีขนาดเล็กกว่ามาก (หลายสิบเมกะไบต์แทนที่จะเป็นหลายร้อยกิกะไบต์) ดังนั้น 5% จึงไม่ใช่ทั้งหมด โชคดีที่มันสามารถจะปรับลงไปร้อยละขนาดเล็กตามที่คุณพูดหรือตั้งค่าไปยังหมายเลขเฉพาะของบล็อกถ้าคุณใช้tune2fs's ตัวเลือกแทน-r -mในทั้งสองกรณีที่คุณสามารถให้พารามิเตอร์ของ 0 ที่จะเปิดการสำรองห้องพักออกอย่างสมบูรณ์ - ฉันจะไม่ทำเช่นนี้สำหรับ/, /tmp, /varและอื่น ๆ แต่คุณอาจต้องการสำหรับระบบแฟ้มเท่านั้นที่ทำหน้าที่เป็นผู้ใช้จัดเก็บข้อมูล (พูด File- ทั่วโลก แชร์) หรือไฟล์ที่มีขนาดคงที่ (เช่น VM ขนาดคงที่) ที่จะเติบโตเมื่อคุณสร้างไฟล์ใหม่เท่านั้น


22

ค่าเริ่มต้นที่ 5% นั้นมีไว้สำหรับพาร์ติชันระบบ ตัวอย่างเช่นหากพื้นที่ดิสก์ของคุณเต็มบันทึกของระบบ ( /var/log) และกล่องจดหมายของรูท ( /var/mail/root) ยังสามารถรับข้อมูลที่สำคัญได้ สำหรับ/homeพาร์ติชันการจัดเก็บข้อมูลแบบทั่วไปหรือไม่จำเป็นต้องเว้นที่ว่างสำหรับรูท สำหรับความต้องการพิเศษคุณสามารถเปลี่ยนผู้ใช้ที่ได้รับพื้นที่ฉุกเฉิน ( tune2fs -u 1234)

ไม่มีเหตุผลที่จะไม่ยอมให้มีการต่อ [234] ระบบแฟ้มที่จะได้รับเต็มรูปแบบของผู้อื่นซึ่งเป็นการกระจายตัว

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