40 TB sunucu konfigürasyonunda sağlık kontrolü


21

Bilgisayarımda 40 yılım var, ancak bunun gibi bir sunucu kurmak zorunda kalmamıştım, bu yüzden bir n00b sorusu olabilir.

İndirmek için ultra yüksek çözünürlüklü müzik dosyaları sunacak bir müşterim var. Bu durumda FLAC sıkıştırılmış 24 / 192KHz = ~ 10GB / albüm anlamına gelir. (Hayır, ürünün yalnızca arzu edilen yapılandırmasını değil, sadece sunucu konfigürasyonunu tartışmak istemiyorum.) Katalog yaklaşık ultra yüksek ve düşük çözünürlüklü sürümleriyle (iPod'ları için sanırım) yaklaşık 3.000 albüm olacak 35-40 TB ya da birincil veri.

Bu çok özel bir ürün olduğundan, pazar büyüklüğü göreceli olarak küçüktür (düşünün: ses sistemlerinde 20.000 $ + harcayan insanlar), bu, sunucunun% 100 boşta kalacağı (veya buna yakın) anlamına gelir. ColocationAmerica'dan 1Gbps bağlantı ve bant genişliği yaklaşık 20 $ / TB değerinde iyi bir colocation teklifi gibi görünen şey var, bu yüzden şimdi malları teslim etmek için bir kutu yapmam gerekiyor.

Veri erişimi kullanım durumu bir defa yazılır / birçok okunur, bu nedenle yalnızca çift sürücüler için RAID 1 yazılımını kullanmayı düşünüyorum. Bu, ( sanırım ) yedek sürücüleri anında arızalananlar için yeniden yapılandırmama izin verecek , böylece bazı sysadmin sistemdeki kırmızı ışığı görmeden önce ikinci sürücünün yeniden inşasını başlatabilecekti (serbest takas ediyorlar). Gerekirse sürücülerin çoğunun uykuya geçmesine / düşmesine neden olabilirsem, bu çoğu sürücü için çoğu zaman olacaktır.

Hesaplama gücü yolunda fazla bir şeye ihtiyacım yok - bu şey borudan aşağıya yağ nesnelerini sokuyor - ve CPU / anakart bu sayıdaki sürücüyü destekleyebildiği sürece oldukça mütevazı olabiliyor.

Şu anda aşağıdaki yapılandırmayı düşünüyorum:

Chasis: Supermicro CSE-847E26-RJBOD1
Drives: 30 4TB SAS drives (Seagate ST4000NM0023 ?)
MB: SUPERMICRO MBD-X10SAE-O w/ 8GB
CPU: Xeon E3-1220V3 3.1GHz LGA 1150 80W Quad-Core Server

Peki doğru yöne mi gidiyorum, yoksa bu soruna yaklaşmanın tamamen n00b / dinozor yolu mu?

Birkaç noktayı netleştirmek için güncelleme:

  1. ZFS ile ilgili deneyimim yok, çünkü sahip olduğum son Sun ürünü 80'lerin sonlarındaydı. Doğru gelip gelmediğini görmek için biraz RTFMing yapacağım.
  2. Dosya adlarının basit UUID'ler olacağı ve nesnelerin sürücüler arasında dengeleneceği (büyük bir önbellekleme sistemi gibi) olacağı için, gerçekten muhteşem bir şey yapmak için dosya sistemine ihtiyacım yok. Bu yüzden bunları gerçekten 40 ayrı dosya sistemi olarak düşünüyordum ve RAID 1'in doğru olduğunu duydum (ama burada cehaleti kabul ediyorum).
  3. Mevcut beklentilerimiz bir kerede birkaç düzineden fazla dosyayı indirmemizin muhtemel olmadığı ve çoğu durumda herhangi bir dosyayı indiren tam olarak bir kişi olacağı için, tonlarca belleğe ihtiyacımız olup olmadığını bilmiyorum. tamponlar için. Belki 8GB biraz hafif olsa da, 128 GB'ın enerji tüketmekten başka bir şey yapacağını sanmıyorum.
  4. Orada burada belirtilmeyen 2 ayrı makinelerdir: neredeyse tamamen ayrılmış İndir Usta mevcut web mağazası ve bu kolları tüm kimlik doğrulama, yönetim Alıp yeni ürün, politika uygulama (sonuçta bu bir RIAA'nın oyun alanı), geçici URL oluşturma (ve muhtemelen trafik beklentilerimizi aşıyorsa indirme işlemlerini bu canavarlardan birden fazlasına aktarma), kullanım izleme ve rapor oluşturma. Bu, bu makinenin Quaaludes'teki gerbil'ler kullanılarak inşa edilebileceği anlamına geliyor .

ZFS? Yararı nerede?

Tamam, birden fazla ZFS kılavuzunda, SSS'de yol boyunca ilerliyorum. Aptal gibi göründüğüm için beni affet, ama gerçekten de N RAID1 çiftleri antediluvian fikrime göre ZFS kullanmanın yararını anlamaya çalışıyorum . Bu konuda İyi Uygulamalar (2006), sayfa, onlar bile önermek değil 48 cihaz ZFS'yi yapıyorum ama 24 2-cihaz-aynalar - tür yaptığımı bahsettiğini benzeri sesler. Diğer sayfalarda, 1 (bir) ZFS bloğu sunmak için erişilmesi gereken cihazların sayısı belirtilmektedir. Ayrıca, nesne başına 10 GB ve% 80 disk kullanımında, 4TB sürücü başına toplam 320 dosya sakladığımı lütfen unutmayın . Herhangi bir sürücü arızası için N RAID 1'ler ile yeniden oluşturma sürem, bir cihazdan diğerine 4 TB'lık bir yazı.ZFS bunu nasıl daha iyi hale getirir?

Bir dinozor olduğunu itiraf edeceğim, ancak disk ucuz, RAID 1 Anlıyorum, dosya yönetimi ihtiyaçları önemsiz ve Linux'ta ZFS (tercih edilen işletim sistemim) hala biraz genç. Belki fazla muhafazakarım, ama bir üretim sistemine baktığımda, böyle işlerim.

Bunun hakkında düşünmemi sağlayan yorumlarınız için hepinize teşekkür ederim. Hala tam olarak karar vermedim ve geri dönüp birkaç n00b soru daha sormak zorunda kalabilirim.


6
Bu kadar depolama alanı için, 128 gb'den az koç kullanmayı düşünmüyorum bile. Ayrıca, zfs dosya sistemini kullanmayı düşünün.
EEAA

3
RAID1'deki disk çiftleri kulağa korkunç geliyor. Şahsen, bir depolama sunucusu / rafı belirler, onu neredeyse SAS sürücülerine tıkar, hepsini RAID 10 ya da 6'ya koyar, bir ya da iki yedek ekler ve bir gün arardım.
UmutsuzN00b

3
@etherfish - Hesaplama amacıyla RAM gerekli değildir, ancak kesinlikle dosya sistemi önbelleği için gereklidir. Sadece 8GB ile performans korkunç olurdu. Daha da ötesi, eğer ZFS kullanıyorsanız, ki bu gerçekten de sadece fs. ZFS'nin iyi çalışması için çok miktarda RAM'e ihtiyacı vardır . Neyse ki RAM nispeten ucuz.
EEAA

1
Performans 1 Gbps'yi doyurmak için fazlasıyla yeterli olacaktır. Performans sadece dosya sistemindeki bozulma nedeniyle önbellekden çıkarılan diskten blokları yeniden okumak zorunda kaldı ve geçici bir yerleşme beklentisi çok az veya hiç olmadıysa, fazladan RAM için azalan geri dönüş noktalarına 128GB'den çok önce ulaşıldı. Kapsam tabanlı dosya sistemi ve büyük dosyalar göz önüne alındığında, dosya sistemi meta verileri bile önemsiz miktarda RAM işgal eder. Kullanımların bile sürücülerin hecelemesi için yeterince seyrek olmasını bekliyor. '73S.
eter balıkları

5
Sadece disklerin çevrilmesi üzerine bir not - YAPMAYIN! (Nedenini bulmak için bana tıklayın) Spin-Up / Spin-Down geleneksel bir sabit sürücünün hareketli parçalarında çok fazla aşınma olur ve erken bozulmaya neden olur. Enerjiden tasarruf ettiğiniz para, hatalı disklerin yerine kaybolacaktır.
voretaq7

Yanıtlar:


12

Sorun açıklamanıza bağlı olarak, sorununuz depolama alanı kadar sunucu değil.
Sen gibi güvenilir, sağlam dosya sistemi istediğiniz ZFS de büyük depolama kapasitesi işlemek için tasarlanmış, ve yerleşik yönetim yetenekleri yönetmek için sistemin bu son kolaylaştırmak için.

Yorumlarda da belirtildiği gibi, depolama havuzu için ZFS ile giderdim (muhtemelen FreeBSD'de çünkü bu işletim sistemine en aşina olduğum için ve ZFS ile sağlam ve kanıtlanmış uzun bir performans geçmişine sahip olduğum için) - İkinci tercihim OS , iyi test edilmiş ZFS desteği nedeniyle yine Illumos olacaktı ).


Dosyaları sunma konusunda aynı fikirdeyim - verileri ağ bağlantı noktasından çıkarmak için donanım açısından çok fazla ihtiyacınız yok. CPU / RAM için birincil sürücünüz dosya sisteminin (ZFS) gereksinimi olacak.
Genel kural, ZFS'nin 1GB RAM'e ve ayrıca yönettiği her 10TB disk alanına 1GB'a ihtiyaç duymasıdır (yani 40TB için ZFS için 5GB RAM'e ihtiyacınız olacaktır) - bu ilişki oldukça doğrusal olmasa da ZFS hakkında iyi bir kitap / öğretici / dokümanlar çevreniz için bir tahminde bulunmanıza yardımcı olabilir).
ZFS'ye veri tekilleştirme ve veri tekilleştirme gibi ıslıkların daha fazla RAM gerektireceğini unutmayın.

Açıkçası aşağı yukarı RAM gereksinimlerini yukarı yuvarlayın ve cimri olmayın: Eğer matematik 5GB RAM'e ihtiyacınız olduğunu söylüyorsa sunucuyu 8GB ile yüklemeyin - adım 16GB'a kadar.

Daha sonra sunucunuzu doğrudan saklama kutusundan çalıştırabilir (bu, sunucu işlemlerini desteklemek için bu kutuda daha fazla RAM'e ihtiyacınız olacak demektir) veya depolamayı "ön uç" sunuculara uzaktan monte edebilirsiniz. aslında müşteri isteklerini yerine getiriyor.
(İlki başlangıçta daha ucuzdur, ikincisi daha uzun vadede daha iyi ölçeklenir.)


Bu tavsiyenin ötesinde, size verebileceğim en iyi öneriler , Kapasite Planlama serisi sorularımızda zaten ele alınmıştır - temel olarak "Yük Testi, Yük Testi , Yük Testi ".


Methin, matematiğin kapalı. Formülünle 41G'ye ihtiyacı olacak.
EEAA

@EEAA Gerçekten, sıfıra düştüm :-) Ve bunun minimum miktarda RAM olduğunu unutmayın. ZFS 41G'yi kullanmaktan çok mutlu olacak ve önbellek :-) ile
doldurulacaktı

@ voretaq7: Kapasite planlama bağlantısı için teşekkür ederiz; ZFS hakkında okuduktan sonra listemde sırada.
Peter Rowell

Eğer ZFS ile giderseniz, ixsystems.com
sciurus'dan

1
@PeterRowell ZFS'nin en büyük avantajı, çok terabaytlık ölçekli dosya sistemlerini işlemek üzere tasarlanmış olmasıdır - Sun Microsystems'ın potaında oluşturulmuştur ve 21. yüzyıl veri boyutları için (bahsettiğiniz türden) 21. yüzyıl dosya sistemi olarak oluşturulmuştur. . ZFS'nin yararları / sakıncaları ile ilgili bir soru, <başka bir dosya sistemi> ile başka bir ayrı soru için iyi bir konudur, ancak bu nugget'ı bırakacağım: fsckZFS'yi ve makineyi kullanıyorsanız beklemek gibi bir şey yok. çöker. Ben ettik fsck'd terabayt dosya sistemlerini. Oldukça korkunç.
voretaq7

2

ZFS'yi çoklu TB sunucusu için kullanıyorum ve çok sağlamdı. OpenIndiana'yı başlangıçta kullandım ve şimdi FreeNAS'a geçtim ve yapmam gerekeni yaptı.

SAS genişleticilere sahip bir LSI HBA kartı (9211-8i iyi bir temel kart) kullanmanızı öneriyoruz (SuperMicro kılıfları, LSI yonga setlerini temel alan entegre SAS genişleticilerle birlikte sipariş edilebilir). LSI üretici yazılımı FreeNAS ve FreeBSD'de desteklenir. Uygun sürümleri kontrol edin (V16, FreeBSD V9.x'te iyidir).

Yazma sisteminizin birçok yapısını okuduğunda, bir ZFS Z2 topolojisi kullanırdım (bu boyutta sürücülerle RAID-5 ve Z1 kullanmaktan kaçının). 4 TB disk kullandığınız göz önüne alındığında, büyük bir tek vDev dizisi için yeniden oluşturma (yeniden oluşturma) süresi, havuz doluysa, uzun bir zaman olacaktır. Yeniden oluşturma sürelerinin uzun olmasını önlemek için, vDev'leri havuzu oluşturmak için 6 veya 10'luk gruplar halinde düzenleyin (FreeNAS belgelerinin önerileri). Üç adet 6 sürücü vDev'den oluşan bir havuz (varsayılan 4TB sürücüler), kullanılabilir ~ 48TB kapasiteye sahip olacak ve iyi bir hata toleransı seviyesi sunacak (RAID yedeklemelerinin yerini almadığı için hala malzemeleri yedeklemeniz gerektiğini unutmayın) :).

Yaygın olarak erişilen dosyalar için işleri hızlandırmak için, L2ARC için birkaç SSD atabilirsiniz (muhtemelen uygulamanız için gerekli değildir ancak 120 GB SSD'ler için oldukça ucuzdur).

Ve belirtildiği gibi, çok miktarda RAM kullanın. Sistemdeki diğer donanımlara göre 64GB fazla pahalı değil. Ne yazık ki, daha küçük olan XEON 32GB'tan fazla kullanamaz. Bunu deneyebilirsin ama ZFS literatürüne göre daha fazla RAM daha iyi olurdu (Bahsettiğin XEON'u 32GB ram ve 24TB kapasiteli Z2 dizisiyle kullanıyorum ve iyi çalışıyor).

ZFS'nin bir başka avantajı da periyodik anlık görüntüler ayarlayabilmenizdir. Bu sayede önceki sürümleri kolayca geri yükleyebilirsiniz ve anlık görüntüler çok az yer kaplar. Ayrıca, herhangi bir anlık görüntüyü başka bir veri kümesine (yerel veya uzak) çoğaltabilirsiniz ve bu güvenlik için SSH üzerinden yapılabilir.

ZFS sisteminin güvenilirliğini gerçekten çok seviyorum. Ben de donanım BAĞIMSIZ olduğu gerçeğini seviyorum! Sürücüleri görebilen herhangi bir sistem havuzu alabilir. Donanım baskısıyla oluşabilecek hiçbir donanım yazılımı bağımlılığı vb. (Daha iyi kartlarla ilgili bir sorun değil, ancak HBA kartlarına göre daha pahalı ve sürücülere ihtiyaç duyuyorlar vb.

Bu gönderi daha eski olduğu göz önüne alındığında, muhtemelen bir çözümünüz vardır. Eğer öyleyse, bize ne yaptığını söyler misin?

Alkış,

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.