ZFS: บีบอัดไฟล์ที่มีอยู่อีกครั้งหลังจากเปลี่ยนอัลกอริทึมการบีบอัด


14

ฉันมีสระว่ายน้ำที่สร้างขึ้นในปี 2011 ใช้lzjb compressionงานและมันก็ไม่ได้จนกว่าจะผ่านไปสองสามปีหลังจากนั้นการอัปเกรดทำให้ฉันสามารถตั้งค่าการบีบอัดlz4ได้ ผมประเมินว่าอย่างน้อย 20% ของเนื้อหา (ด้วยช่องว่าง) ในอาร์เรย์ที่ถูกสร้างขึ้นก่อนปี 2013 lzjbซึ่งหมายความว่ามันยังคงบีบอัดโดยใช้

ฉันคิดว่ามีสองตัวเลือกในการแก้ไขปัญหานี้และฟื้นพื้นที่ (บางส่วน):

  1. สำรองและเรียกคืนไปยังพูลใหม่ ไม่จริงเพราะฉันไม่มีที่เก็บข้อมูลสำรองเพียงพอที่จะเก็บสำเนาชั่วคราว การคืนค่าจะต้องใช้พูลเป็นออฟไลน์เป็นเวลาหลายชั่วโมง

  2. เขียนสคริปต์เพื่อคัดลอกไฟล์ใด ๆ ที่มีการประทับเวลาที่เก่ากว่า 2013 ความเสี่ยงที่อาจเกิดขึ้นโดยเฉพาะอย่างยิ่งถ้ามันสำลักในช่องว่างหรือตัวอักษรพิเศษอื่น ๆ และจบลงด้วยการ mangling ชื่อเดิม

มีวิธีใดที่จะให้ ZFS บีบอัดบล็อกเดิมอีกครั้งโดยใช้อัลกอริทึมการบีบอัดปัจจุบันหรือไม่ ชนิดของสครับขัดผิว แต่ช่วยรักษาแรงกดทับ

คำถามที่เกี่ยวข้อง: มีวิธีดูการใช้อัลกอริทึมการบีบอัดแต่ละประเภทหรือไม่ zdb เพียงแสดงสถิติการบีบอัดโดยรวมแทนที่จะทำให้หมดลงในแต่ละอัลกอริทึม


2
ฉันค่อนข้างมั่นใจว่าคุณตั้งชื่อสองตัวเลือกเท่านั้น ดูการอภิปรายในปัญหา 3013ด้วยว่าทำไมฟังก์ชั่นนี้ไม่มีอยู่และคุณอาจไม่ต้องการทำสิ่งนี้เลย
Michael Hampton

2
lz4 คาดคะเนได้ดีกว่าการบีบอัดมากกว่า lzjb มากที่สุด 10% ถ้า 20% ของข้อมูลของคุณสามารถบีบอัดได้ดีขึ้น 10% คุณจะได้พื้นที่ว่างเพิ่มขึ้น 2% มันคุ้มหรือไม่
ท่อ

1
หากคุณเขียนเชลล์สคริปต์เพื่อทำสำเนาให้เพิ่มexport LC_ALL=Cจุดเริ่มต้นของสคริปต์และอักขระพิเศษที่ไม่ใช่ ASCII ทั้งหมดในชื่อไฟล์จะถูกเก็บไว้เหมือนเดิม รักษาช่องว่างและรีบเหมือนเดิมคือพลิกแพลงใช้คำพูดสองและเช่น-- cp -- "$SOURCE" "$TARGET"
pts

4
@pipe Space เป็นข้อได้เปรียบเล็กน้อย (มาก) แต่ฉันสนใจที่จะคลายความเร็ว จาก FreeBSD zpool- คุณสมบัติ manpage: "โดยทั่วไปการบีบอัด lz4 นั้นเร็วกว่าประมาณ 50% สำหรับข้อมูลที่บีบอัดได้และเร็วขึ้น 200% สำหรับข้อมูลที่ไม่สามารถบีบอัดได้กว่า lzjb นอกจากนี้ยังบีบอัดได้เร็วขึ้นประมาณ 80% "
rowan194

@pts ฉันจะไม่เรียกการเชื่อฟังกฎพื้นฐานของการโปรแกรมเชลล์ (อัญประกาศล้อมรอบตัวแปรหรือการใช้--) "trickier" สิ่งนี้สำคัญพอ ๆ กับการหลีกเลี่ยงการฉีด SQL
glglgl

คำตอบ:


14

คุณต้องจัดเรียงข้อมูลใหม่ (เต็มหรือบางส่วน) หรือ zfs ส่ง / รับข้อมูลไปยังพูลใหม่หรือระบบไฟล์ ZFS

ไม่มีตัวเลือกอื่น ๆ

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