Bu bir Kanonik Soru RAID seviyeleri hakkında.
Nedir:
- RAID seviyeleri tipik olarak kullanılır (RAID-Z ailesi dahil)?
- dağıtımlar yaygın olarak bulunurlar?
- her birinin yararları ve tuzakları?
Bu bir Kanonik Soru RAID seviyeleri hakkında.
Nedir:
RAID, Bağımsız Diskler Dizisi'nin ardında duruyor (bazıları "normal" diskler olduklarını belirtmek için "Pahalı" değil, tarihsel olarak çok pahalı olan dahili diskler vardı, çünkü bunlar artık kullanılmıyordu).
En genel düzeyde, bir RAID aynı okuma ve yazmalarda hareket eden bir disk grubudur. SCSI IO, bir birim ("LUN") üzerinde gerçekleştirilir ve bunlar bir performans artışı ve / veya bir artıklık artışı sağlayacak şekilde temel disklere dağıtılır. Performans artışı, şeritlemenin bir işlevidir: veriler, tüm disklerin IO kuyruklarını eşzamanlı olarak kullanması için okumalara ve yazmalara izin vermek için birden çok diske yayılır. Artıklık, yansıtmanın bir işlevidir. Tüm diskler kopya olarak tutulabilir veya tek tek şeritler birden çok kez yazılabilir. Alternatif olarak, bazı baskın türlerinde, bit için veri bitinin kopyalanması yerine, bir donanım hatası durumunda kaybolan verilerin yeniden oluşturulması için kullanılabilen parite bilgisi içeren özel şeritler oluşturularak artıklık elde edilir.
Bu faydaların farklı düzeylerini sağlayan, burada kapsanan ve her birinin performansa ya da artıklığa karşı bir önyargıya sahip olan çeşitli konfigürasyonlar vardır.
Hangi RAID seviyesinin sizin için çalışacağını değerlendirmenin önemli bir yönü, avantajlarına ve donanım gereksinimlerine bağlıdır (Ör: sürücü sayısı).
Bir başka önemli yönü çoğu Bu türden RAID (0,1,5) yaptıkları değil Verilerinizin bütünlüğünü sağlayın, çünkü saklanan gerçek verilerden soyutlanırlar. Bu nedenle RAID bozuk dosyalara karşı koruma sağlamaz. Bir dosya tarafından bozulmuşsa herhangi Bunun anlamı, yolsuzluğun diske yansıtılması veya ayrıştırılması ve diske bağlı olmamasıdır. Ancak, RAID-Z, verilerinizin dosya düzeyinde bütünlüğünü sağladığını iddia ediyor.
RAID'in doğrudan bağlı depolama alanında uygulanabileceği iki katman vardır: donanım ve yazılım. Gerçek donanım RAID çözümlerinde, RAID hesaplamalarına ve işlemlerine adanmış bir işlemciye sahip özel bir donanım denetleyicisi vardır. Ayrıca tipik olarak bir pil destekli önbellek modülüne sahiptir, böylece bir elektrik kesintisinden sonra bile veri diske yazılabilir. Bu, sistemler temiz bir şekilde kapatılmadığında tutarsızlıkları ortadan kaldırmaya yardımcı olur. Genel olarak konuşmak gerekirse, iyi donanım denetleyicileri, yazılımdaki benzerlerinden daha iyi performans gösterirler, ancak aynı zamanda önemli bir maliyete ve karmaşıklığa da sahiptirler.
Yazılım RAID, özel bir RAID işlemci veya ayrı bir önbellek kullanmadığı için genellikle bir denetleyici gerektirmez. Genellikle bu işlemler doğrudan CPU tarafından ele alınır. Modern sistemlerde, bazı marjinal gecikmeler meydana gelse de, bu hesaplamalar en az kaynak tüketir. RAID, ya doğrudan işletim sistemi tarafından, ya da FakeRAID.
Genel olarak, eğer birisi yazılım RAID'i seçecekse, FakeRAID'den kaçınmalı ve Windows için Dinamik Diskler, Linux'ta mdadm / LVM veya Solaris, FreeBSD ve diğer ilgili dağıtımlardaki ZFS gibi sistemlerinde OS-native paketini kullanmalıdırlar. . FakeRAID, donanım RAID'inin ilk görünümünde ortaya çıkan bir donanım ve yazılım kombinasyonu kullanır, ancak RAID yazılımının gerçek performansıdır. Ek olarak, diziyi başka bir bağdaştırıcıya (orijinal başarısızlık durumunda) taşımak genellikle çok zordur.
RAID'in yaygın olduğu diğer bir yer, genellikle SAN (Depolama Alanı Ağı) veya NAS (Ağa Bağlı Depolama) olarak adlandırılan merkezi depolama aygıtlarındandır. Bu cihazlar kendi depolarını yönetir ve ekli sunucuların çeşitli modalardaki depolamaya erişmesine izin verir. Aynı az sayıda diskte birden fazla iş yükü bulunduğundan, yüksek düzeyde bir fazlalık olması genellikle arzu edilir.
NAS ve bir SAN arasındaki ana fark, blok ve dosya sistemi düzeyinde ihracattır. SAN, bölüm veya mantıksal bir birim (RAID dizisinin üzerine yerleştirilenler dahil) gibi bir "blok aygıtı" ihraç eder. SAN'lerin örnekleri, Fiber Kanal ve iSCSI'yi içerir. NAS bir dosya veya klasör gibi bir "dosya sistemi" ihraç eder. NAS'ların örnekleri CIFS / SMB (Windows dosya paylaşımı) ve NFS'yi içerir.
RAID0 (aka Striping) bazen "bir sürücü başarısız olduğunda bırakacağınız veri miktarı" olarak anılır. "R" nin "Artık" anlamına geldiği "RAID" tanesine karşı çalışır.
RAID0 veri bloğunuzu alır, diskleri olduğu kadar parçalara böler (2 disk → 2 parça, 3 disk → 3 parça) ve daha sonra verilerin her parçasını ayrı bir diske yazar.
Bu, tek bir disk arızasının tüm diziyi yok ettiği anlamına gelir (çünkü Bölüm 1 ve Bölüm 2'ye sahipsiniz, ancak Bölüm 3'e sahip değilsiniz), ancak çok hızlı disk erişimi sağlar.
Genellikle üretim ortamlarında kullanılmaz, ancak yanıltıcı olmaksızın kaybolabilecek tamamen geçici verilere sahip olduğunuz bir durumda kullanılabilir. Aygıtları (örneğin bir L2Arc aygıtı gibi) önbelleğe almak için kullanılır.
Kullanılabilir toplam disk alanı, birlikte eklenen dizideki tüm disklerin toplamıdır (örn. 3x 1TB diskler = 3TB alan)
RAID 1 (aka Yansıtma) verilerinizi alır ve iki veya daha fazla diske aynı şekilde kopyalar (genellikle yalnızca 2 disk olsa da). İkiden fazla disk kullanılıyorsa, aynı bilgiler her diskte saklanır (hepsi aynıdır). Üç diskten daha az olduğunda veri yedekliliğini sağlamanın tek yolu budur.
RAID 1 bazen okuma performansını artırır. RAID 1'in bazı uygulamaları her iki diskten de okuma hızını iki katına çıkarır. Bazıları sadece herhangi bir ek hız avantajı sağlamayan disklerden birini okuyacaktır. Diğerleri her iki diskten de aynı verileri okur, dizinin her okunuşunda bütünlüğünü sağlar, ancak bu tek bir diskle aynı okuma hızıyla sonuçlanır.
Genellikle, iki disk için ya da artıklık gerektiren iş istasyonlarında yer alabilen 1RU sunucuları gibi çok az disk genişletme özelliğine sahip küçük sunucularda kullanılır. "Kaybedilen" alanın yüksek yükü nedeniyle, aynı düzeyde kullanılabilir depolama düzeyini elde etmek için iki kat fazla para harcamanız gerektiğinden, küçük kapasiteli, yüksek hızlı (ve yüksek maliyetli) diskler ile maliyeti engelleyebilir.
Kullanılabilir toplam disk alanı, dizideki en küçük diskin boyutudur (örn. 2x 1TB diskler = 1TB alan).
1E RAID seviyesi, RAID 1'e benzerdir, bu veriler her zaman (en azından) iki diske yazılır. Ancak RAID1'in aksine, veri bloklarını birkaç disk arasında birleştirerek tek sayıda diske izin verir.
Performans özellikleri RAID1'e benzerdir, hata toleransı RAID 10'a benzer. Bu şema, üçten daha fazla sayıda disk sayısına (muhtemelen nadiren RAID 10E olarak da adlandırılır) genişletilebilir.
RAID 10, RAID 1 ve RAID 0'ın bir kombinasyonudur. 1 ve 0'ın sırası çok önemlidir. 8 diskiniz olduğunu varsayalım, 4 RAID 1 dizisi oluşturacak ve ardından 4 RAID 1 dizisinin üstünde bir RAID 0 dizisi uygulayacaktır. En az 4 disk gerektirir ve çiftlere ek diskler eklenmelidir.
Bu, her bir çiftin bir diskinin arızalanabileceği anlamına gelir. Yani A, B, C ve D, A1, A2, B1, B2, C1, C2, D1, D2 disklerini ayarladıysanız, her setten (A, B, C veya D) bir diski kaybedebilirsiniz ve yine de işleyen bir dizi.
Ancak, aynı setten iki disk kaybederseniz, dizi tamamen kaybolur. Kaybedebilirsin kadar (ancak garanti edilmez) disklerin% 50'si.
RAID 10'da yüksek hız ve yüksek kullanılabilirlik garantisi vardır.
RAID 10, RAID dizisi yeniden oluşturulmadan önce, özellikle bir disk arızasının ikinci bir disk arızasını daha olası kıldığı yüksek kapasiteli disklerde çok yaygın bir RAID seviyesidir. İyileşme sırasında performans düşüşü, RAID 5 karşı tarafına göre çok daha düşüktür, çünkü verileri yeniden oluşturmak için sadece bir sürücüden okumak zorundadır.
Kullanılabilir disk alanı, toplam alanın toplamının% 50'sidir. (örneğin 8x 1TB sürücüler = 4TB kullanılabilir alan). Farklı boyutlar kullanırsanız, her diskten yalnızca en küçük boyut kullanılır.
Linux kernel'in yazılım raid sürücüsünün md olarak adlandırılmasının, tuhaf bir miktarda sürücü, yani 3 veya 5 diskli bir raid10 ile raid10 konfigürasyonlarına izin verdiğini belirtmek gerekir:
RAID 10'un tersi. İki RAID 0 dizisi oluşturur ve ardından bir RAID 1'i üst üste koyar. Bu, her setteki bir diski (A1, A2, A3, A4 veya B1, B2, B3, B4) kaybedebileceğiniz anlamına gelir. Ticari uygulamalarda görülmesi çok nadir, ancak RAID yazılımı ile yapmak mümkündür.
Kesinlikle açık olmak gerekirse:
RAID 10'a ek bir hız kazandırmaz, ancak büyük ölçüde daha az yedeklilik sağlar ve her ne pahasına olursa olsun kaçınılmalıdır.
RAID 5, onlarca yıldır en sık kullanılan RAID seviyesi olmuştur. Dizideki tüm sürücülerin sistem performansını sağlar (hafif bir ek yüke neden olan küçük rastgele yazmalar hariç). Parite hesaplamak için basit bir XOR işlemi kullanır. Tek sürücü arızası durumunda, bilgiler bilinen verilerdeki XOR işlemi kullanılarak kalan sürücülerden yeniden oluşturulabilir.
Ne yazık ki, bir sürücü arızası durumunda, yeniden inşa süreci çok IO yoğun. RAID'deki sürücüler ne kadar büyük olursa, yeniden oluşturma işlemi o kadar uzun sürer ve ikinci bir sürücü arızası o kadar yüksek olur. Büyük yavaş disklerin hem yeniden inşa etmek için çok daha fazla veriye hem de daha az performansa sahip olduğundan, genellikle RAID5'i 7200 RPM veya daha düşük bir şeyle kullanmanız önerilmez.
Yeniden oluşturma işleminin neredeyse tüm veri kaybına neden olan başka bir sürücü arızası oluşturduğu garanti edilen maksimum bir raid5 boyutu yaklaşık 12 TB'dir.
Bu rakam, sürücü üreticileri tarafından yaygın olarak bildirildiği üzere, 10 ^ 14'lük SATA sürücülerinin kurtarılamayan okuma hatası (URE) oranına dayanmaktadır. Uygulamada bu, her 100.000.000.000.000 bitin bir URE'yi atacağı anlamına gelir. Hangisi daha az veya 12 TB'ye eşittir.
Yedi 2 TB sürücülü bir baskın 5 örneğini alırsak. Bir sürücü arızalandığında altı sürücü kalır. Baskının yeniden inşası için kontrolörün her biri 2 TB'da altı sürücüden okuması gerekir. Yukarıdaki şekle bakıldığında, yeniden yapılanma bitmeden başka bir URE'nin gerçekleşeceği neredeyse kesin. Bu bir kez baskın 5 ve bunun üzerindeki tüm veriler kaybolur.
Ayrıca RAID 5'in güvenilir (pil destekli) bir yazma önbelleğinin arkasına konması da zorunludur. Bu, bir yazının ortasında bir başarısızlık durumunda meydana gelebilecek küçük yazıların yanı sıra düzensiz davranışların önüne geçer.
RAID 5, bir diziye fazladan depolama eklenmesi için en uygun maliyetli çözümdür, çünkü yalnızca 1 diskin kaybı gerekir (Ör. 12x145GB diskler = 1606GB kullanılabilir alan). En az 3 disk gerektirir.
RAID 6, RAID 5'e benzer ancak yalnızca bir tanesinin yerine iki disk değeri kullanır (birincisi XOR, ikincisi bir LSFR'dir), böylece veri kaybı olmayan diziden iki diski kaybedebilirsiniz. Yazma cezası RAID 5'ten yüksektir ve daha az alana sahip bir diskiniz vardır.
Sonunda bir raid6'nın bir raid5 gibi benzer sorunlarla karşılaşacağını düşünmeye değer. Daha büyük sürücüler daha büyük yeniden oluşturma sürelerine ve daha fazla gizli hatalara neden olur. Sonunda, bir yeniden yapılanma tamamlanmadan önce baskının ve tüm verilerin başarısız olmasına neden oldu.
RAID 50, RAID 10'a benzer bir yuvalanmış düzeydir. Bir RAID 0'da iki veya daha fazla RAID 5 dizisini ve şerit verisini birleştirir. Bu, birden fazla diskin kaybolduğu sürece hem performans hem de çoklu disk yedeklemesi sunar. farklı RAID 5 dizileri.
RAID 50'de disk kapasitesi n-x'dir, burada x, dizili olan RAID 5 sayısıdır. Örneğin, basit bir 6 disk RAID 50 ise, mümkün olan en küçük, eğer iki RAID 5'de 6x1TB diskler varsa ve bunlar RAID 50 olmak için çapraz çizildiyse, 4TB kullanılabilir depolama alanına sahip olursunuz.
RAID 6, RAID 5'in RAID 50'ye olması nedeniyle RAID 60'a geçer. Temel olarak, bir RAID 0'da verilerin daha sonra sıraya dizildiği birden fazla RAID 6'ya sahipsiniz. Bu kurulum, kümedeki herhangi bir RAID 6'nın iki üyesine izin verir. veri kaybı olmadan başarısız olmak. RAID 60 dizileri için yeniden oluşturma süreleri önemli olabilir, bu nedenle dizideki her RAID 6 üyesi için bir tane sıcak yedek olması genellikle iyi bir fikirdir.
RAID 60'da disk kapasitesi n-2x'dir, burada x, dizili olan RAID 6'ların sayısıdır. Örneğin, basit bir 8 disk RAID 60 ise, mümkün olan en küçük, eğer iki RAID 6'da 8x1TB diskler varsa ve bunlar RAID 60 olmak üzere çapraz çizildiyse, 4TB kullanılabilir depolama alanına sahip olursunuz. Gördüğünüz gibi, bu bir RAID 10'un 8 üye bir dizi için vereceği aynı miktarda kullanılabilir depolama alanı sağlar. RAID 60 biraz daha fazla olurken, yeniden oluşturma süreleri büyük ölçüde daha büyük olacaktır. Genel olarak, RAID 60'ı yalnızca çok sayıda diskiniz varsa dikkate almak istersiniz.
RAID-Z, ZFS'nin depolama ve dosya sistemlerinin nasıl etkileşimde bulunduğunu kökten değiştirdiği için açıklamak biraz karmaşıktır. ZFS, ses yönetiminin geleneksel rollerini (RAID, Birim Yöneticisi'nin bir işlevidir) ve dosya sistemini kapsar. Bu nedenle, ZFS, hacminin şerit seviyesinden ziyade dosyanın depolama bloğu düzeyinde RAID yapabilir. Bu tam olarak, RAID-Z'nin yaptığı gibi, dosyanın her bir şerit kümesi için bir parite bloğu da dahil olmak üzere birçok fiziksel sürücüde dosya depolama bloklarını yazar.
Bir örnek bunu daha açık hale getirebilir. ZFS RAID-Z havuzunda 3 diskiniz olduğunu, blok boyutunun 4 KB olduğunu varsayalım. Şimdi sisteme tam olarak 16KB olan bir dosya yazıyorsunuz. ZFS bunu dört 4 KB bloğa böler (normal bir işletim sistemi gibi); o zaman parite iki blok hesaplar. Bu altı blok, RAID-5'in verileri ve pariteleri nasıl dağıtacağına benzer sürücülere yerleştirilecektir. Bu, pariteyi hesaplamak için mevcut veri şeritlerinin okunamaması nedeniyle RAID5'e göre bir gelişmedir.
Başka bir örnek, bir önceki haline dayanır. Dosya sadece 4KB olduğunu söyle. ZFS hala bir parite bloğu inşa etmek zorunda kalacak, ancak şimdi yazma yükü 2 bloka indirildi. Üçüncü sürücü, diğer eş zamanlı isteklere hizmet vermekte serbest olacak. Benzer bir etki, yazılan dosyanın havuzun blok büyüklüğünün bir katından daha az olan sürücü sayısıyla çarpıldığında görülmez (yani [Dosya Boyutu] <> [Blok Boyutu] * [Sürücüler - 1]).
Hem Hacim Yönetimini hem de Dosya Sistemini yöneten ZFS, bölümleri veya şerit bloğu boyutlarını hizalama konusunda endişelenmenize gerek olmadığı anlamına da gelir. ZFS, önerilen yapılandırmalarla otomatik olarak her şeyi ele alır.
ZFS'nin doğası, klasik RAID-5/6 uyarılarının bazılarına karşı koyar. ZFS'deki tüm yazılar, bir kopyanın üzerine yazılır; Yazma işlemindeki tüm değişmiş bloklar, mevcut blokların üzerine yazmak yerine, diskteki yeni bir konuma yazılır. Yazma herhangi bir nedenden dolayı başarısız olursa veya sistem orta yazmayı başarısız olursa, yazım işlemi sistem kurtarıldıktan sonra (ZFS niyet günlüğü yardımıyla) tamamen gerçekleşir veya hiçbir şekilde oluşmaz ve olası veri bozulmasından kaçınılır. RAID-5/6 ile ilgili başka bir sorun, yeniden oluşturma sırasında potansiyel veri kaybı veya sessiz veri bozulmasıdır; düzenli
zpool scrub operasyonlar veri kaybına yol açmadan veya veri kaybına yol açmadan sorunları takip etmede yardımcı olabilir ve tüm veri bloklarının kontrol edilmesi, yeniden oluşturma sırasında tüm yolsuzlukların yakalanmasını sağlar.
RAID-Z'nin ana dezavantajı hala yazılım baskısıdır (ve CPU tarafından yüklenen bir donanım HBA'sını boşaltmak yerine yazma yükünü hesaplayan aynı küçük gecikmeden muzdariptir). Bu, gelecekte ZFS donanım hızlandırmayı destekleyen HBA'lar tarafından çözümlenebilir.
Çünkü, herhangi bir standart işlevselliği uygulayan merkezi bir otorite olmadığından, çeşitli RAID seviyeleri evrim geçirmiş ve yaygın kullanımla standartlaştırılmıştır. Birçok satıcı, yukarıdaki açıklamalardan sapan ürünler üretmiştir. Ayrıca, yukarıdaki kavramlardan birini tanımlamak için bazı yeni pazarlama terminolojilerini icat etmeleri oldukça yaygındır (bu, SOHO pazarında en sık görülür). Mümkün olduğunda, tedarikçinin artıklık mekanizmasının işlevselliğini gerçekten tanımlamasını sağlamaya çalışın (çoğu artık gizli bir sos olmadığı için bu bilgiye gönüllü olur).
Bahsetmeye değer, sadece iki diske sahip bir dizi başlatmanızı sağlayan RAID 5 benzeri uygulamalar var. Yukarıdaki RAID 5'e benzer şekilde, verileri bir şerit ve parite üzerinde saklar. Bu, parite hesaplamasının ek yükü ile RAID 1 gibi performans gösterecektir. Avantajı, parite yeniden hesaplanarak diziye disk ekleyebileceğinizdir.
Ayrıca RAID BİR MİLYON !!!!
128 Disks çok hızlı yazıyor, korkunç yazıyor ama çok güvenilir düşünebiliyordum, oh ve mevcut boşluğun 1 / 128'ini alacaksın, bu yüzden bütçe açısından büyük değil. Bunu flash sürücülerle yapma, atmosfere ateş etmeyi denedim ve ...