วิธีการย้ายไฟล์จากระบบไฟล์ zfs หนึ่งระบบไปยังระบบไฟล์ zfs อื่นในพูลเดียวกัน


17

ฉันมีสองระบบไฟล์ในสระว่ายน้ำ ZFS เดียวกันและ/mnt/fs_a /mnt/fs_bฉันต้องการที่จะย้ายเกี่ยวกับ 1TB ข้อมูลจากการfs_a fs_bแต่เมื่อฉัน:

mv /mnt/fs_a/mythtv_recordings /mnt/fs_b/

ฉันประหลาดใจที่มันเริ่มคัดลอกไฟล์ block-by-block เมื่อเวลาที่ใช้ในการย้ายไฟล์ 2GB ดูเหมือนว่าการดำเนินการนี้จะใช้เวลาหลายวันกว่าจะทำให้เสร็จ

จะต้องมีวิธีที่ชาญฉลาดและเร็วกว่านี้มากใช่ไหม?

คำตอบ:


22

(สิ่งนี้เริ่มเป็นความคิดเห็น แต่ยาวเกินไปดังนั้นจึงเป็นคำตอบ)

น่าเสียดายที่คำตอบคือ "ไม่" ไม่มีวิธีที่เร็วกว่าหรือฉลาดกว่าในการทำสิ่งนี้

ระบบไฟล์ ZFS (แม้ว่าจะอยู่ในกลุ่มเดียวกัน) เป็นระบบไฟล์แยกกัน ทั้งmvมิได้เครื่องมืออื่น ๆ ก็สามารถย้ายตัวชี้บล็อกหรืออะไรก็ตามเพื่อให้ไฟล์ที่อยู่บนอยู่ในขณะนี้fs_afs_b

(BTW, ฟอร์แมตพาร์ติชั่นหลายรูปแบบหรือวอลุ่ม LVM บนดิสก์เดียวกันหรืออาเรย์ RAID นั้นยังแยกระบบไฟล์และmvdevolves เพื่อคัดลอกและลบสำหรับพวกเขาด้วย)

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

ฉันพบเจอตัวเองหลายครั้ง (เช่นเมื่อย้ายไฟล์ระหว่างชุดข้อมูลตามที่คุณทำหรือเมื่อฉันต้องการแปลงไดเรกทอรีย่อยเป็น fs) และเพิ่งเรียนรู้ที่จะรับมือกับความไม่สะดวก มันสามารถเป็น PITA ที่สำคัญ

ถ้าfs_bว่างเปล่าหรือยังไม่อยู่และคุณต้องการที่จะย้ายทั้งเนื้อหาของfs_aการfs_b(และไม่ได้เป็นเพียงบางส่วนหรือแม้กระทั่งไฟล์มากที่สุดและไดเรกทอรี) คุณสามารถใช้zfs renameในการเปลี่ยนชื่อไปfs_a fs_bฉันสงสัยว่าสิ่งนี้ไม่เกี่ยวข้องกับสถานการณ์ของคุณ

มีปัญหาแบบเปิดสำหรับ ZFSOnLinux ที่https://github.com/zfsonlinux/zfs/issues/2991

ฉันไม่ได้ค้นหา แต่ฉันคาดหวังว่าOpenZFSต้นน้ำ และแม้แต่ Sun / Oracle ZFS อาจมีรายงานข้อบกพร่อง / คำขอคุณสมบัติที่คล้ายกัน

BTW ดูเพิ่มเติมที่/server/584693/freenas-why-isnt-mv-command-instant-within-a-raidz1-volume


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