ZFS vs XFS


62

Bir ~ 16 TB depolama sunucusu oluşturmayı düşünüyoruz. Şu anda, hem ZFS'yi hem de XFS'yi dosya sistemi olarak görüyoruz. Avantajları, dezavantajları nelerdir? Neye bakmalıyız? Üçüncü, daha iyi bir seçenek var mı?


7
Onları karşılaştırma bile. ZFS, jfs2, wafl gibi modern kurumsal düzeyde bir dosya sistemidir. XFS 10 yıl önce iyiydi ama bugün sadece bir taş devri.
disserman

Bazı açılardan bunları karşılaştıramazsınız: XFS bir dosya sistemidir; ZFS bir dosya sistemidir ve çok daha fazlası: dosya sistemi, birim yöneticisi (LVM gibi) ve ayrıca RAID'ın yerini alır. Ancak, bellek hizmet ederse JFS artık korunmaz: Bununla birlikte, XFS aktif ve korunur ve sağlamdır. Her iki durumda da - ZFS veya XFS - bence yanlış gidemem.
Mei,

1
Ben hala bu sorunun konuyla ilgili olduğunu düşünüyorum, bu yüzden deneyimlerimizi buraya yazın: XFS basit, yüklüyorsunuz, çalıştırıyorsunuz, hızlı, çalışıyor. (Aşağı HW basıldı). ZFS tasarruf yapıyor, sıkıştırıyor, ancak XFS kadar hızlı çalışması için ayarlanması gereken bir iş alanı. Bu nedenle, sunucunun çalışmasını beklediğiniz duruma da bağlıdır. (küme arka ucu. kullanıcı depolama, arşiv, ...)
SvennD

Ayrıca Hammer2 vardır dragonflybsd.org/hammer
skan

Yanıtlar:


44

XFS'yi büyük olasılıkla birçok büyük dosya içeren son derece büyük dosya sistemlerine daha uygun buldum. Hiç sorun yaşamadan 2 yıldan beri çalışan bir 3.6TB XFS dosya sistemine sahibim. Kesinlikle bu boyutta ext3, vb. Gibi daha iyi çalışır (özellikle birçok büyük dosya ve çok fazla G / Ç ile çalışırken).

ZFS ile elde ettiğiniz şey, dosya havuzunda yerleşik aygıt havuzu, şeritleme ve diğer gelişmiş özelliklerdir. Şartnameyle konuşamam (başkalarının yorum yapmasına izin vereceğim), ancak söyleyebileceğim kadarıyla, Solaris'i burada en fazla faydayı elde etmek için kullanmak istersiniz. Zaten donanım RAID (benim gibi) kullanıyorsanız, ZFS'nin ne kadar yardımcı olduğu da net değil.


33
ZFS'nin (genellikle) başka bir yerde bulamayacağınız en önemli özelliği, sessiz veri bozulmasını algılaması (ve umarım önlemesi) beklenen blok düzeyinde CRC'dir. Çoğu dosya sistemi, bir yazım başarıyla tamamlanırsa verilerin gerçekten diske yazıldığını varsayar. Her zaman durum böyle değil, özellikle de bir sektör "marjinal" olmaya başlıyorsa. ZFS bunu CRC'yi sonuçtaki yazmaya karşı kontrol ederek tespit eder.
Avery Payne

3
Ve evet, XFS'yi çok severim. :) Akılda tutmanız gereken tek şey, dergi düzelme sürecinde "kötü" olan sektörleri sıfırlama eğilimidir. Bazı (nadir) durumlarda, bazı veri kaybına yol açabilirsiniz ... Bu makaleyi "arama sonrasında sektörleri sıfırlayan
Avery Payne

3
XFS'de sevdiğim şeylerden biri xfs_fsr"birleştirme" programı.
Cristian Ciupitu

1
ZFS blok seviyesindeki CRC'lerin faydası sorgulanabilir. Sabit sürücüler ve SSD'ler, tek bit hatalarını düzeltmek ve iki bit hatalarını bildirmek için Hamming ECC kodunu kullanır. ECC, fiziksel okuma hatasını şeffaf bir şekilde düzeltemezse, veriler yine de kaybolur ve işletim sistemine bir okuma hatası bildirilir. CRC'ler hataları düzeltmez. Bu özellik ZFS'nin büyük bir yararı olarak itiliyor, ancak gerçek şu ki gereksiz ve değeri yok. XFS, güç kesintisi sonrası sıfırlama hatasıyla ilgili olarak, bu uzun zaman önce düzeltildi ve bugün alakalı değil.
Jody Lee Bruchon

@JodyLeeBruchon yazdıklarınız yanlıştır: depolama cihazlarının verilere ekli eşlik kodu zaten olduğu doğru olsa da, bunların uçtan uca veri korumasına sahip oldukları anlamına gelmez. Chechsumming bir dosya sistemi olmadan bu hedefe ulaşmak için, a) bir SAS T10 / DIF / DIX depolama yığını ya da b) cihaz tutucusu dm-bütünlüğünü kullanmanız gerekir .
shodanshok

75

ZFS, RAID yazılımının ötesinde size avantajlar sağlayacaktır. Komuta yapısı çok düşünceli ve sezgisel olarak düzenlenmiştir. Ayrıca endeksleme meta-verilerini hızlandırmak için sıkıştırma, anlık görüntüler, klonlama, dosya sistemi gönderme / alma ve önbellek aygıtları (bu yeni SSD diskleri kullanmak) var.

Sıkıştırma:

#zfs set compression=on filesystem/home

Canlı olarak monte edilebilecek üzerine yaz üzerine kopya anlık görüntüleri oluşturmayı basitleştirir:

# zfs snapshot filesystem/home/user@tuesday
# cd filesystem/home/user/.zfs/snapshot/tuesday

Dosya sistemi klonlaması:

# zfs clone filesystem/home/user@tuesday filesystem/home/user2

Dosya sistemi gönder / al:

# zfs send filesystem/home/user@tuesday | ssh otherserver "zfs receive -v filesystem/home/user"

Artımlı gönderme / alma:

# zfs send -i filesystem/home/user@tuesday | ssh otherserver "zfs receive -v filesystem/home/user"

Önbellekleme cihazları:

# zpool add filesystem cache ssddev

Bunların hepsi buzdağının sadece görünen kısmı, ellerinizi bir Open Solaris kurulumuna sokmanızı ve denemeyi şiddetle tavsiye ederim.

http://www.opensolaris.org/os/TryOpenSolaris/

Düzenleme : Bu çok eski, Open Solaris kesildi, ZFS kullanmanın en iyi yolu muhtemelen Linux veya FreeBSD'dir .


Tam açıklama: Eskiden Sun depolama mimarıydım, ancak bir yıldan fazla bir süredir onlar için çalışmadım, bu ürün için heyecanlandım.


Bu bağlantı benim için www ile işe yaramadı. Kullanınhttp://opensolaris.org/os/TryOpenSolaris/
aggregate1166877

Aslında, zfs için en iyi bahis hala FreeBSD. Birkaç yıldan beri sistemin bir parçası. Tahminime göre, kötü sürprizler için en az ihtimal var. Yine de sadece 0,02 dolar.
Fox

18

lvm anlık görüntülerini ve xfs'i canlı dosya sistemlerinde kullanmak, özellikle çok büyük dosya sistemleri kullanıldığında felaket için bir reçetedir .

Son 6 yıldır yalnızca LVM2 ve xfs üzerinde sunucularımda çalışıyorum (evde, zfs-fuse oldukça düz olduğundan bile) ...

Ancak, anlık görüntüleri kullanırken karşılaştığım farklı arıza modlarını artık sayamıyorum. Bunları tamamen kullanmayı bıraktım - bu çok tehlikeli.

Şimdi yapacağım tek istisna, kendi kişisel posta sunucusu / web sunucusu yedeklememdir; geçici bir anlık görüntü kullanarak gecelemeli yedeklemeler yapacağım; bu, her zaman kaynağın fs boyutuna eşittir ve hemen sonra silinir.

Akılda tutulması gereken en önemli hususlar:

  1. anlık görüntüye sahip büyük (ish) bir dosya sisteminiz varsa, yazma performansı korkunç derecede düşer
  2. Eğer anlık görüntüye sahip büyük (ish) bir dosya sisteminiz varsa, disk grup hacmini alırken çalkalanır ve çalkalanırken önyükleme süresi tam olarak onlarca dakika gecikecek. Hiçbir mesaj gösterilmeyecek. Kök lvm2 üzerindeyse bu etki özellikle korkunçtur (çünkü kök aygıtı beklemek zaman aşımına uğrar ve sistem önyüklenir)
  3. eğer bir anlık görüntünüz varsa, alanın tükenmesi çok kolaydır. Alanınız tükendiğinde, anlık görüntü bozuktur ve onarılamaz.
  4. Anlık rolledback olamaz / an (bkz de birleşti http://kerneltrap.org/Linux/LVM_Snapshot_Merging ). Bu, anlık görüntüden veri geri yüklemenin tek yolunun aslında kopyalamak (rsync?) Anlamına gelir. TEHLİKE: Eğer do not anlık kapasite kaynak fs en az boyutu değilse bunu yapmak istiyor; Yakında tuğla duvara çarpıp hem kaynak hem de anlık görüntü bozulacak. (Ben orada oldum!)

1
Olduğu gibi, bugün birileri anlık görüntüye sahip olan vg - önyükleme yapamayan linux'un
099

Bu hatayı tekrar ziyaret ederek, enstantane fotoğraflarla ilgili kötü önyükleme sorunlarının "lvm için normal davranış" olduğunu düşünüyorlar: bugs.launchpad.net/lvm2/+bug/360237/comments/7 (üzerinde 2012-01-07)
se

1
Güncelleme: Aynı durum. Sadece şimdi 7 yıl oldu.
16'da

14

Düşünülmesi gereken birkaç şey daha var.

  • Bir sürücü bir donanım RAID dizisinde ölürse, dosya sistemi ne olursa olsun, cihazdaki tüm blokların yeniden yapılması gerekir. Verileri olmayanlar bile. Diğer taraftan ZFS, birim yöneticisi, dosya sistemidir ve veri fazlalığı ve şeritlemeyi yönetir. Böylece akıllıca sadece veri içeren blokları yeniden kurabilir. Bu işlem,% 100 doluluktan daha hızlı yeniden oluşturma süreleriyle sonuçlanır.

  • ZFS, verilerinizin diskte tutarlı kalmasını ve veri kaybına neden olmadan önce bulduğu sorunları onarmasını sağlayan arka plan temizleme özelliğine sahiptir.

  • ZFS dosya sistemleri her zaman tutarlı bir durumdadır, bu nedenle fsck'e gerek yoktur.

  • ZFS ayrıca, LVM tarafından sunulan anlık görüntülere kıyasla anlık görüntüleri ve klonları ile daha fazla esneklik ve özellik sunar.

Linux, LVM, XFS yığınında geniş format video üretimi için büyük depolama havuzları işletmek. Benim deneyimim, depolama alanınızı mikro yönetmenin içine girmenin kolay olduğudur. Bu, Mantıksal Hacimlerinizi yönetme konusunda büyük miktarda kullanılmayan tahsis edilmiş alan ve zaman / sorunla sonuçlanabilir. İşi depolamayı mikro-yöneten tam zamanlı bir depolama yöneticiniz varsa, bu büyük bir sorun olmayabilir. Ancak ZFS'nin havuz depolama yaklaşımının bu yönetim sorunlarını ortadan kaldırdığını buldum.


8

ZFS kesinlikle şaşırtıcı. 5 x 1 TB HD dosya sunucusu için ev dosya sunucum olarak kullanıyorum ve aynı zamanda neredeyse 32 TB sabit disk alanıyla üretimde kullanıyorum. Hızlı, kullanımı kolaydır ve veri bozulmalarına karşı en iyi korumanın bazılarını içerir.

OpenSolaris'i özellikle bu sunucuda kullanıyoruz, çünkü daha yeni özelliklere erişmek istedik ve yeni paket yönetim sistemi ve yükseltme yolu sağladığı için.


7

Hangi işletim sistemini çalıştırmayı planlıyorsunuz? Yoksa bu değerlendirmenin başka bir parçası mı? Solaris kullanıyorsanız, XFS bildiğim kadarıyla bir seçenek bile değil. Solaris'i çalıştırmıyorsanız, ZFS kullanmayı nasıl planlıyorsunuz? Destek diğer platformlarda sınırlıdır.

Bir Linux sunucusundan bahsediyorsanız, yalnızca en fazla miktarda test aldığı için Ext3'e kişisel olarak bağlı kalacağım. zfs-fuse hala çok genç. Ayrıca, bir hata bir çekirdek güncellemesinden sonra verilerin bozulmasına neden olduğunda XFS ile bir kez sorun yaşadım. XFS'nin Ext3'teki avantajları, uzak bir veri merkezinde bulunan makineyi geri yüklemek için gereken maliyetleri kesinlikle geçmedi.


6
FreeBSD
ZFS'nin

7
wiki.freebsd.org/ZFSKnownProblems Olgun tanımınızın benimkinden farklı olabileceğini düşünüyorum :-) Belki de 8.0 yayınlandıktan sonra düşünebilirim.
Kjetil Limkjær

9
16 TB ile ext3? Hayır hayır hayır. Bunu yapma. Ağlayacaksın. ZFS veya XFS bence dışarıdaki en iyi dosya sistemleri. Yapabiliyorsanız ZFS kullanın (Linux'ta çalıştırmayın). Bunu, 5 yıl boyunca Linux ve Solaris'teki büyük hacimlerle ilgili çok fazla deneyim ile söylüyorum.
Thomas,

3
20090601'den sonraki FreeBSD 7.2, ZFSKnownProblems'ın çoğunu ele geçirdi. İşletim sisteminin AMD64 sürümünü kullanıyorsanız, şimdi kararlıdır. 8.0'da, FreeBSD, ZFS'yi Üretim için yeterince kararlı olarak işaretlemiştir.
Walter

3
Linux'ta ZFS şu anda kullanıma hazır ( zfsonlinux.org )
James Moore

7

Performansa odaklanman gerektiğini düşünüyorum. Verileriniz XFS, ext4, vb. İle güvende mi? Hayır. Bu doktora tezi ve araştırma makalelerini okuyun:

XFS veri bozulmalarına karşı güvenli değildir: pages.cs.wisc.edu/~vshree/xfs.pdf

Üstelik ext3, JFS, ReiserFS vb. De değildir: zdnet.com/blog/storage/how-microsoft-puts-your-data-at-risk/169?p=169&tag=mantle_skin%3bcontent "Büyüleyici doktora tezine rastladım Vijayan Prabhakaran, IRON Dosya Sistemleri, beş emtia günlüğü dosya sisteminin (NTFS, ext3, ReiserFS, JFS ve XFS) depolama sorunlarını nasıl ele aldığını analiz ediyor.

Özetle tüm dosya sistemlerinin sahip olduğunu buldu.

. . . failure policies that are often inconsistent, sometimes buggy, and generally inadequate in their ability to recover from partial disk failures. "

Ancak ZFS, verilerinizi başarıyla korur. İşte bu konuda bir araştırma makalesi: zdnet.com/blog/storage/zfs-data-integrity-tested/811


5

FS yönelimli bir cevap değil üzgünüm ama bir çok disk denetleyicisinin> 2TB LUNS / mantıksal-disklerle uğraşmayacağının farkında olun; bu, depolama alanınızı düzenleme biçiminizi biraz sınırlayabilir. Sadece farkında olmanı istedim, böylece sisteminizin baştan sona 16 TB ile başa çıkabildiğinden emin olmak için kontrol edebilirsin.


1

İstediğiniz özelliklere göre değişir ..., iki makul seçenek dediğiniz gibi xfs ve zfs, xfs kodu oldukça iyi bir şekilde test edildi. İlk önce 8 yıl önce IRIX altında kullandım.

Anlık görüntüleri xfs'ten almak mümkündür (lvm ve xfs_freeze kullanarak)

SSD gibi ayrı bir kayıt cihazına sahip olmak mümkündür.

mkfs.xfs -l logdev=/dev/sdb1,size=10000b /dev/sda1

Büyük xfs geleneksel olarak kontrol etmek için çok fazla belleğe ihtiyaç duyar

Sıfırların ortaya çıkmasıyla ilgili sorun, bir süre önce ortadan kaybolduğunu düşündüğüm bir "güvenlik" özelliği idi.


1

Bahsedilenlerin yanı sıra, MD bazında xfs performans açısından akış ortamı üzerinde zfs'ten daha iyi bir performans sergiliyor. Tam olarak aynı donanımı xfs ile yarım on yıl boyunca ve medya sunucumda da zfs ile aynı miktarda kullandım. Xfs ile Intel Atom 330'da daha sert bir deneyim yaşamamıştım, karmaşık sahnelerde zfs'de aynı donanım devam edemiyor ve çerçeveleri bırakmaya başlıyor.


0

Kendinizinkini inşa etmek yerine, bir alternatif de Sun 7410 aka Toro. Çözümle birlikte gelen çok yararlı bir yazılıma sahiptir.


0

Pekala millet, zfs'a en son eklenenleri unutmayalım: veri tekilleştirme. Ve anında iscsi, nfs veya smb paylaşımı hakkında konuşalım. Diğerlerinin de söylediği gibi, zfs dosya sistemleri, anlık görüntüler, raidz (= raid5) blok sağlama toplamı, dinamik şerit genişliği, önbellek yönetimi ve diğerleri. Zfs için oy kullanırım.

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.