- ZFS, yüksek veri bütünlüğü, anlık görüntüler ve entegre çoğaltma özellikleriyle RAID, disk yöneticisi ve dosya sistemini bir araya getirir.
- mdadm, LVM ve geleneksel dosya sistemlerini iyi tamamlayan, klasik, basit ve iyi test edilmiş bir yazılım RAID çözümü sunar.
- Performans ve güvenilirlik Bu durum büyük ölçüde disk dizisi tasarımına, disk türüne ve O_DIRECT gibi fonksiyonların veya yazma önbelleğinin kullanımına bağlıdır.
- ZFS ve mdadm arasındaki seçim, gerçek performans ihtiyaçlarına ve kaynak gereksinimlerine göre yapılmalıdır. donanımYönetim kolaylığı ve yedekleme stratejisi.

Bir sunucu kurmayı düşündüğünüzde depolama ciddi LinuxEr geç şüphe ortaya çıkar: ZFS mi kullanmalıyım yoksa mdadm ile LVM ve geleneksel RAID mi tercih etmeliyim? İlk bakışta aynı şeyi yapmanın iki farklı yolu gibi görünseler de, gerçekte çok farklı felsefelere yanıt veriyorlar ve performans, yönetim kolaylığı, güvenilirlik ve elbette bir disk arızalanmaya başladığında ne kadar rahat uyuyabileceğiniz üzerinde doğrudan etkileri var.
Bu yazıda, aralarındaki farkları sakin bir şekilde ele alacağız. ZFS ve mdadm (Linux Yazılım RAID)Gerçek dünya örneklerini inceleyerek, her çözümün güçlü ve zayıf yönlerini, farklı RAID seviyelerinde (RAID0, RAID1, RAID5/6, RAID10, RAIDZ1/Z2…) nasıl davrandıklarını, yedeklemelerde neler olduğunu, sessiz veri bozulmasını, RAM veya CPU kullanımını ve hatta önbellek modlarının performansı nasıl etkilediğini ele alıyoruz. O_DIRECT sanallaştırma ortamlarında.
RAID nedir ve ZFS ile mdadm'yi karşılaştırırken neden önemlidir?
ZFS ve mdadm'ye geçmeden önce, RAID'in tam olarak neyi çözdüğünü hatırlamakta fayda var. Ne kadar çok karıştırılsalar da, hangi sorunları çözmüyor ki? yedek kopyalarRAID, "Bağımsız Disklerin Yedekli Dizisi" anlamına gelir ve asıl amacı, daha yüksek performans, daha fazla kullanılabilir kapasite veya fiziksel arızalara karşı yedeklilik sağlayan tek bir mantıksal ünite halinde birkaç küçük diski birleştirmektir.
Bir baskın, aşağıdakiler gibi farklı teknikleri bir araya getirebilir: Verilerin birden fazla diske bloklar halinde dağıtılması (şeritlendirme), aynalama ve eşlik (parity)Bu parçaları nasıl birleştirdiğinize bağlı olarak farklı RAID seviyeleri elde edersiniz: RAID0 performansa öncelik verir, RAID1 başka bir diskte tam kopyayı kullanır, RAID5/6 alan ve hata toleransını dengelemek için dağıtılmış eşlik özelliğini kullanır, RAID10 ise aynalama ve şeritlendirmeyi birleştirir, vb.
Önemli olan bunu anlamaktır RAID, kullanılabilirliği artırır ve disk arızasının etkisini azaltır.Ancak bu, iyi bir yedekleme sisteminin yerini tutmaz. Mantıksal bozulma, yanlışlıkla silme, fidye yazılımı veya birden fazla diskin felaket niteliğinde arızası nedeniyle veri kaybedebilirsiniz ve RAID sizi bundan kurtaramaz.
Ayrıca, tüm RAID sistemleri aynı şekilde uygulanmaz: RAID donanımı, özel denetleyiciler, çekirdeğe entegre RAID yazılımı (mdadm) ve ZFS veya Btrfs gibi hibrit çözümler. Birim yöneticisini ve dosya sistemini tek bir katmanda birleştiren sistemler.

ZFS: Dosya sistemi ve disk yöneticisi tek pakette.
ZFS, sadece "başka bir RAID türü" değildir: Bu, entegre bir disk yöneticisine sahip 64 bitlik bir dosya sistemidir.Bu, mdadm'den farklı olarak, yalnızca diskleri gruplandırmakla kalmayıp, verilerin blok ve meta veri düzeylerinde nasıl depolandığını da bildiği ve bütünlük, önbellekler, anlık görüntüler veya sıkıştırma konusunda akıllı kararlar verebildiği anlamına gelir.
ZFS'de bir şey oluşturursunuz. depolama havuzu (zpool) Bir veya daha fazla vdev'den oluşur. Her vdev, RAIDZ1, RAIDZ2, aynalar vb. yapılarda bir disk kümesi olabilir. Klasik RAID seviyeleri hala mevcuttur, ancak farklı isimlerle: RAIDZ1, RAID5'e, RAIDZ2 ise RAID6'ya benziyor. Birden fazla aynalı vdev kullanıldığında, ZFS aynaları RAID1 veya RAID10 kombinasyonlarına eşdeğerdir.
Zpool'a sahip olduktan sonra, ZFS'yi kullanabilirsiniz. ilgili dosya sistemini otomatik olarak bağlarBlok aygıtı, LVM ve ayrı bir dosya sistemi oluşturmaya gerek yok. Havuz içinde, her biri için farklı kotalar, sıkıştırma veya özelliklere sahip veri kümeleri ve zvol'lar (blok birimleri) oluşturabilirsiniz.
ZFS'nin en önemli güçlü yönlerinden biri, modeline dayanmaktadır. Yazma sırasında kopyalama (COW)Blokları yerinde asla üzerine yazmaz, bunun yerine yeni sürümü farklı bir bloğa yazar ve sonunda meta verileri günceller. Bu, RAID 5/6'da klasik "yazma boşluğu" sorununu önlemeye yardımcı olur; bu sorunda, yazma işlemi sırasında meydana gelen bir güç kesintisi, eşlik verilerini tutarsız bir durumda bırakır.
Ayrıca, ZFS, mdadm/LVM/EXT4 dünyasında birkaç ek katmanla uygulamanız gereken yerleşik özellikler içerir; bunlar arasında şunlar yer alır: Hafif anlık görüntüler, klonlar, şeffaf sıkıştırma, veri tekilleştirme, sağlama toplamlarıyla veri temizleme ve gelişmiş önbellekler. Zvols, hipervizörlerle çok iyi entegre olur. VM depolama.

mdadm ve LVM: Linux'ta Klasik Yazılım RAID'i
mdadm, Linux'ta dosya yönetimini sağlayan standart bir yardımcı programdır. MD RAID (Linux Yazılım RAID olarak da adlandırılır)Dosya sistemi kullanmadan, blok düzeyinde çalışır. mdadm ile, birden fazla fiziksel diski veya bölümü gruplandıran bir /dev/mdX aygıtı oluşturursunuz ve bu aygıtın üzerine istediğiniz dosya sistemini (EXT4, XFS, vb.) veya bir LVM yerleştirirsiniz.
Buradaki felsefe modülerdir: mdadm RAID'i, LVM mantıksal birimleri yönetir ve dosya sistemi yalnızca verilerin depolanmasından sorumludur.Bu, büyük bir esneklik sağlıyor ancak aynı zamanda daha fazla katman ve manuel olarak yapılandırılması gereken daha fazla şey (fstab, komut dosyaları vb.) anlamına geliyor. çizme, izleme politikaları, Vb.)
mdadm'nin temel sözdizimi oldukça mantıklı bir yapıya sahiptir: mdadm dispositivoEn yaygın modlar şunlardır: --create Yeni bir RAID oluşturmak için, --assemble mevcut bir tanesini birleştirmek için, --manage Aktif bir diziyi yönetmek için, --grow genişletmek ve --detail bilgileri görüntülemek için
Örneğin, iki diskle RAID1 oluşturmak şöyle bir şey olurdu: mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1Dizi zaten mevcutsa ve yeniden başlatmanın ardından bağlanması gerekiyorsa, şunu kullanırsınız: --assemble RAID aygıtını ve üye diskleri gösterir.
Daha gelişmiş yapılandırmalar için, mdadm genellikle LVM ile birleştirilir, böylece RAID büyük bir depolama bloğu sağlar ve LVM, onu birden fazla mantıksal birime bölmenize olanak tanır. Farklı boyutlarda olan ve üzerine dosya sistemlerinin bağlanıp hizmet verildiği cihazlar. Sanal makineler, vb.
ZFS ve mdadm arasındaki temel farklar: mimari ve özellikler
İlk önemli fark şudur ki ZFS, RAID, disk yöneticisi ve dosya sistemini entegre eder.mdadm ise yalnızca yazılım RAID yönünü ele alır. Bu durum, her çözümle "yerel olarak" yapabileceğiniz şeylerin türlerini doğrudan etkiler.
mdadm'de, eğer isterseniz anlık görüntüler, hacim klonlama veya ince tahsis Sanal makineler için LVM-thin, anlık görüntü dosya sistemleri (Btrfs gibi) veya ek katmanlara başvurmanız gerekir. ZFS, tüm bunları varsayılan olarak sunar: herhangi bir veri kümesinin saniyeler içinde anlık görüntüleri ve klonları oluşturulabilir ve zvol'lar sanal makine depolaması için hipervizörlerle çok iyi entegre olur.
Bir diğer önemli fark ise, veri bütünlüğümdadm, RAID sayesinde disk arızalarına karşı koruma sağlar, ancak dosya sistemi içinde neler olup bittiğini izlemez veya veri bloğu düzeyinde sağlama toplamları eklemez. ZFS ise tüm veri blokları ve meta veriler için sağlama toplamları hesaplar ve tarama sırasında okunan verilerin beklenen verilerle eşleştiğini doğrular, sessiz bozulma tespit ederse başka bir diskten düzeltme yapar.
Bu aynı zamanda yöntemi de değiştiriyor depolama alanını genişletmek veya yönetmekmdadm'de, disk ekleyerek ve ardından LVM ve dosya sistemini yeniden boyutlandırarak RAID seviyelerini ölçeklendirebilirsiniz, ancak bu hassas ve nispeten yavaş bir işlemdir. ZFS, kapasiteyi artırmak için zpool'a yeni vdev'ler eklemenize olanak tanır; ancak, her vdev'in kendi RAID yapılandırması vardır ve veri dağıtımı vdev düzeyinde yapılır; bu da havuz tasarlanırken dikkate alınması gereken bir husustur.
Son olarak, günlük yönetim farklıdır: ZFS'nin komutlar çok tutarlı ve açıklayıcı (zpool, zfs)Oysa mdadm'nin güçlü ancak bazen sezgisel olmayan bir komut satırı arayüzü (CLI) var ve ayrıca her şeyin başlangıçta düzgün çalışması için /etc/mdadm.conf ve /etc/fstab gibi dosyalara da bağımlısınız.
Performans: RAID10, RAID5/6, RAIDZ ve gerçek dünya kullanım senaryoları
Performans alanında tek bir doğru cevap yoktur, çünkü Bu, disk türüne (HDD, SATA) büyük ölçüde bağlıdır. SSD(NVMe), RAID seviyesi ve erişim modeli (sıralı vs rastgele, okuma vs yazma, blok boyutu vb.). Yine de oldukça belirgin kalıplar mevcut.
Klasik sabit disk sürücülerinde ve SATA SSD'lerde, ZFS genellikle çok iyi performans gösterir.Yazma sırasında kopyalama tasarımı ve G/Ç gruplama yöntemi, birçok rastgele işlemi sıralı işlemlere dönüştürme eğilimindedir; bu da mekanik sabit disklerin çalışma prensibine mükemmel uyum sağlar. Ayrıca, ani artışları düzeltmek ve gecikmeyi iyileştirmek için RAM, L2ARC (SSD'lerdeki okuma önbelleği) ve ZIL/SLOG (yazma niyet kaydı) gibi teknolojilerden yararlanabilir.
Ancak, tüm birincil depolama birimleri hızlı NVMe olduğunda, ZFS her zaman potansiyelinin %100'üne ulaşamaz.Disk gecikmesinin, diskin yüklenmesini beklerken CPU hesaplamaları için yeterli alan sağladığı bir dönemde tasarlanmıştı; NVMe ile birlikte, CPU bazen darboğaz haline gelir ve bu da tek bir NVMe sürücüsünün "kendi başına" sağlayabileceğinden daha düşük bir performansa yol açar.
mdadm ile ilgili olarak, yapılan testler şunu gösteriyor ki Özellikle RAID0, RAID1 ve RAID10 modlarında sağlam bir performans sunuyor.Ancak, özellikle eşlik hesaplamalarının ve günlükleme işlemlerinin daha zararlı olduğu yoğun yazma işlemlerinde, yazılım RAID5/6 ile bazı senaryolarda donanım RAID ve ZFS'nin gerisinde kalabilir.
mdadm ile büyük bir RAID10'un kullanıldığı gerçek dünya kullanım örnekleri mevcuttur (örneğin, RAID10 yapılandırmasında 16 adet 2 TB'lık sürücü, teorik olarak 1 GB/s'nin üzerinde veri aktarım hızı sunuyor.) pratik uygulamalarda (gerçek trafik, 10GbE üzerinden kopyalar(vb.). Teori bir şey söyler, ancak tüm yığın (ağ protokolü, CPU, dosya sistemi, önbellekler) genellikle nihai performansı dizinin ham maksimumunun altına düşürür.
Güvenilirlik ve tipik sorunlar: yazma açığı, O_DIRECT ve sessiz bozulma
MB/s rakamlarının ötesinde, ZFS ve mdadm'yi gerçekten farklı kılan şey şudur: Başarısızlıklarla ve "olumsuz" senaryolarla nasıl başa çıkıyorlar?Yazma işlemleri sırasında meydana gelen güç kesintileri, sessiz bozulmalar, çekirdek hataları veya doğrudan disk erişim modlarını kullanan uygulamalar.
Ünlü RAID yazma deliği Bu durum, elektrik kesintisinin veri yazımını ve eşlik verilerini eksik bırakabileceği ve tespit edilmesi zor iç tutarsızlıklara neden olabileceği RAID 5/6 uygulamalarını etkiler. Donanım RAID denetleyicileri bunu pil korumalı yazma önbellekleme (BBU) ile hafifletir ve ZFS, her şey doğru şekilde yazılana kadar verinin yeni sürümünü geçerli kabul etmeyen COW modeli sayesinde bu sorunu önler.
Linux dünyasında mdadm, aşağıdaki gibi mekanizmalara dayanır: günlük tutma ve bitmapler Riski azaltmak için, ancak ZFS veya korumalı önbelleğe alma özelliğine sahip iyi bir donanım RAID'ine kıyasla bu senaryolara karşı daha savunmasız kalmaktadır. Bu durum, günlük kaydının doğrudan yavaş disklere düştüğü yoğun yazma iş yüklerinde hem güvenilirlik hem de performans açısından fark edilir.
Bir diğer hassas konu ise kullanımıdır. O_DIRECT (Sanal makinelerde önbellek "yok" olarak ayarlanmış) Sanallaştırma ortamlarında, sanal bir makine doğrudan aygıt erişimi kullanarak depolama alanına eriştiğinde, yazılım RAID (md/dm), aynı bellek işaretçisini her diske birden fazla bağımsız yazma işlemi olarak iletebilir. Bu yazma işlemleri devam ederken başka bir iş parçacığı belleği değiştirirse, her disk farklı içerik kaydedebilir ve bu da RAID'in performansını düşürebilir veya bozabilir.
Hatta gerçek bir vaka bile belgelenmiştir. Takas belleğine yazma işlemi, o belleğin serbest bırakılmasıyla aynı zamana denk gelir.G/Ç işlemleri devam ederken takas girdisi göz ardı edilir ve RAID, diziyi bozulmuş olarak işaretler. Teknik olarak O_DIRECT Önbelleklerin etkisini en aza indirmeyi ve kopyalar arasındaki tutarlılığı bozmamayı vaat ediyor, ancak pratikte MD RAID ile çok dikkatli olmanız gereken bir moddur.
Sanal makinelerde önbellekleme modundan kaçınırsanız veya tam olarak ne yaptığınızı biliyorsanız, mdadm tamamen geçerlidir.Ancak, biraz daha fazla RAM tüketirsiniz. Öte yandan ZFS'de önbellek ve G/Ç akış kontrolü dosya sistemi yığınına çok daha entegre edilmiştir ve bu tür senaryoların riski önemli ölçüde azalır.
Pratik örnekler: büyük RAID10 dizilerinden sanal makineler için yedeklilik içermeyen havuzlara kadar.
ZFS ve mdadm arasındaki felsefi farkı görmek için, ilgili kaynaklara göz atmak çok faydalı olacaktır. gerçek dünya kullanım senaryoları Bu sorular, yöneticilerden ve ileri düzey kullanıcılardan gelen yaygın soruları yansıtmaktadır.
İlk durumda, birinin Ubuntu işletim sistemine sahip bir sunucusu var ve mdadm kullanılarak RAID10 yapılandırmasında 16 adet 2TB disk.Ham hız mükemmel, ancak belirli bir güvenilirlik sorunu yaşıyor: birkaç yeniden başlatmanın ardından, disk dizisi düzgün bir şekilde açılmıyor ve tekrar tekrar sökülüp yeniden oluşturulması gerekiyor. RAID'in önlemeyi amaçladığı durum tam olarak budur.
Riskin bir kısmı, RAID10'un mevcut haliyle buna tolerans göstermemesinden kaynaklanıyor. Ard arda iki disk arızalandı ve bir şerit tamamen verisiz kaldı.Bu, söz konusu tasarımın en zayıf noktasıdır: RAID10'un başa çıkamayacağı teorik arıza koşulu oluşur ve dizi artık sorunsuz bir şekilde kurtarılamaz.
Bu durumda, taşınmak gibi seçenekler değerlendirilebilir. RAID50 (her biri 3 diskten oluşan 5 adet RAID5 şeridi, artı bir yedek) veya RAID60 (her biri 8 diskten oluşan 2 adet RAID6 şeridi)Ayrıca, performans ve hata toleransı arasında bir uzlaşma arayarak, her şeyi eşdeğer yapılandırmalarla ZFS'ye geçirme fikri de ortaya çıkıyor: beş adet 3 diskli RAIDZ1 vdev (yedek disk ile) veya iki adet 8 diskli RAIDZ2 vdev.
Mantıksal sonuç şu ki, bu kadar çok kayıt varken, Tasarım, seçilen teknoloji kadar önemlidir.Daha fazla sayıda vdev genellikle daha yüksek IOPS ve verim sağlar, ancak aynı zamanda arızaların ele alınmasının karmaşıklığını da artırır; birkaç büyük RAIDZ2 vdev, arıza toleransını güçlendirir, ancak belirli iş yükleri altında biraz daha az çevik olabilir.
Başka bir örnekte, bir yönetici kurulum yapmak istiyor. sanal makine çalışma diskleri için bir veri havuzu Burada mutlak öncelik, 4 TB'lık kapasiteyi en verimli şekilde kullanmak ve iyi bir performans elde etmektir; yedeklilik konusunda fazla endişelenmeye gerek yoktur, çünkü sanal makineler (VM'ler) şirket dışındaki diğer depolama birimlerine, hatta şirket dışındaki bir yere bile yedeklenmektedir.
Karar, bir kurulum yapmak arasında verilecek. RAID0'da ZFS havuzu veya aşağıdakilere dayalı bir yığın mdadm RAID0 üzerinde LVM-thinHer ikisi de sanal makineler için anlık görüntüler ve ince tahsis imkanı sunar; bu da Proxmox gibi platformlarda çevrimiçi yedeklemeler için idealdir. Bu durumda, tipik "üretim ortamında RAID0 kullanmayın" önerisi daha az önem kazanır, çünkü felaket kurtarma yerel dayanıklılığa değil, harici yedeklemelere dayanır.
Karar verici, ZFS konusunda geniş deneyime sahip ancak mdadm/LVM'ye neredeyse hiç değinmemiş. Buradaki ikilem, güvenilirlik (ki bu zaten yedeklemelerle sağlanıyor) değil, daha çok... Günlük yönetimin kolaylığı, platform entegrasyonu ve sürdürülebilir performans sanallaştırma iş yüklerinde.
Donanım RAID'i ile ZFS ve mdadm karşılaştırması: İşlemci, önbellek ve taşınabilirlik
Bu karşılaştırmada, şu unsurların rolü de göz ardı edilemez: Özel denetleyicilere sahip RAID donanımıÖzellikle Dell, HP gibi tanınmış markaların sunucularında çok yaygın olan bir Dell H710P tipi kart. (Birçok Dell H710P tipi kart gibi) LSI kontrolörleriKendi işlemcisine, önbellek belleğine (genellikle 1 GB) ve BBU'suna sahiptir; bu sayede önbellek yazma işlemleri elektrik kesintisi durumunda da devam eder.
Donanım RAID'inin en büyük avantajı şudur ki... İşletim sistemi yalnızca tek bir mantıksal disk görüyor.Bu, uyumluluğu büyük ölçüde basitleştirir ve karmaşık yazılım RAID yapılandırmalarıyla uğraşmadan neredeyse her işletim sisteminin kullanılmasını sağlar. Dahası, kontrolcü her şeyi hallettiği için merkezi CPU, eşlik ve yoğun G/Ç iş yükünü neredeyse hiç fark etmez.
Ama karşılığında, o kontrolcü kadınla evleniyorsunuz: Eğer bozulursa, diziyi kurtarabilmek için genellikle tamamen aynı modele ihtiyacınız olur.mdadm veya ZFS gibi RAID yazılımlarıyla, diskleri Linux ve gerekli araçlara sahip başka bir sunucuya taşımanız yeterlidir; dizi fazla sorun yaşamadan algılanıp kurulabilir.
Kontrol cihazlarıyla ilgili bir diğer pratik sorun ise şudur: üretici yönetim araçlarına ve yardımcı programlarına bağımlılıkBunlar modern dağıtımlar için her zaman iyi bir şekilde desteklenmemektedir. Genellikle önyüklenme öncesi yapılandırma ortamı (kontrolcü BIOS/UEFI) içerirler, ancak tüketici anakartlarında donanım bazen doğru şekilde algılanmaz bile.
Performans açısından, RAID 6 yapılandırmasında sekiz adet 4TB WD Red Plus sürücüyle yapılan testlerde, RAID donanımı genellikle şu performansı sunmaktadır: Geliştirilmiş sıralı okuma ve yazma hızlarıZFS'yi yakından takip ederken, mdadm özellikle karmaşık yazma işlemleri için son sırada yer alıyor. Bunun muhtemel nedeni, ZFS ve donanım RAID'in yazma açığını gidermesi ve hızlı önbelleklerden yararlanması, mdadm'nin ise günlük kaydı ve yeniden oluşturma işlemleri için neredeyse tamamen fiziksel disklere dayanmasıdır.
Kaynak tüketimi: RAM, CPU ve takas belleği
ZFS hakkında en sık tekrarlanan yorumlardan biri şudur: "RAM'i çok seviyor."Ve bu doğru: ARC (Uyarlanabilir Değiştirme Önbelleği) için ne kadar çok bellek mevcutsa, okuma işlemlerini önbelleğe alma ve performansı iyileştirme yeteneği de o kadar iyidir. Yüksek performans gerektiren sunucularda, ZFS'nin sağlama toplamlarının bütünlüğünü bozabilecek RAM hatalarıyla uğraşmak zorunda kalmaması için ECC bellek kullanılması da önerilir.
İşlemci kullanımı açısından ZFS, özellikle etkinleştirildiğinde, mdadm'den biraz daha fazla işlemci tüketir. Sıkıştırma, tekilleştirme veya birçok gelişmiş özellik kullanıyorsunuz.Ancak modern işlemcilerle, bu maliyet genellikle çoğu ev ve küçük işletme ortamında, özellikle veri bütünlüğü ve anlık görüntülerin sağladığı katma değerle karşılaştırıldığında, gayet yönetilebilir düzeydedir.
ZFS'nin de belirtilmesi gerekir. Takas işlemlerini yönetmek için iyi bir fikir değil.Bir tür yarış ortaya çıkabilir: kullanılabilir RAM azalır, sistem daha fazla takas alanı kullanmak ister, ZFS ARC'sini büyütmeye veya daha fazla meta veri yönetmeye çalışır, bu da daha fazla RAM tüketir ve hoş olmayan bir döngüye girersiniz. Bu nedenle, tüm veri depolamasının ZFS üzerinde olduğu sunucularda, belirli bir RAM seviyesini korumak yaygın bir uygulamadır. Sadece takas için mdadm içeren küçük bir RAID1 ve belki de temel sistem.
mdadm tarafında ise RAM tüketimi daha düşüktür, çünkü önbellek zekasının büyük kısmı üzerine kurduğunuz dosya sistemi (örneğin, EXT4 veya XFS) tarafından yönetilir. Saf mdadm ile işlemci de daha az zarar görüyor.Ancak RAID5/6'da, eşlik (parity) hesaplamasının yazılımsal veya donanımsal olsun, her zaman bir maliyeti olacaktır.
Her halükarda, testler, eski çift Opteron tipi işlemcilerde bile, Yazılım RAID yeniden oluşturma işlemleri sırasında işlemci kullanımındaki ani artışlar genellikle felaket boyutunda değildir.Disklerin hızına kıyasla mutlak darboğaz olmaları nadirdir.
Günlük yönetimin kolaylığı ve öğrenme eğrisi
Sıfırdan başlayan biri için, mdadm, sözdizimi nedeniyle göz korkutucu görünebilir.Ancak dört temel komutu öğrendikten sonra, RAID 1 ve RAID 10'u yönetmek nispeten kolay hale gelir. LVM için de aynı şey geçerlidir: başlangıçta zordur, ancak daha sonra fiziksel birimler, birim grupları ve mantıksal birimler arasında kolayca geçiş yapabilirsiniz.
ZFS ise kendi payına düşeni yaptı. Başlangıçta daha birçok yeni kavram: havuzlar, vdev'ler, veri kümeleri, zvol'lar, ARC, L2ARC, ZIL/SLOG, özellikler, anlık görüntüler, temizleme işlemleri…Öğrenme eğrisi daha dik, ancak karşılığında birçok yaygın görev (sıkıştırma ile yeni bir veri seti oluşturma, anlık görüntü alma, verileri başka bir sunucuya kopyalama) birkaç çok tutarlı komutla çözülüyor.
Günlük yönetimde ZFS, birçok yöneticiyi şu nedenlerle cezbediyor: Komut satırı arayüzü (CLI) tutarlı bir bütün olarak tasarlanmıştır.. gibi komutlar zpool status, zpool scrub, zfs list, zfs snapshot o zfs send | zfs recv Çoğu işlemi az çabayla hallederler. mdadm ve LVM ile işlemler çeşitli araçlara ve dağınık yapılandırma dosyalarına yayılmıştır.
ZFS'nin bir diğer güçlü yönü de şudur: yedekleme çoğaltmaAnlık görüntülerin birleşimiyle zfs send/recv Bu özellik, yalnızca değişen blokları kopyalayarak artımlı veri akışlarını başka bir ZFS sunucusuna çok verimli bir şekilde göndermenizi sağlar. Birden fazla NAS cihazı veya sunucunun bulunduğu bir ortam için, bu yerleşik özelliğe sahip olmak gerçek bir avantajdır.
mdadm ve geleneksel dosya sistemleriyle çoğaltmayı da bağlayabilirsiniz (rsyncLVM anlık görüntü araçları, çözümler yedek (Özellikle uzmanlaşmış, vb.) ancak ZFS kadar dosya sistemi mantığına sıkıca bağlı hiçbir şey yok.
Otomatik başlatma ve montaj bölümünde, şunları hatırlamak önemlidir: Eğer doğru şekilde tanımlanmamışsa, bir mdadm RAID dizisi yeniden başlatmanın ardından otomatik olarak bağlanmayacaktır. /etc/mdadm.conf ve /etc/fstab dosyalarında da aynı durum geçerlidir. Üzerine kurduğunuz tüm dosya sistemleri için de aynı işlem uygulanır. ZFS'de, sistem veri kümelerinin özelliklerine göre bağlanmasını kendisi yönetir, bu da işleri biraz basitleştirir.
Bütün bu parçaları gördükten sonra, şu açıkça anlaşılıyor ki... mdadm, Linux'ta klasik, basit ve yüksek düzeyde entegre bir yazılım RAID çözümü istediğinizde öne çıkıyor.Özellikle RAID 1/10 yapılandırmalarında veya RAM kısıtlamalarınız olduğunda ve sade ve kendini kanıtlamış bir çözüm istediğinizde, ZFS ideal "hepsi bir arada" çözüm gibi görünüyor. Öte yandan, veri bütünlüğüne ve binlerce harici araca ihtiyaç duymadan anlık görüntü alma, klonlama, sıkıştırma ve çoğaltma esnekliğine önem verdiğinizde de ZFS en uygun seçenek.
Mekanik veya SATA disklerde yoğun iş yükü olan ortamlarda, ZFS genellikle mükemmel performans sunar ve buna bir de NVMe önbellek eklerseniz... L2ARC Veya, meta veriler ve küçük dosyalar için "özel" bir vdev olarak, çok iyi ölçeklenebilir. Biraz yetersiz kalabileceği nokta ise, diğer yaklaşımların veya hatta iyi yedeklemelere sahip bağımsız sürücülerin daha az karmaşıklıkla daha fazla performans sunabileceği, saf NVMe sürücülerdeki çok basit yapılandırmalardır.
Şu durumlarda: Mutlak maksimum performans önceliklidir ve yerel yedeklilik kritik değildir.Bazen ayrı diskler kullanmak, sık yedeklemeleri otomatikleştirmek ve o belirli bölüm için RAID'den vazgeçmek daha mantıklı olabilir. Diğer durumlarda ise ZFS ve mdadm arasındaki seçim, önceki deneyimleri, mevcut donanım kaynaklarını ve her şeyin entegre olmasının sağladığı kolaylığı mı yoksa klasik yazılım RAID'inin basitliği ve temizliğini mi daha çok önemsediğinizi değerlendirmeye bağlıdır.
Genel olarak bayt ve teknoloji dünyası hakkında tutkulu bir yazar. Bilgilerimi yazarak paylaşmayı seviyorum ve bu blogda da bunu yapacağım; size gadget'lar, yazılım, donanım, teknolojik trendler ve daha fazlasıyla ilgili en ilginç şeyleri göstereceğim. Amacım dijital dünyada basit ve eğlenceli bir şekilde gezinmenize yardımcı olmaktır.