Btrfs anlık görüntü sayısı için pratik sınır?


23

Verilerim kullandığım böylece sürücü I Btrfs kullanarak düşünüyorum balığı süresi tabanlı fotoğraf çekmek için, balığı gibi falan. Bunun, verilerimin eski sürümlerine göz atmama izin vereceğine inanıyorum. Bu, bir sürücü hatası verileri ve anlık görüntüleri sileceğinden, mevcut site dışı yedeklememe ek olarak olur.

Anladığım kadarıyla btrfs anlık görüntüleri fazla yer kaplamaz (meta veri ve değişen bloklar, artı bazı ek yükler), bu nedenle alan bir kısıtlama gibi görünmüyor.

Milyonda bir anlık görüntü elde edersem (örneğin, iki yıl boyunca her dakika anlık görüntü), veriler, değiştirilen veriler ve meta veriler için yeterli disk alanım olduğunu varsayarak tahribata yol açabilir mi?

Anlık görüntülerin sayısı konusunda pratik bir sınır varsa, dosya sayısına ve / veya dosya boyutuna bağlı mı?

Yanıtlar:


16

Neredeyse yıllarca bir btrfsdosya sistemi kullanan biri olarak, güvenle ulaşılabilen anlık görüntülerin sayısında pratik bir sınır olmadığını göründüğünü güvenle söyleyebilirim. Yine de bazı uyarılar var. dosya sistemi parçalanmaya neden olabilir. Bu nedenle, yerleşik çevrimiçi birleştirme özelliğini kullanmanız önerilir . Ayrıca, sıkıştırma özelliğinden iyi yararlanılabilir . Bu önlemler, makul derecede iyi bir bilgisayarda pek çok anlık görüntü oluştururken makul bir şekilde ortaya çıkabilecek performans sorunlarıyla ilgilenmelidir.Arch Linux2btrfsbtrfsbtrfs

Bildiğiniz gibi alt btrfshacimleri dosya sistemleri olarak ele alır ve bu nedenle anlık görüntülerin sayısı gerçekten sınırlıdır: yani dosyaların boyutu. Göre btrfsvikinin ulaşılabilir en fazla boyut olan 2^64 byte == 16 EiB[1] .

Bu sınırlamaların yanı sıra, hemen tanımadığınız bir yerin tükenmesi durumunda potansiyel olarak her zaman problem olabilir, çünkü btrfsdosya sistemlerinde boş alanı kontrol etmek bazen zor olabilir, yani bir btrfsdosya sistemindeki boş alanı ölçmek için farklı yöntemler arasında ayrım yapmadan gerçekte ne kadar alan kaldığını kolayca takip edin. Bu senaryoyu önlemenin olası bir yolu kota kullanımıdır. Bu, kullanıcıların (veya yalnızca biriyse) yalnızca belirli bir miktarda alan kullanabilmelerini sağlar. Bu kavram burada ve ayrıca burada çok fazla tartışılıyor .

Son fakat en az değil bir uyarı: btrfsDosya sistemleri konusunda uzman değilim ve sadece bir süre önce aynı soruyu söylediğimde bunları okudum. Ayrıca, her zaman btrfs"hızlı hareket eden bir hedef" olan bir sorun vardır ( Arch Linuxbence bir wiki sayfasından çalınan güzel sözler .) Böylece işler değişebilir.


1
Ben de daha önceki evlat edinicilerden biriyim ve bu baş belası.
mikeserv

Yep pretty much bang on :)
Mark K Cowan

1
Bir BTRFS biriminde 100 anlık görüntünün altında kalmaya çalışmalısınız. Aksi takdirde, özellikle anlık görüntüleri silerken performans sorunlarıyla karşılaşabilirsiniz. Anlık görüntüler oluşturmak düşük maliyetlidir, ancak bunları silmek değildir. Ayrıca, anlık görüntüleri kullanma ile birlikte birleştirme gerçekleştirme önerisinin, anlık görüntülerin alan verimliliğini ortadan kaldıracağını unutmayın. Birleştirme, yeniden gözden geçirmeleri keser ve kullanılan alanı çoğaltır.
Monica Cellio için 1X17'de MountainX

@MountainX, bir cevapta bu konuda ayrıntılı bilgi verebilir misiniz? Bir ciltte 100 anlık görüntü, iki yıl boyunca haftada bir bile değildir.
StrongBad

@StrongBad - Bir soruna cevaben bu bilgiyi BTRFS posta listesinden aldım. Herkes yüzlerce veya binlerce anlık görüntünün olmasının kötü bir fikir olduğu konusunda hemfikirdi. Daha teknik bir cevap için BTRFS posta listesine danışmalısınız.
Monica Cellio için MountainX,

5

Teknik olarak anlık görüntülerin sayısı sınırsız olsa da, BTRFS posta listesine sordum :

(Pratik) cevabı btrfs'yi nasıl kullandığınıza bağlıdır.

Btrfs, çok fazla anlık görüntü nedeniyle ölçeklendirme sorunlarına sahiptir (veya aslında anlık görüntülerin kullanması, yeniden kullanmaların kullanılması ile tekilleştirme aynı ölçeklendirme sorunlarının tetiklenmesine neden olabilir) ve anlık görüntü başına alt veya alt anlık görüntülerin tek basamağı bu nedenle güçlü bir öneridir.

Ancak, ölçeklendirme sorunları öncelikle btrfs bakım komutlarını, denge, kontrol, alt hacimli silme işlemlerini etkiler. Milyonlarca anlık görüntü, örneğin etkili bir şekilde işe yaramaz hale getirilebilse de (işe yarayabilir ancak aylar sürebilir), dosya okuma ve kaydetme gibi normal dosya sistemi işlemleri, parçalanmanın bir sorun haline gelmesi dışında etkilenmez. btrfs gibi inek dosya sistemleri, dolandırmak için adımlar atılmadığı sürece, parçalanma için not edilir).

Anlık görüntüleri, zaman makinesi / yakalayıcıya benzer bir arşivleme yedeği olarak kullanmak iyi bir fikir değildir.


Time Machine bir arşivleme yedeği değil, bir yedekleme işlevidir. Sonuçlarını paylaşmıyorum. Btrfs anlık görüntülerini kullanmak, yedeklemeler gibi Time Machine için çok iyi bir fikir olabilir (Linux çekirdeği bir dizini bağlayamadığından, bu nedenle her disk dizisi için tüm dizin yapısının yeniden oluşturulmasına neden olur, bu da kayda değer disk alanı kullanımına neden olabilir). Tek bir yedekleme cihazında yedekleme yapmak için, ek cihazlar eklemek istemeden bir denge komutu çalıştırmanın bir amacı bile yoktur. Btrfs liste cevabı da bunu açıklamaya çalışır.
Pro Yedekleme

@ProBackup btrfs list cevap, anlık görüntülerin sayısını snapper için varsayılan kemerin gerçekten yapmadığı tek veya düşük şüpheli sayılara kadar tuttuğunu söylüyor . Basit bir kurulum için btrfs-balance gerekli olmasa da, btrfs-check fikri gibi pek çok kullanıcı, hiçbir zaman ihtiyaç duymasalar bile, ve alt hacimli silme işleminin, alt çırpıda olduğu gibi döndürmek istiyorsanız kritik görünüyor.
StrongBad

@ProBackup arşiv yedekleme, Time Machine için doğru terim değildir. Zaman makinesi, artımlı bir yedeklemeden daha fazlası gibi görünüyor, ancak snapper veya rsnapshot gibi anlık görüntü tabanlı bir yedekleme yapmak rahat değildi, ama belki daha iyi olurdu. Alanla ilgili çok şey biliyormuşsunuz gibi terimleri düzenlemenize sevindim.
StrongBad

Snapper'ın ana sayfasında okuduklarımdan itibaren snapper bir yedekleme aracı değil. Bu snapper zamanda geri gidebilse de, Time Machine gibi olduğu anlamına gelmez. Temel fark, Time Machine'in tüm verilerin kopyalarını ayrı bir ortam olarak depolamasıdır ; burada snapper bir kopya bile oluşturamaz.
Pro Yedekleme

@ProBackup sonunda, lütfen bir cevap yazın ve posta listesindeki cevap hakkındaki sonuçlarımın neden yanlış olduğunu açıklayın. Bu şekilde topluluğun nasıl hissettiğini görebiliriz.
StrongBad

3

Toplamda 2 64 adet anlık görüntü ve alt hacme sahip olabilirsiniz.

btrfsTasarım wiki sayfası (empahsis madeni) diyor ki:

Alt hacimler temel olarak dosyaları ve dizinleri tutan adlandırılmış bir btree'dir. Ağaç kökleri ağacının içinde düğümler vardır ve kök olmayan sahipleri ve grupları olabilir. Alt hacimlere bir blok kota verilebilir ve bu kotaya ulaşıldığında yeni yazılara izin verilmez. Alt hacimlerin içindeki tüm bloklar ve dosya uzantıları, anlık görüntülemeye izin vermek için referans sayılır. FS'de en fazla 2 64 alt cilt oluşturulabilir.

Anlık görüntüler, alt hacimlerle aynıdır , ancak kök blokları başlangıçta başka bir alt hacimle paylaşılır. Anlık görüntü alındığında, kök bloğundaki referans sayısı artar ve yazma işlem sistemindeki kopya, anlık görüntüde veya kaynak alt hacimde yapılan değişikliklerin bu köke özel olmasını sağlar. Anlık görüntüler yazdırılabilir ve herhangi bir sayıda tekrar anlık görüntülenebilir. Salt okunur anlık görüntüler istenirse, blok kotası oluşturma zamanında bir olarak ayarlanır.

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.