Donanım RAID 6'nın üzerindeki ZFS şeridi Neler yanlış gidebilir?


9

36 * 4 TB HDD SAN Rafım var. RAID denetleyicisi, RAID60'ı desteklemez ve bir RAID grubunda 16'dan fazla HDD'yi desteklemez. Bu yüzden 16HDD veya 8 HDD'den 2 RAID6 grubu yapmaya karar verdim. Tüm depolamayı tek bir bölüm olarak almak istiyorum.

Peki, donanım RAID6'nın üstünde zfs havuzu kullanacak olursam ne yanlış gidebilir? Evet, yerel HDD'lerin veya doğrudan geçiş modunun kullanılması önemle tavsiye edilir. Ama bu seçeneğim yok.

Yoksa bu durumda ZFS ve yazılım baskınlarından uzak durmalı mıyım? (Çoğunlukla sıkıştırma ve anlık görüntülerle ilgileniyorum)


2
ZFS'yi kullanacaksanız, neden tüm diskleri tek tek ortaya çıkarmak (bazen HBA modu olarak da adlandırılır) ve ZFS'nin işlemesine izin vermeyin - en iyi yaptığı şey budur. Bu konuda size yardımcı olacak bir dizi gerçek uzmanımız var (başlangıç ​​için beyaz) - tam olarak hangi disk denetleyicisini kullanıyorsunuz?
Chopper3

1
Bu yöntemi kullanarak birçok ZFS özelliğini altüst edeceksiniz, ancak genel olarak bu şekilde yapmak için hiçbir şeye zarar vermeyecek. RAID denetleyicisi tüm disk ayrıntılarını soyutlayacağından, sağlama toplamı bu yapılandırmada biraz daha işe yaramaz. JBOD'u neden kullanamayacağınızı söylediğinizle daha çok ilgileniyorum. assuredsan 3530, JBOD özellikli birimlerdir.
Biriktirici

2
Ben ewwhite için beklerdim - o merkezi ABD'de yani uyuyor ama
ZFS'yi

1
@Severgun Ayrıca 4 HDD de gereksiz kalıyor çünkü sıcak noktaya gerek yok Gerçekten başarısız bir sürücüye sahip bir RAID dizisinin, bozuk bir modda toparlanmasının otomatik olarak etkin yedek almak, yeniden oluşturmak ve tamamen geri dönmekten daha iyi olduğunu düşünüyor musunuz? Işlevsel durum?
Andrew Henle

1
@ Chopper3 Cevap vereceğim ... isteksizce.
ewwhite

Yanıtlar:


5

Bu yüzden 16HDD veya 8 HDD'den 2 RAID6 grubu yapmaya karar verdim.

Bir şeyler yapmanın en iyi yolu bu değil. Yeterince iyi çalışabilir, ancak performans gereksinimlerinize bağlı olarak çalışmayabilir.

Bir RAID5 / 6 dizisi için ideal boyut, diziyi "kaplayan" veri miktarının tam katı, üzerine kurulu dosya sisteminin blok boyutuyla eşleşecek şekilde olacaktır.

RAID5 / 6 dizileri blok aygıtları olarak çalışır - tek bir veri bloğu dizideki disklere yayılır ve bu blok eşlik verileri de içerir. Çoğu RAID denetleyicisi , dizideki her diske - kesin değeri daha iyi RAID sistemlerinde yapılandırılabilen - iki boyutlu bir veri yığını yazar ve Dot Hill biriminiz bu "daha iyi RAID sistemlerinden" biridir. Bu önemli.

Bu nedenle, diziyi yaymak için Nx (disk yığını başına depolanan veri miktarı) gerekir; burada N, veri disklerinin sayısıdır. 5 diskli bir RAID5 dizisinde 4 "veri" diski ve 10 sürücülü bir RAID6 dizisinde 8 veri diski bulunur.

Veriler bir RAID5 / 6 dizisine yazıldığında, veri bloğu tüm diziyi kapsayacak kadar büyükse, parite bu veriler için (genellikle denetleyicinin belleğinde) hesaplanırsa, tüm şerit disk. Basit ve hızlı.

Ancak, yazılan veri yığını tüm diziyi kapsayacak kadar büyük değilse, RAID denetleyicisinin yeni eşlik verilerini hesaplamak için ne yapması gerekir? Bir düşünün - yeni eşlik verilerini yeniden hesaplamak için tüm şeritteki tüm verilere ihtiyaç duyuyor .

Yani, disk başına varsayılan disk alanı 512kb olan 16 sürücülü bir RAID6 dizisi yaparsanız, diziyi "yaymak" için 7 MB gerekir.

ZFS genellikle 128 kb'lik bloklar halinde çalışır.

Böylece ZFS, 16 sürücülü bir RAID6 dizisine 128kB'lik bir blok yazar. Önerdiğiniz yapılandırmada, RAID denetleyicisinin diziden neredeyse 7 MB okuması ve bu 7 MB genelinde eşliği yeniden hesaplaması gerektiği anlamına gelir . Sonra 7 MB'ın tamamını diske geri yazın.

Eğer şanslıysanız, hepsi önbellekte ve büyük bir performans isabeti almıyorsunuz. (Bu, "RAID5 / 6 kullanma" konumunun aşağıdakilere sahip olmasının başlıca nedenlerinden biridir - RAID1 [0] bundan muzdarip değildir.)

Şanssızsanız ve dosya sistemi bölümlerinizi düzgün bir şekilde hizalamadıysanız, bu 128 KB'lık blok önbellekte olmayan iki RAID şeridini kapsar ve denetleyicinin 14 MB'yi okuması, pariteyi yeniden hesaplaması ve ardından 14 MB yazması gerekir. Hepsi bir 128kB blok yazmak için.

Şimdi, mantıksal olarak gerçekleşmesi gereken budur . İyi RAID denetleyicilerinin bu tür G / Ç kalıplarının GÇ ve hesaplama yükünü azaltmak için alabileceği birçok optimizasyon vardır, bu yüzden o kadar da kötü olmayabilir .

Ancak, rasgele konumlara 128kB blok yazma yoğun yükü altında, 7 MB'lik bir şerit boyutuna sahip 16 sürücülü bir RAID6 dizisinin performansının kesinlikle korkunç olma ihtimali çok yüksektir.

ZFS, RAID5'I yatan "ideali" için / 6 LUN'lardır en erişimler rasgele etkili bir genel amaçlı dosya sistemi için daha da olan bir şerit boyutunu olurdu bölen böyle 32 KB, 64kB veya 128KB olarak 128KB arasında. Bu durumda, bir RAID5 / 6 dizisindeki veri disklerinin sayısını 1 ile sınırlar (bu saçmadır - yapılandırılması mümkün olsa bile, RAID1 [0]), 2, 4 veya 8'i kullanmak daha iyidir. en iyi senaryoda, RAID5 / 6 dizileri için 128kB şerit boyutu kullanmak olacaktır, ancak en iyi durum genel amaçlı dosya sistemlerinde genellikle gerçekleşmez - genellikle dosya sistemleri meta verileri kendileriyle aynı şekilde saklamaz dosya verilerini depola.

Disk başına yığın boyutu, tüm dizi şeridini kapsayacak veri miktarının 64 KB olduğu kadar küçük bir şekilde ayarlanmış 5 diskli RAID5 dizilerini veya 10 diskli RAID6 dizilerini ayarlamanızı öneririm (evet, bunu yaptım ZFS için daha önce - birçok kez). Bu, 4 veri diskine sahip bir RAID dizisi için disk başına yığın boyutu 16kB, 8 veri diski RAID dizisi içinse disk başına yığın boyutu 8kB olmalıdır.

Sonra ZFS kullanmasına izin tüm do - dizi değil bunu paylaştırın. İster basit bir tek disk olsun ister RAID denetleyicisi tarafından sunulan bir RAID dizisi olsun, ZFS kendisini tüm sürücüye uygun şekilde hizalayacaktır.

Bu durumda ve tam alan ve performans gereksinimlerinizi bilmeden, 64kB şerit boyutuna sahip üç adet 10 sürücülü RAID6 dizisi veya altı adet 5 sürücülü RAID5 dizisi kurmanızı, birkaç etkin yedek yapılandırmanızı ve dört gelecekte ne olursa olsun diskler. Çünkü bir şey olacak.

Kesinlikle bu disk sistemini JBOD modunda kullanmazdım - tam donanımda yerleşik güvenilirlik ve kullanılabilirlik koruması sağlayan tamamen NEBS Seviye 3 uyumlu bir cihazdır . Sadece "ZFS !!!!" yüzünden atmayın. Parçalardan bir araya getirdiğiniz ucuz bir emtia donanımı parçasıysa? Evet, ZID'yi RAID'i işleyen JBOD modu en iyisidir - ancak sahip olduğunuz donanım DEĞİLDİR . Donanımın sağladığı özellikleri KULLANIN .


Bu, 4 veri diskine sahip bir RAID dizisi için disk başına yığın boyutu 16kB, 8 veri diski RAID dizisi içinse disk başına yığın boyutu 32kB olmalıdır. Bu matematikle biraz kafam karıştı. Neden 8 disk - 32kB yığın? Yanılıyorsam düzelt: 128kB (ZFS bloğu) / 3 (RAID dizileri) = RAID dizisi başına 43 kB. 10 diskten oluşan RAID6 43kB / 8 = 5kB (kullanılamaz yığın boyutu) En yakın 8kun yığın boyutu da donanım tarafından kullanılamaz. Peki, en iyi performans erişilebilir değil mi?
Severgun

@Severgun Ben yığın boyutlarını geriye koydum. RAID5 / 6'da mutlak en iyi performansı hedeflemeyle ilgili sorun, yalnızca neredeyse tüm IO işlemleri RAID dizi şerit boyutuyla mükemmel bir şekilde eşleştiğinde gerçekleşecektir. Şerit boyutundan daha küçük olan önemli sayıda IO işlemi performansı ciddi şekilde düşürebilir. Daha küçük bir blok boyutuyla gitmek, rastgele küçük blok yazmaların etkisini sınırlamaya yardımcı olur. Deneyimlerime göre, en kötü durumdaki düşüşü sınırlamak karşılığında olası maksimum performansın % 1-2'sinden vazgeçmek daha iyidir . Genel amaçlı dosya sistemleri çok sayıda küçük yazma eğilimindedir.
Andrew Henle

(devamı) Disk başına 16kB boyutunda bir RAID5 / 6 dizisindeki 8 veri diski, dizi boyunca 128kB'lik bir şerit boyutu oluşturur. Aynı şekilde 32kB'lik bir 4-veri-disk dizisi için yığınlar. ZFS, tek bir cihaza 128kB dosya veri bloğu yazar - tüm zdevlere bölünmez. Yine de, genel amaçlı bir dosya sistemi için çok sayıda alt 128kB yazma olacak, bu nedenle daha küçük bir şerit boyutu (64kB), ağır yazma yükü altında performans düşüşünü daha iyi önleyecektir, ancak en iyi maliyetle vaka performansı.
Andrew Henle

4

Tamam, ısırırım ...

Bu uygulama için yanlış bir donanımdır. DotHill kurulumu, HP StorageWorks MSA2000 / P2000 ile aynı sınırlamalara sahiptir, çünkü tek bir dizi grubunda yalnızca 16 sürücü kullanılabilir.

ZFS donanım RAID veya verilen SAN LUN'da tepesinde mutlaka bir sorun değildir.

Bununla birlikte, genişleme şasisi boyunca bilinmeyen ara bağlantılardan ZFS LUN'ların ayrılması bazı riskler doğurabilir.

  • Örneğin, çift denetleyicili bir halka topolojisinde çok yollu SAS mı kullanıyorsunuz?
  • Sunucuya yedek kablolarınız var mı?
  • Sürücüleri, tek bir kasa / kablo / denetleyicinin arızasını azaltacak ve RAID0 şeridinizin bir parçasını yok etmesini engelleyecek şekilde muhafazalar arasında dikey olarak dağıttınız mı?

Cidden, tüm bu depolamaya tek bir isim alanında ihtiyacınız olup olmadığını değerlendirmek faydalı olabilir ...

Tek bir montajda bu tür bir kapasiteye gereksinim duyarsanız, özel bir HBA'ya bağlı JBOD muhafazası ve muhtemelen esnek kablolara ve daha akıllı bir düzene sahip birden fazla kafa ünitesi kullanmalısınız .


1

Tüm sürücüleri DOĞRUDAN ZFS çalıştıran bir kutuya takmalısınız. Bir SAS HBA alın ve sürücüleri ZFS özellikli kutuya bağlayın (örn. OmniOS veya SmartOS'u çalıştırmak). Daha sonra alanı NFS, SMB, iScsi aracılığıyla paylaşabilirsiniz ...


Tüm sürücüleri DOĞRUDAN ZFS çalıştıran bir kutuya takmalısınız. Mutlaka değil - bazı denetleyicilerdeki bir donanım dizisindeki başarısız sürücüleri değiştirmek kolaydır : sabit sürücüyü hata ışığı yanarken dışarı çekin ve yeni bir tane takın. Sürücüyü değiştirmek için ZFS komutlarını çalıştırmak için sistem yöneticisine gerek yoktur. Yüzlerce veya binlerce sunucunun ve belki de on binlerce sabit sürücünün birden fazla veri merkezine yayıldığı bir kuruluş kurulumunda bu bir endişe kaynağıdır. Sürücüler, bit çürümesinden çok daha fazla başarısız olur.
Andrew Henle

@Tobi Oetiker 36 3.5 "hdds'yi 2U kasasına nasıl yerleştireceğimizi söyledi
Severgun

sadece ekstra bir kutuya koyduk ... bir sas genişletici kullanın ... büyük dağıtımlarda olduğu gibi, belki de ne kadar eğlenceli olduğunu sorun.
Tobi Oetiker

@AndrewHenle Adil olmak gerekirse, ZFS ve doğru HBA'larla aynı kolay değiştirme prosedürünü ve durum LED'lerini elde etmek mümkündür (önceden paketlenmiş bir çözüm kullanılmıyorsa bazı küçük komut dosyaları içerebilir).
user121391

0

HW RAID mantıksal birimlerinin üstündeki ZFS'nin nedeni ÇOK KÖTÜ bir fikir, ZFS'nin gerçekten düzgün çalışması için blok düzeyinde erişim gerektirmesidir. Evet, kullanılabilir olacaktır, ancak sürücüleri bir HBA veya doğrudan SATA bağlantıları aracılığıyla doğrudan işletim sistemine bağlayana kadar işlevsellik tamamlanmayacaktır. Bunun bir örneği, ZFS'nin önerdiğiniz yapılandırmada verilerinizi aşağıdaki verilerdeki değişikliklere (HW RAID denetleyicisinin diğer tarafında) karşı makul bir şekilde koruyamayacağı ve bu nedenle verilerinizin güvenliğini garanti edemeyeceğidir . Süper hızlı olmasına ek olarak, ZFS'nin birincil nedenlerinden biri de budur.

ZFS harika bir teknolojidir ve kesinlikle tavsiye ederim. Ancak, doğru şekilde kullanabilmek için yapınızı burada tekrar ziyaret etmeniz gerekecek. Yani ZFS'nin doğrudan disklerden mantıksal birimleri (vdevs) yaratması.

Ne önerdiğinizi doğru bir şekilde anlayabilmeniz için ZFS'nin nasıl çalıştığı hakkında daha fazla okuma yapmanız gerektiği anlaşılıyor, bunun yerine gerçekten ne yapılması gerektiğinin aksine.


Evet evet ve evet. ZFS'nin elimden geldiğince nasıl çalıştığını anlıyorum. 1) Zaten SAN kapsamını ve sahiptirler: Ancak bazı komplikasyonlar vardır ihtiyacını kullanın. Sıfırdan depo inşa etmiyorum. 2) Bu, bir şeyler satın alıp atabileceğim ev NAS'ım değil. 3) Depolama yapılandırmasının yeniden oluşturulması için bütçe sıfıra eşittir . Depolama alanından 100 TB civarında alan ile maksimum kullanılabilir yazma hızına ihtiyacım var. ZFS'yi çoğunlukla sıkıştırma ve anlık görüntüler nedeniyle arıyorum. Ben btrfs deneyebilirsiniz ama deneysel. Hmm de ZoL kararsız olabilir mi? Bilmiyorum.
Severgun

@Severgun Dezavantajların ne olduğunu bildiğiniz sürece, bence iyi olacaksınız. ZFS, diğerlerinden bağımsız olarak çalışan birçok güzel özelliğe (anlık görüntüler gibi) sahiptir. İnternet üzerindeki çoğu tavsiye, tüm alanlarda en iyi uygulamaların önemini vurgular, ancak bunlar sıkı gereksinimler değil, önerilerdir. Daha fazla LInux dağıtımı ZFS'ye değiştiğinden ve çoğu Linux sistemi sanallaştırıldığından, bu nokta gelecekte daha az önemli hale gelecektir, bu yüzden tam durumunuza sahip olacaklar.
user121391 23:16

1
HW RAID mantıksal birimlerinin üstündeki ZFS'nin nedeni ÇOK KÖTÜ bir fikir, ZFS'nin gerçekten düzgün çalışması için blok düzeyinde erişim gerektirmesidir. Bu çok kötü, yanlış olarak adlandırılacak kadar iyi değil. Görünüşe göre NEBS 3 uyumlu bir donanım parçasının ne anlama geldiğini bilmiyorsunuz, değil mi? Buna ek olarak süper süper hızlı olmasının yanında. ZFS çok iyi şeyler. "süper süper hızlı" bunlardan biri DEĞİLDİR . Bu hızlı bir dosya sistemidir. Bu da öyle . Dosya sistemleri ilerledikçe ZFS hızlı değildir .
Andrew Henle
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.