ฉันจะทำซ้ำข้อมูลของฉันด้วย BTRFS อย่างไร


15

ฉันได้ติดตั้ง Lubuntu 15.04 บน EEE PC 701 ของฉันด้วย BTRFS ระบบไฟล์แล้ว ฉันต้องการทำซ้ำข้อมูลของฉัน แต่ฉันไม่ทราบวิธี

คำตอบ:


14

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

ฉันเชื่อว่าคุณกำลังมองหา duperemove -d

"Duperemove เป็นเครื่องมือง่าย ๆ ในการค้นหาส่วนขยายที่ซ้ำกันและส่งไปเพื่อลดความซ้ำซ้อนเมื่อได้รับรายชื่อของไฟล์มันจะทำการแฮชเนื้อหาของพวกมันบนบล็อกโดยบล็อกพื้นฐานและเปรียบเทียบแฮชเหล่านั้นเข้าด้วยกัน เมื่อได้รับตัวเลือก -d, duperemove จะส่ง extents เหล่านั้นสำหรับการทำซ้ำโดยใช้ iOCTL btrfs- ขอบเขตเดียวกัน

Duperemove มีโหมดการทำงานหลักสองโหมดโหมดหนึ่งเป็นโหมดย่อยของโหมดอื่น

โหมดอ่านอย่างเดียว / ไม่หักข้อมูลซ้ำซ้อน

เมื่อรันโดยไม่มี -d (ค่าเริ่มต้น) duperemove จะพิมพ์ตารางการจับคู่หนึ่งตารางขึ้นไปที่กำหนดไว้ว่าจะเป็นตัวเลือกที่เหมาะสมที่สุดสำหรับการลดการซ้ำซ้อน เป็นผลให้โหมดอ่านอย่างเดียวมีประโยชน์สำหรับการดูว่า duperemove อาจทำอะไรเมื่อเรียกใช้ด้วย '-d' ซอฟต์แวร์อื่นบางตัวสามารถใช้เอาต์พุตเพื่อส่งขอบเขตสำหรับการขจัดข้อมูลซ้ำซ้อนในเวลาต่อมา

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

โดยทั่วไป duperemove ไม่ได้เกี่ยวข้องกับการแสดงขอบเขตของกระบวนการ บางส่วนอาจถูกบีบอัดอยู่ระหว่าง I / O หรือแม้กระทั่งการซ้ำซ้อน ในโหมด dedupe เคอร์เนลจัดการรายละเอียดเหล่านั้นและดังนั้นเราจึงพยายามที่จะไม่ทำซ้ำงานนั้น

โหมดการล้างข้อมูล

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

ดูหน้า duperemove man สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการเรียกใช้ duperemove "

ดูเหมือนจะไม่ปรากฏในแพ็คเกจ btrfs-tools แต่มีหน้า git hub อยู่ที่นี่ ปัญหาการเปิดและปิดล่าสุด (aka ชีพจร) มีให้ที่นี่

แพ็คเกจสำหรับ Ubuntu ทุกรุ่นที่รองรับในปัจจุบันสามารถพบได้ในPPA นี้

ผมต้องย้ำอีกครั้งว่าการสำรองขอแนะนำ ดู: https://github.com/markfasheh/duperemove/issues/50

แหล่งที่มาที่อ้างถึง: https://github.com/markfasheh/duperemove

หน้าคน: https://manpages.debian.org/testing/duperemove/duperemove.8.en.html


เมื่อฉันพิมพ์ duperemove -d ฉันจะได้รับหน้าช่วยเหลือ
wb9688

1
คุณจะได้อะไรเมื่อคุณพิมพ์ 'man duperemove`? ฉันเชื่อว่าคุณต้องกำหนดไฟล์เพื่อให้ทำงานได้ ดังในduperemove [options] files...
Elder Geek

/ ฉันเพิ่งใช้เมื่อวานนี้ - FTR คำสั่งคือduperemove -rdh path1 path2 pathnที่ซึ่ง-rวนซ้ำ-dเพื่อซ้ำซ้อนจริงและ-hสำหรับตัวเลขที่มนุษย์อ่านได้
สวัสดีแองเจิล

@ Hi-Angel ได้อัปเดตคำตอบแล้ว - เพิ่มลิงก์ไปยังหน้าคน
Elder Geek

3

ฉันมักจะใช้bedup มันรวดเร็วและเชื่อถือได้ เครื่องมือนี้ยังมีการกล่าวถึงในหน้าอย่างเป็นทางการ btrfs ฉันไม่เคยใช้ duperemove (bedup เก่ากว่า)


2
ณ จุดนี้ไม่มีการพัฒนาที่ใช้งานอยู่อีกต่อไปและล้าสมัยไปแล้ว
Perkins

3
@Perkins ฉันไม่เห็นด้วย ฉันเพิ่งได้รับคำติชมสำหรับ Issue github.com/g2p/bedup/issues/75ฉันโพสต์ในวันนี้และด้วยความช่วยเหลือนี้ฉันเพิ่ง "ลบล้าง" มากกว่า 7GB ของพื้นที่บนเซิร์ฟเวอร์ 16.04 ใหม่ของฉัน
Adam Ryczkowski

3
บางทีมีคนหยิบมันขึ้นมาอีกครั้งแล้ว ฉันยอมแพ้มันหลังจากผ่านไปหนึ่งปีหรือมากกว่านั้นเพราะมันไม่สามารถสแกนหาซ้ำได้อย่างสมบูรณ์ ที่กล่าวว่าหากพวกเขาได้ปรับปรุงให้ใช้ ioctl ใหม่ duperemove จะปลอดภัยยิ่งขึ้นเช่นเดียวกับการขจัดความซ้ำซ้อนของอะตอมใน kernelspace แทนที่จะทำซ้ำสิ่งใดสิ่งหนึ่งและทำสำเนา reflink ของอีกอันหนึ่ง แต่จากนั้น bedup จะได้รับไฟล์ที่มีขนาดเล็กพอที่จะเก็บไว้ในแผนผังซึ่งในปัจจุบัน duperemove ไม่สามารถทำได้เนื่องจากขาดการสนับสนุนเคอร์เนล
Perkins
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.