Bir dosyayı verilerini btrfs ile kopyalamadan nasıl çoğaltırım?


14

Ben btrfs ile hiçbir deneyimim yok, ama dosyaları çoğaltmak için reklamı.

Benim uygulamada, tüm dizin ağaçları çoğaltmak gerekir.

Öğrendiklerimden, btrfs hemen sonra değil, sadece bazı tarama sonrası çoğaltır. Sadece kullanmak bile cpherhangi bir yineleme kaldırmayı tetiklemiyor gibi görünüyor (en azından dfkopyalanan dosyaların boyutunda artan disk kullanımı gösteriyor).

Verileri tamamen hareket ettirmekten kaçınabilir ve btrfsbir dosyayı doğrudan başka bir yerde çoğaltmayı söyleyebilir miyim , aslında sadece meta verilerini klonlayabilir miyim?

Temel olarak, bir sabit bağlantıya benzer, ancak bağımsız meta verilerle (izinler, mod süreleri, ...).


7
cp --reflink=always.
mikeserv

3
Bunun bir hardlink gibi bir şey olmadığını unutmayın. Siz cp --reflink=always, kullanıcı perspektifinden gelen sonuç her şekilde tamamen bağımsız iki dosya olacaktır. Temeldeki dosya sisteminin yazma üzerine kopyalama yoluyla bunu yalnızca bir uygulama ayrıntısı olarak soyutlamasıdır. "Bir sabit bağlantı değil, bağımsız meta verilerle" alırsınız. Bildiğim kadarıyla, btrfs henüz otomatik tekilleştirme yapmıyor. Bence bu bir gelecek planı ama bu konuda olumlu değilim.
ormaaj

@ormaaj - bir sabit bağlantının bağımsız meta verileri olmazdı . ve Udo bir uygulama detayı istedi . bir dosyaya yansıtma yaptığınızda, temel olarak meta verilerini kopyalarsınız . sadece referanslar bağımsız olarak dosyaların ayrıştığında değiştiğinde - ve tekilleştirmenin konusu budur!
mikeserv

1
@mikeserv Er, veri tekilleştirmenin farklı bir duygusu olduğundan eminim. Veri tekilleştirme, zaten var olan gereksiz veri kopyalarını alıp yeniden birleştiriyor. COW, çoğaltmayı en aza indirmenin bir yoludur, tekilleştirme değildir.
ormaaj

@ormaaj - bence bu garip bir şey: tekilleştirme çoğaltmayı en aza indirmekle ilgili değil.
mikeserv

Yanıtlar:


12

İki seçenek vardır:

  1. cp --reflink=always
  2. cp --reflink=auto

İkincisi hemen hemen her zaman birincisine tercih edilir. Kullanılması auto, dosya sistemi yansıtmayı desteklemiyorsa (örneğin, ext4 veya bir NFS paylaşımına kopyalama) gerçek bir kopyaya dönüleceği anlamına gelir. İlk seçenekle, kesinlikle başarısız olacağından ve kopyalamayı durduracağından eminim.

Bunu ideal olmayan koşullar karşısında sağlam olması gereken bir komut dosyasının parçası olarak kullanıyorsanız auto, daha iyi hizmet verecektir.


Eric Estrada siz misiniz?
15'te mikeserv

2
@mikeserv Lol, hayır. Benim adım Ethan. Bu komik olurdu; Eric Estrada: gündüz aktör, gece sysadmin. İster inanın ister inanmayın, bu on yıldan uzun bir süredir ilk kez eestradaherkesin bana sorduğu çevrimiçi tanıtıcıyı kullanmaya başladı.
eestrada

2
tabi Eric. neyse, iyi cevap.
15'te mikeserv
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.