Bir zfs dosya sisteminden aynı havuzdaki farklı bir zfs dosya sistemine dosyalar nasıl taşınır?


17

Aynı zfs havuzunda iki dosya sistemim var /mnt/fs_ave /mnt/fs_b. Yaklaşık 1 TB'lık veriyi ' fs_ae taşımak istiyorum fs_b. Ama ben:

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

benim için dosyaları blok blok kopyalamaya başlar. 2 GB'lık bir dosyayı taşımak için geçen süre göz önüne alındığında, bu işlemin bitmesi için günlerce süren büyük harcanma süreceği görülüyor.

Bunu yapmanın çok daha akıllı ve hızlı bir yolu olmalı, değil mi?

Yanıtlar:


22

(bu bir yorum olarak başladı ancak çok uzun oldu, şimdi bir cevap)

Maalesef, cevap hayır". Bunu yapmanın daha hızlı veya daha akıllı bir yolu yoktur.

ZFS dosya sistemleri (aynı havuzda olmalarına rağmen) ayrı dosya sistemleridir. Ne mvne de başka herhangi bir araç, blok işaretleyicileri veya herhangi bir şeyi hareket ettiremez, böylece mevcut dosyalar fs_aşimdi açıktır fs_b.

(BTW, aynı disk veya raid dizisindeki birden çok biçimlendirilmiş bölüm veya LVM birimleri de ayrı dosya sistemleridir ve mvonlar için de kopyalayıp silmeye yöneliktir)

Bu sorun yıllar içinde birkaç kez ortaya çıktı (istediğinizi yapmak için bir araç oluşturma konuşmasıyla) ve anladığım kadarıyla, onu çok zor sepete koyan en büyük zorluk, anlık görüntülerin nasıl ele alınacağı sorusudur. - Anlık görüntüler varsa fs_a, bloklar aynı anda her iki dosyada da olurdu. Aynı durum, sabit bağlantıları olan dosyalar için de geçerlidir.

Ben kendimi defalarca içine koştum (örneğin, veri kümeleri arasında yaptığınız gibi dosyaları taşıdığınızda veya bir alt dizini bir fs'ye dönüştürmem gerektiğinde) ve sadece rahatsızlık vermeyi öğrendim. Büyük bir PITA olabilir.

eğer fs_bboş veya henüz yok ve taşımak istediğiniz tüm içeriği fs_aiçin fs_bkullanabileceğiniz (ve sadece bazı hatta çoğu dosya ve dizinlere) zfs renameyeniden adlandırmak fs_aiçin fs_b. Ancak bunun durumunuzla ilgili olmadığından şüpheleniyorum.

Bu konuda ZFSOnLinux için https://github.com/zfsonlinux/zfs/issues/2991 adresinde açık bir sorun var

Ben arama yapmadım ama yukarı akış OpenZFS ve hatta Sun / Oracle ZFS muhtemelen benzer hata raporları / özellik istekleri olmasını beklenir .

BTW, ayrıca bkz. Https://serverfault.com/questions/584693/freenas-why-isnt-mv-command-instant-within-a-raidz1-volume


3
Kapsamlı yanıt için teşekkürler. Yeniden adlandırma önerisini takdir ediyorum, ancak şüphelendiğinizde, b. En azından şimdi devam edebilir ve en azından çöpe atmayı ortadan kaldırmak için dosyaları bir tampon disk üzerinden kopyalayabilirim.
Fred Hamilton
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.