ฉันเลือก btrfs เป็นรูปแบบของ/
ระบบไฟล์ของฉันในตัวติดตั้ง Ubuntu 12.04 LTS หลังจากการติดตั้งเสร็จสิ้นฉันได้เพิ่มcompress=lzo
ตัวเลือกการเมานท์ใน/etc/fstab
และรีบูต
ไฟล์ที่มีอยู่จะถูกบีบอัดอัตโนมัติหรือไม่
ฉันเลือก btrfs เป็นรูปแบบของ/
ระบบไฟล์ของฉันในตัวติดตั้ง Ubuntu 12.04 LTS หลังจากการติดตั้งเสร็จสิ้นฉันได้เพิ่มcompress=lzo
ตัวเลือกการเมานท์ใน/etc/fstab
และรีบูต
ไฟล์ที่มีอยู่จะถูกบีบอัดอัตโนมัติหรือไม่
คำตอบ:
คุณจะต้องเรียกใช้btrfs fi defragment
เพื่อบีบอัดข้อมูลที่มีอยู่ซ้ำ มิฉะนั้นจะมีการบีบอัดข้อมูลใหม่เท่านั้น
จากคำถามที่พบบ่อย :
... พิจารณาการติดตั้ง
-o compress
ใหม่และเขียนไฟล์บางไฟล์btrfs fi defragment
ซ้ำหรือรันเพื่อบีบอัดทุกอย่าง อาจใช้เวลาสักครู่
autodefrag
ตัวเลือกเมาท์ล่ะ? สิ่งนี้ยังทำให้บีบอัดไฟล์ที่ไม่มีการบีบอัดก่อนหน้านี้หรือไม่เมื่อทำการ defrags อัตโนมัติ
ฉันได้ทำสิ่งที่ Norbert Fabritius พูด แต่ฉันไม่ได้สังเกตเห็นการบีบอัดใด ๆ ในไฟล์ที่มีอยู่ - df -h / ก่อนการ จัดเรียงข้อมูล btrfs fi = 658MB | df -h / after การ จัดเรียงข้อมูล btrfs fi = 658MB ไฟล์ใหม่ก็โอเค การค้นหาเพียงเล็กน้อยนำข้อความนี้มาให้ฉัน:
ใช้สิ่งนี้:
# btrfs filesystem defragment ~/stuff
ไม่จัดเรียงข้อมูลเนื้อหาของไดเรกทอรี
นี่คือโดยการออกแบบ btrfs fi defrag ทำงานบนอ็อบเจ็กต์ระบบไฟล์เดียวที่ส่งไปยัง> มัน ซึ่งหมายความว่าการจัดเรียงคำสั่งเป็นเพียงข้อมูลเมตาที่จัดทำโดยไดเรกทอรี> วัตถุไม่ใช่เนื้อหาของไดเรกทอรี ถ้าคุณต้องการจัดเรียงเนื้อหา> ของไดเรกทอรีสิ่งนี้จะมีประโยชน์มากกว่า:
# find -xdev -type f -exec btrfs fi defrag '{}' \;
หลังจากนี้ฉัน / มันเกิดขึ้น 656MB - ไม่มีอะไรใหญ่โต แต่มีการบีบอัดอย่างแน่นอน
ที่มา: https://btrfs.wiki.kernel.org/index.php/Problem_FAQ#Defragmenting_a_directory_doesn.27t_work
หวังว่าความช่วยเหลือนี้
ขอโทษด้วยภาษาอังกฤษของฉัน
defrag -clzo
หรือdefrag -czlib
แทนที่จะเป็นเพียงแค่defrag
ถ้าคุณต้องการบีบอัดสิ่งต่าง ๆ จริง ๆ ?
btrfs fi defrag -r -czlib ~/stuff
ตามเอกสารของ Oracle คุณสามารถบีบอัดไฟล์ที่มีอยู่ในระบบไฟล์ออนไลน์ที่มีอยู่โดยจัดเรียงไฟล์แต่ละไฟล์ด้วยตัวเลือก -c, -clzo หรือ -czlib แนะนำให้ใช้ LZO สำหรับความเร็ว
find / -xdev \( -type f -o -type d \) -exec btrfs filesystem defragment -v -clzo -- {} +
สิ่งนี้ใช้คำสั่ง find เพื่อรันตัวจัดเรียง btrfs บนทุกไฟล์ในระบบไฟล์รูท (กำหนดโดยเครื่องหมายทับขวาหลังจากคำสั่ง "find" ที่จุดเริ่มต้น) หากคุณมี subvolumes อื่น ๆ คุณสามารถใช้มันอีกครั้งกับเส้นทางของ subvolume (เช่นฉันมีหนึ่งที่ / home เป็นต้น) แทนที่จะใช้เครื่องหมายทับเดียว
คุณจะต้องใช้สิทธิ์รูทสำหรับสิ่งนี้ดังนั้นเพิ่ม sudo ไว้ด้านหน้าหากคุณต้องการ
ดู:
ตามhttps://btrfs.wiki.kernel.org/index.php/Mount_options#List_of_options ตามขั้นตอนวิธีการบีบอัดที่มีอยู่:
compress,compress-force
Enable compression. Starting with kernel 2.6.38 you can choose the algorithm for compression:
- compress=zlib - Better compression ratio. It's the default and safe for olders kernels.
- compress=lzo - Faster compression.
- compress=no - Disables compression (starting with kernel 3.6).
compress-force= - Enable compression even for files that don't compress well, like videos and dd images of disks. The options compress-force=zlib and compress-force=lzo works for kernels >2.6.38.
Note that old (before 2012) btrfs-progs versions will probably fail some operations (e.g. fsck) on filesystems with LZO compression.
หมายเหตุ: โพสต์นี้เป็นคำตอบสำหรับคำถามเพิ่มเติมประเภทของอัลกอริทึมการบีบอัดที่มีให้ซึ่งถูกถามด้านล่าง ... ดังนั้นโปรดอย่าโทษฉัน
อ้างอิงจากArchWiki :
เคล็ดลับ: การบีบอัดสามารถเปิดใช้งานต่อไฟล์โดยไม่ต้องใช้
compress
ตัวเลือกเมานต์ เพียงนำchattr +c
ไปใช้กับไฟล์ เมื่อนำไปใช้กับไดเรกทอรีมันจะทำให้ไฟล์ใหม่ถูกบีบอัดโดยอัตโนมัติตามที่มา
ดีมาก! ขอพระเจ้าอวยพร BTRFS!
นอกจากนี้จากวิกิ BTRFS :
ฉันสามารถบังคับให้บีบอัดไฟล์โดยไม่ใช้การบีบอัดเมาท์ได้หรือไม่?
ใช่. ยูทิลิตี
chattr
นี้รองรับการตั้งค่าแอตทริบิวต์ไฟล์ c ที่ทำเครื่องหมาย inode เพื่อบีบอัดข้อมูลที่เขียนใหม่
การบีบอัดถูกเปิดใช้งานโดยค่าเริ่มต้นใน Btrfs ดังนั้นหากคุณไม่ได้ปิดใช้งานอย่างชัดเจนมันควรถูกบีบอัด
compression=
"อัลกอริทึมการบีบอัดที่คุณโปรดปราน" ใน fstab เพื่อเปิดใช้งาน
sudo mount -o remount /
และตัวเลือก fstab ใหม่จะมีผล