İki fiziksel sürücünüz varsa:
RAID0: Hızlı, ancak artıklık yok. Herhangi bir sürücü hatası tüm diziyi öldürecektir. Bazı insanlar RAID0 (yani MSSQL altında tempdb) geçici depolama koymak ama yine de dizi düşerse durumu onarılan bir sunucu kesintisi olacak eğer herhangi bir anlamlı veri kaybetmeyecek gibi bu tehlikeli düşünün.
RAID1: İki sürücünüz varsa bunun için gidin. İyi bir denetleyici ile okuma performansının arttığını görebilirsiniz, ancak yazma performansı avantajı yoktur. RAID1'in temel özelliği, ölen sürücülerden birinde hayatta kalmaktır.
Üç fiziksel sürücünüz varsa:
Seçenekleriniz, destekleniyorsa standart olmayan 3 sürücülü RAID10 (veya IBM denetleyicilerinin belirttiği RAID1E) olan RAID5'dir. Elbette RAID1'i kullanabilir ve diğerlerinden biri arızalandığında ekstra sürücüyü yedek olarak tutabilirsiniz, ancak yine de kritik bir ortamda yedek parça tutmalısınız, bu yüzden söylemeye gerek yok.
RAID5, RAID10'dan (bir buçuk yerine iki sürücü değerinde) daha fazla alan sunar, ancak denetleyicinin yazılan her blok için eşlik bloğunu okuması, güncellemesi ve geri yazması gerektiği gibi potansiyel bir yazma performansı sorunu vardır. Her yazma için en az iki yazma olduğundan veritabanı yazma işlemleri için bu yazma performansı sorunu ikiye katlanabilir: biri işlem günlüğüne ve diğeri de gerçek veri alanlarına. Günümüzde alan ucuz olduğundan, daha iyi yazma performansı için destekleniyorsa 3 sürücülü RAID10'u öneriyorum. Linux'un yazılımı RAID, birçok IBM denetleyicisi gibi (RAID1E olarak adlandırılır) bunu sunar. Standart bir düzenleme olarak kabul edilmediğinden, standart bir ada sahip olmadığı için diğer adlar altında da bulabilirsiniz.
Hem R5 hem de üç üzeri R10 aynı yedekliliği sağlar (herhangi bir sürücü bir seferde başarısız olabilir ve dizi hayatta kalacaktır) ve benzer okuma performansı metrikleri (iki sürücülü bir RAID0 dizisine benzer).
Dört fiziksel sürücünüz varsa:
Yalnızca bir dizi oluşturuyorsanız, iki seçenek vardır (etkin yedek "varyasyonlarıyla" yoksayılıyor): RAID6 ve "geleneksel" RAID10 (RAID1'lerin RAID0'ları).
Her ikisi de aynı alanı verir (dördünüzün iki sürücüsü). RAID10, olası iki sürücünün gittiği altı durumdan yalnızca dördünde hayatta kalabildiği için herhangi bir iki sürücünün arızalanabileceği için RAID6 daha iyi yedeklilik sağlar. Her ikisi de simialr okuma performansı sağlar, ancak RAID6'nın RAID5'lere benzer bir yazma performansı sorunu vardır (iyi bir denetleyicide aynıdır, ancak kötü bir denetleyicideki RAID5'ten veya işletim sistemine bağlı bir G / Ç kontrol özelliklerine bağlı olarak RAID yazılımından daha yavaş olabilir. genellikle performans nedenleriyle veritabanları için tercih edilir - fazladan yedeklemeye ihtiyacınız varsa altı sürücü kullanabilir ve bir RAID0 veya 2 3 sürücülü RAID1'e sahip olabilirsiniz.
Dört veya daha fazla sürücünüz olduğunda, ayrı bir RAID1 dizisine sahip olabileceğiniz için işler daha ilginç hale gelir. Bu, veri depolarınızı bir dizide tutarak ve işlem günlüklerini başka bir dizide tutarak eğirme diskleri ile önemli performans avantajları sunabilir - bu, bazı durumlarda kafa hareketlerini önemli ölçüde azaltabilir ve "rastgele" erişim nedeniyle arama sürelerini gerçek bir performans katilidir. Bir veri ambarı için, bunun göreceli olarak çok az sayıda yazma göreceği anlamına gelir, işlem günlüklerini veri dosyalarından ayırmak daha sınırlı fayda sağlayabilir, ancak yine de birden çok diziyi düşünmek ve bunun yerine verilerinizi potansiyel olarak daha iyi okuma performansı için bölümlemek isteyebilirsiniz .
Dörtten fazla sürücünüz varsa:
Burada seçenekler tamamen açık hale gelir ve bu gerçekten verilerinizin ne olduğuna ve beklenen güncelleme / okuma yükleri / kalıplarının ne olduğuna bağlıdır. Örneğin, hizmetlerimizden biri 12 ~ 70Gb sürücülerde çalışır:
- Sistem alanları için 4x RAID10 (OS, SQL Server (bizim durumumuzda MSSQL), takas, tempdb).
- Veri dosyaları için RAID10 olarak 4x
- İşlem günlükleri için RAID10 olarak 4x
Tempdb sistem dizisinde tutulur. Diğer iki diziye taşıyabilir ve sistem dizisini RAID1'de 2 sürücü olarak çalıştırabiliriz, çünkü sistem parçaları için ekstra hız çok gerekli değildir (çünkü önyükleme sırasında veya takas sırasında gerçekten önemlidir ve asla takas etmek için yeterli RAM), ancak bu makine seti için barındırma sağlayıcısını ödeme yöntemimizle, iki sürücüyü düşürmek için bize daha az mal olmazdı. Yedeklemeler ayrıca sunucu dışı, site dışı ve çevrimdışı yedekleme konumlarına kopyalanmadan önce sistem dizisine gider.
Tabii ki bu bazı veritabanları için ciddi bir şekilde abartılıyor (küçük bir blog sunucusunu bu şekilde çalışmanın bir anlamı olmaz!) Ancak ana uygulamamız bu düzenleme ile çok iyi bir performans sergiliyor.
Altı sürücünüz varsa, üç RAID1 dizisini veya iki üç sürücülü RAID10 dizisini düşünebilirsiniz.
genellikle
Maalesef, sisteminizin boyutuna ve kullanım şekillerine çok bağlı olduğundan, gerçek bir basit "en iyi uygulama" yoktur. Düşünebildiğim veya yapabileceğim tek genel kural:
- yazma performansı sorununun sizi önemli ölçüde etkilemeyeceğini bilmiyorsanız RAID5 ve 6'dan kaçının
- dört veya daha fazla dönen disk tabanlı sürücü ile kafa hareketlerini azaltmak için işleri birden fazla diziye ayırmayı düşünün (dikkate alınacak fiziksel kafa hareketleri olmadığından, birden fazla dizinin tam faydası iyi SSD'ler için geçerli olmayacaktır, ancak SSD'lerin denetleyicisinin yazma birleştirme stratejisi vb.)
- test edin, test edin ve tekrar test edin: seçtiğiniz düzenlemenin gerçekten en uygun olduğunu doğrulamak için zaman bulmaya çalışmak her zaman iyidir
Donanım veya Yazılım RAID?
Eşlik hesaplamaları ve sürücüler ile CPU arasındaki yavaş arabirimler nedeniyle yapılan tüm düzenlemeler için RAID yazılımının performansının RAID 5 için donanım RAID'inin altında olmasıydı. Modern CPU'larda parite kireç sorunu gerçekten bir sorun değildir, ancak çok hızlı sürücülere sahipseniz, sürücülerin toplam hızı herhangi bir yere gelebiliyorsa donanım RAID yine de kazanabilirmakinenin disk denetleyicisiyle ne kadar hızlı konuşabileceğine yakın (büyüklük sırasına göre, bir tahminle). Yazılım RAID ile dört sürücülü bir RAID1 diziniz varsa (örn. Çok fazla yedeklilik için aynı verilerin dört kopyası), her yazma işlemi işletim sisteminin I / O denetleyicisine, muhtemelen bir donanımla birlikte dört lot veri göndermesiyle sonuçlanır. OS sadece bir yazma isteği gönderir ve kontrolör bunu muhtemelen dört sürücüye paralel olarak gönderir.
İyi donanım RAID'in başka avantajları da olabilir: bazı yüksek özellikli denetleyicilerin pil yedeklemeli yazma önbelleği vardır, böylece UPS'iniz arızalansa bile bekleyen yazma işlemleri güç kesintisinde kaybolmaz.
Yazılım RAID'i daha ucuz ve daha taşınabilirdir, bu nedenle denetleyicileri / makine arızası nedeniyle dizileri taşımak zorunda kalırsanız belirli bir denetleyiciye bağlanmazsınız.
Ucuz donanım RAID genellikle yazılım ve donanım RAID negatiflerini birkaç avantajla birleştirir (veya bunların hiçbirini kullanmaz).
Yazılım geliştirici, test ve UAT sunucularımızda RAID ve canlı müşteri / halka açık hizmetler çalıştıran sunucular için iyi donanım RAID'i kullanma eğilimindeyim.