BTRFS Dosya Sisteminde sanal disk görüntülerini barındırmanın arkasında yatan nedenler


14

Bir süredir BTRFS ve ZFS hakkında okuyorum ve önemli dosyaları barındırırken CoW'un faydalarını takdir ederken şu anda şu ikilemle şaşkınım:

Rastgele yazma işlemlerine tabi büyük dosyaları (örneğin QCOW2, VDI'ler, vb.) Barındırırken hem ZFS hem de BTRFS'nin performans düşüşü yaşadığı göz önüne alındığında, neden birisi VM'leri barındırmak için BTRFS'yi bir FS seçeneği olarak kullansın?

O BTRFS durumunda, chattr veya nodatacow mount seçeneğini kullanarak CoW'yi seçici olarak kapatabileceğinizi, parçalanma ve CoW tarafından uygulanan bozulmayı azaltabileceğinizi biliyorum ...

Ancak Redhat'a göre bu aynı zamanda "verilerin ve meta verilerin kontrol toplamı doğrulamasını devre dışı bırakarak veri bütünlüğünün azalmasına neden olur." (kayıp kompresyona ve doğal olarak istenen CoW'a ek olarak).

Buna dayanarak şunu soruyorum: Birisi neden BTRFS'yi seçti diyebilirim ki, MD RAID üzerinden LVM üzerinden XFS?


Azaltılmış veri bütünlüğünün , sağlama toplamlarını saklamayan ve dolayısıyla bozulmayı algılayamayan ext4 veya xfs gibi diğer dosya sistemlerini kullanmakla aynı olacağını unutmayın .
basic6

1
@ basic6 Farkındayım. Dolayısıyla soru.
Andre de Miranda

Yanıtlar:


13

Ana kullanım durumu VM görüntülerini veya veritabanlarını saklıyorsa ve btrfs'nin veri bütünlüğü avantajlarını elde etmek için potansiyel performans sorunlarını kabul etmekle ilgilenmiyorsanız, btrfs'yi neden seçmek istediğinizi düşünemiyorum xfs veya ext4 üzerinden.

Yalnızca VM görüntü dizini için yazma üzerine kopyalamayı devre dışı bırakmak (chattr + C kullanarak) çoğunlukla VM görüntülerini depolarken dosya sisteminiz için sahip olduğunuz birçok kullanımdan sadece bir tanesidir. Daha sonra, bu tek dizin için yazma üzerine kopyalamayı devre dışı bırakmak, ancak yine de dosya sisteminin geri kalanı için btrfs'nin tüm avantajlarını korumak çok uygun olabilir.


Bunun bir nedeni, bölüm tablosu olmayan bir diskin olması olabilir. BTRFS, grub / etc'nin doğrudan içine gömülmesine izin verir, XFS / EXT4 / vb. görüntüler ideal değil (ana bilgisayarda anlık görüntüler ve btrfs-RAID10 kullanıyorum) ve chattr + C, bir bölüm tablosu kullanma dışında tek seçeneğim gibi görünüyor. Sanırım sadece bir bölüm tablosu kullanacağım.
Alex

5

BTRFS, bazı yazma düzenlerinde diğer dosya sistemlerinden daha iyi performans gösterecek farklı bir disk biçimine sahiptir. Özellikle meta verilerin diske nasıl yazıldığını geliştirmek için büyük çaba sarf edilmiştir ve veri sağlama, sıkıştırma ve anlık görüntüler gibi bazı gelişmiş özellikleri desteklemektedir. Büyük dosyalar için meta veri performansını iyileştirmek genellikle önemli değildir.

ZFS ile karşılaştırıldığında, BTRFS daha basit bir çözümdür ve Linux'ta daha iyi desteklenir. En büyük dezavantajı da ölçeklenmemesidir (çok sayıda disk eklerken) ve aynı özellik kümesine sahip değildir.

XFS ile karşılaştırıldığında daha düşük performanslı bir çözüm olacaktır. Yani bir parça veriyi diske yazmak daha fazla zaman alacaktır ve maksimum verimle sınırlandırılacaktır. Bu, sağlama toplamı doğrulamasını devre dışı bırakmak gibi şeyler yaparak bir ölçüde hafifletilebilir, ancak daha sonra meta veri bilgileri olan XFS'ye göre BTRFS'nin birincil faydasını kaybedersiniz. Sağlama toplamı ve farklı günlük kaydı (bazı durumlarda daha iyi olabilir).

Kopyalama Üzerine Yazma (COW) desteği açısından, XFS performansı kesinlikle COW olmaktan daha iyidir. Yani XFS, ölçeklenebilirlik açısından çok iyi meta verilere ve günlük kaydı özelliklerine sahiptir ve uygulama özellikle bu verilerin üzerine yazılmasını isterse mevcut disk bloklarının üzerine yazılmasına izin vermesi dışında, genellikle yazma sırasında dosya verilerinin üzerine yazmaz. . Disk ayırmanız başlangıçta bitişik olabileceğinden ve bu durumda VM'nin ömrü boyunca bitişik kalacağından, bu bir VM için iyi olabilir.


5

BTRFS'yi kullanarak nodatacowve benzer şekilde olsa bile, davranışla manuel olarak anlık görüntüler oluşturabilirsiniz CoW, bu yüzden hızlıdır ve fazla bellek tüketmez. Ayrıca, bu anlık görüntüler LVM kullanmaktan daha esnektir, çünkü dosya sisteminin farkında olmadığı ve gerekmediği takdirde kullanılamayacağı dosya sisteminin altında yer ayırmanız gerekmez. ZFS'de olduğu gibi, anlık görüntüler ağ üzerinden gönderilebilir ve alınabilir, bu da yedekleme stratejinizi geliştirmenize yardımcı olabilir. nodatacowBTRFS ile bile LVM kullanımından daha üstün görünüyor.


3

Bulut bilişim platformlarıyla çalıştıktan sonra, sanal makinelerin gerçek vm'nin daha az önemli olduğu veri ve işlevsellik için bir konteyner olarak görüşlerini benimsemeye geldim.

Yedekleme geri yükleme ve yükleme-dağıtma işlemlerini yerinde yapmayı tercih ediyorum ve VM'nin bütünlüğü ve performans hakkında daha az endişe duyuyorum.

BTRFS yerine MD raid üzerinden LVM üzerinden JFS / XFS / EXT4 için gidiyoruz. VM'de yedeklenmeyen hiçbir şeyi daha uzun süre saklamamaya dikkat edin ... ve bir şey olması durumunda VM'nin yeni bir kurulumunu makul bir süre içinde almak için komut dosyaları ve prosedürler bulundurun.

Ancak bu her şeyden çok bir geliştirme / deneme senaryosudur.

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.