Hangi ağ dosya paylaşım protokolü en iyi performans ve güvenilirliğe sahiptir? [kapalı]


36

Yük dengeli olan birkaç web sunucusu ile bir kurulumumuz var. Tüm web sunucularının erişebileceği bir tür ağ paylaşımlı depolama alanına sahip olmak istiyoruz. Kullanıcılar tarafından yüklenen dosyaları depolamak için bir yer olarak kullanılacaktır. Her şey Linux kullanıyor.

NFS, CIFS, SMB, sigorta + sftp, sigorta + ftp kullanmalı mıyız? Ağ dosya paylaşım protokolleri için çok fazla seçenek var, bir tane seçmek çok zor. Temel olarak, sadece bir payını birden fazla makineye kalıcı olarak bağlamak istiyoruz. Güvenlik özellikleri daha az endişe vericidir, çünkü onu bağlayan sunuculardan başka hiçbir yerden ağa erişilemez. Sadece güvenilir ve hızlı çalışmasını istiyoruz.

Hangisini kullanmalıyız?


Web sitenizin önüne bir hızlandırıcı eklerseniz, örneğin kalamar hızlandırıcı veya bulut patlaması gibi hayat çok daha kolaydır. Bir sonraki en iyi şey, değiştirilen içeriği dosyalar yerine memcache veya veritabanına yazmaktır. Paylaşılan dizinler daha büyük siteler için değildir.
Antti Rytsölä Circles,

Yanıtlar:


29

NFS'ye oy veriyorum.

NFSv4.1, paralel veri erişimini mümkün kılan Paralel NFS pNFS özelliğini ekledi. Ne tür müşterilerin depolamayı kullandıklarını merak ediyorum, ancak Unix gibi performans performanslarına dayanarak NFS için gidecektim.


NFS
Ophidian

21

Kısa cevap NFS kullanmaktır. Bu çatışmada ve kendi deneyimime göre, daha hızlı.

Ancak, daha fazla seçeneğiniz var! Birden fazla bilgisayarın aynı anda erişebildiği bir dosya sistemi olan GFS gibi bir küme FS'yi düşünmelisiniz. Temel olarak, bir blok cihazını bir GFS dosya sistemi olan iSCSI üzerinden paylaşırsınız. Tüm istemciler (iSCSI parlance başlatıcıları) okuyabilir ve yazabilir. Redhat'ta bir beyaz kağıt var . Aynı şeyi yönetmek için Oracle'ın küme FS OCFS de kullanabilirsiniz .

Redhat kağıdı, FS vs NFS kümesinin artılarını ve eksilerini listeleyen iyi bir iş çıkarır. Temel olarak, ölçeklendirilecek çok fazla alan istiyorsanız, GFS muhtemelen çabaya değer. Ayrıca, GFS örneği örnek olarak bir Fiber Kanal SAN kullanır, ancak bu kolayca RAID, DAS veya iSCSI SAN olabilir.

Son olarak, Jumbo Çerçeveleri'ne baktığınızdan emin olun ve eğer veri bütünlüğü kritikse, iSCSI'yi Jumbo Çerçeveli kullanıyorsanız, CRC32 sağlama toplamı kullanın.




tanıtım
broşürü

18

2 tane sunucu yükü açık web kümemiz var. Sunucular arasında içerik senkronize etmek için aşağıdaki yöntemleri denedik:

  • Her sunucudaki yerel sürücüler, her 10 dakikada bir RSYNC ile senkronize edildi
  • Her iki sunucu için merkezi bir CIFS (SAMBA) paylaşımı
  • Her iki sunucuda merkezi bir NFS paylaşımı
  • OCFS2 çalıştıran paylaşılan bir SAN sürücüsü her iki sunucuyu da bağladı

RSYNC çözümü basit oldu, ancak değişiklikler göstermeye ve RSYNC biz her saniye duraklatmak için özel komut dosyası ile boğmak zorunda sunucularda bu kadar yük koymak için 10 dakika sürdü. Ayrıca sadece kaynak sürücüye yazmakla sınırlı kaldık.

En hızlı performans sergileyen paylaşılan sürücü OCFS2'nin delirinceye ve kümeyi kilitleyene kadar kümelenmiş sürücüsüdür. OCFS2 ile dengeyi koruyamadık. Birden fazla sunucu aynı dosyalara eriştiğinde, çatıya tırmanır ve sunucular yeniden başlatılmaya başlar. Bu, bizim tarafımızdan bir eğitim hatası olabilir.

Bir sonraki en iyisi NFS oldu . Son derece stabil ve hataya dayanıklı olmuştur. Bu bizim mevcut kurulumumuz.

SMB (CIFS) bazı kilitleme problemleri yaşadı. Özellikle SMB sunucusundaki dosyalarda yapılan değişiklikler web sunucuları tarafından görülmedi. SMB ayrıca SMB sunucusu üzerinden başarısız olunca bekleme eğiliminde

Sonuç olarak, OCFS2'nin en fazla potansiyele sahip olduğu ancak üretimde kullanmadan önce bir LOT analizi gerektirdiği sonucuna vardı. İleri ve güvenilir bir şey istiyorsanız, yerine çalışma için Heartbeat ile bir NFS sunucu kümesi öneririm.


2
OCFS2 ile aynı deneyimi yaşadık: çöküşe kadar harika.
MiniQuark

5

Size POHMELFS'i öneririm - Rus programcı Evgeniy Polyakov tarafından yaratıldı ve gerçekten çok hızlı.


3

Güvenilirlik ve güvenlik açısından, muhtemelen CIFS (Samba), ancak NFS "çok daha hafif görünüyor" ve dikkatli bir yapılandırma ile, değerli verilerinizi ağdaki diğer tüm makinelere tamamen göstermemek mümkündür ;-)

SİGORTA'ya hakaret etmek yok, ama hala ... taze demek istiyorsun, demek istediğimi anlıyorsan Henüz güvenip güvenmediğimi bilmiyorum, ama bu sadece eski bir sisli olmam olabilir, ancak eski sisselizm bazen değerli kurumsal verilere gelince garanti altına alınır.

Birden fazla makineye kalıcı olarak bir pay vermek istiyorsanız ve bazı garipliklerle (çoğunlukla UID / GID sorunları) birlikte oynayabilirsiniz, sonra NFS kullanın. Onu kullanıyorum ve uzun yıllar boyunca var.


2
SİGORTA kendisi o kadar yeni değil, bu yüzden ona güvenirim, ancak üzerine kurulu dosya sistemlerinin bir kısmı yenidir ve kesinlikle sağlıklı bir şüphecilik gerektirir. Bu da, gerçek dünyada, en azından testlerin artmasına neden oluyor :)
pjz

2

NFS. Denenmiş ve doğru, sağlam bir kurulumunuz olabilir. GFS performansı, özellikle çok sayıda küçük dosya içeren dosya sistemlerinde genellikle korkunçtur. OCFS'yi kullanmadım, ancak genellikle küme dosya sistemi kavramını kaşlarını çattıyorum. Sonra Luster var, ama bu başka bir solucan kutusu ...


1

NFS'ye karşı tavsiyede bulunabilirim. Basitçe söylemek gerekirse, JBoss, Apache, Tomcat ve Oracle ile ortak yapılandırma dosyaları için NFS paylaşımlarını kullanan ve kayıt yapan bir web sunucusu grubumuz vardı.

NFS paylaşımı kaybolduğunda (kuşkusuz nadir görülen bir olay) her şey yeni çöktü (gerçekten tahmin edilebilir ve bu ayar zamanı kısayoluna karşı 'geliştiriciler' önerdim).

Kullandığımız NFS sürümüyle ilgili bir sorun var gibi görünüyor, eğer hedef yazma sırasında kaybolursa, müşteri NFS hedefinin geri gelmesini bekleyerek bitmeyen bir bekleme döngüsüne girer. NFS kutusu tekrar takılsa bile - döngü hala bitmedi.

RHEL 3,4,5 karışımı kullanıyorduk. Depolama RHEL4'taydı, sunucular RHEL5'teydi, depolama ağı ayrı bir ağdı ve vlanslarda çalışmıyordu.

Yük dengeli bir ön uç varsa, tekli depolamayı kontrol etmek - bu sisteminizi tıkamaz mı?

Yüklenen dosyayı, dosya yüklendiğinde ftp / scp ile depoya taşımak için olaya dayalı bir komut dosyasıyla, depolama alanınıza salt okunur bir iSCSI bağlantısını düşündünüz mü?

Birden fazla okuma kafası için başarılı bir merkezi depolama uyguladığım tek zaman EMC depolama dizisindeydi ... Diğer tüm uygun maliyetli girişimlerin dezavantajları vardı.


1

GFS olarak kabul edilir? GFS bir küme dosya sistemidir ve deneyimlerime göre oldukça güvenilir. Birden fazla dergiye sahip olabilir, oldukça iyi ölçeklenir

Ancak, bazı küme servislerini kurmanız gerekir ve GFS'nin hızı tam olarak bilinmez. Otoh, her zaman benim için yeterince hızlı oldu, ama ymmv.


1

GFS gibi dağıtılmış bir FS'yi düşünmek için aklınızdan çıkmış olacaksınız ve iSCSI gereğinden fazla.

Basit istiyorsanız, NFS ile gidin. Basit ve hızlıdır ve yumuşak tutturucularla oldukça sağlamdır. Ayrıca onunla birlikte gelen tüm kilitleme çöplüğünü devre dışı bırakmayı da düşünün. Ev dizinlerini ve uygulamalarını NFS'den alan Linux masaüstlerine sahibim, iyi çalışıyor.

Çirkin bir hız istiyorsanız, GFS'den ayarlanması çok daha kolay olan ve RAID NFS'ye çok benzeyen Lustre ile devam edin. Kümelerimiz için Lustre kullanıyoruz.


1

Biraz gecikebilirim, Küme çift bağlantı noktasına sahip bir MD3220 Dell Depolama Birimi kullanıyoruz. Ünitemizde 2 denetleyici var, bir saniye düşerse bu sorunu çözene kadar çalışmaya devam edecek. HDD, FAN, Güç kaynağı ve Denetleyici hepsi Hotswap olduğundan, parçaları içeri ve dışarı değiştiriyoruz. Format olarak NFS kullanıyoruz.


0

Zaten her yerde web sunucusu kullanıyorsanız ve bunları çalıştırmakta başarılıysanız, neden WebDAV'ı düşünmüyorsunuz?


0

NFS için basit cevap +1. Yıllarca sorunsuz bir şekilde takılan NFS paylaşımlarına sahibim.

Süper güvenilirlik arıyorsanız, DRBD'yi dağıtılmış, otomatik yük devretme NFS dosya sistemi için de karışıma atmayı düşünün.

(Aşina olduğum) diğer tek seçenek iSCSI'dir ancak yapılandırılması arkadan bir ağrı olabilir ...


0

Çeşitli maliyetlerle bir sürü seçeneğiniz var. SAN, FC, iSCSI veya en son eklenenlerden biriyle paylaşıldı. Her durumda, kurulumları pahalı olabilir ve yine de küme uyumlu bir dosya sistemi çalıştırmanız gerekir. Kümelenmiş dosya sistemleri bir acı dünyasıdır. Herhangi bir başarı umudu için küme iletişimi ve veriler için ayrı yüksek hızlı, düşük gecikmeli ağlara ihtiyacınız vardır. Bununla birlikte, bir düğümün halka çitle çevrilip öldürülmesine neden olan aksaklıklar ortaya çıkma olasılığı yüksektir.

Karşılaştığım sadece küme dosya sistemi sadece uğraşmadan çalışıyor VMFS. Ancak bu çok özel, genel kullanım için mevcut olsa bile faydası olmayacaktı.

NFS muhtemelen kurulumunuza gitmenin yoludur. Direnç konusunda endişeleniyorsanız, uygun bir kümelenmiş NFS kutusu edinmeniz gerekir. Bir homebrew kurulumu yapabilirsiniz, ancak yukarıdaki soruna vurabilir. En iyi bahis (paranız varsa), kümelenmiş NetApp dosyalarıdır. Bu pahalı bir seçenek, ancak kümeleme aslında herhangi bir zorluk olmadan çalışıyor. Sadece bu değil, çok hızlılar.


0

Bazılarının NFS'ye verdiği uyarıyı tekrarlardım - NFS muhtemelen en iyi bahis olmasına rağmen (sesler garip).

NFS sunucusunun kaybolduğu ve istemcinin NFS sunucusu kaybolduğu için kilidini açmayı veya kapatmayı reddettiği için AC'yi kesmek zorunda olduğum bir NFS istemcisim vardı.

Doğru yapmak için, NFSv4'te ısrar ediyorum, TCP bağlantılarına bağlı kaldım, jumbo çerçeveler kullandım ve bir NFS kümesi kullandım. NFS sunucunuzun kaybolmasını göze alamazsınız.


0

GFS bazı ciddi siyah vudu. Basit bir iki müşteri kümesi çalışmasını sağlamak için gereken iş miktarı, alternatiflere kıyasla şaşırtıcı. OCFS2'nin konuşlandırılması çok daha kolaydır ancak tüm bağlı sunucularda yer alan çekirdek modül sürümlerine gelince çok seçicidir - ve bu sadece başlangıç.

Bir küme dosya sisteminin sunduğu düşük seviye erişim türüne gerçekten ihtiyacınız olmadıkça NFS veya CIFS muhtemelen tek ihtiyacınız olan şeydir.


0

Büyük bir sunucu çiftliğinde birkaç milyon kullanıcı html sayfası oluşturduk. NFS o kadar iyi çalışmadı, bu yüzden onları bir mysql tablosuna koyarak bitirdik. Bir dizin ağacını geçmeye kıyasla genel gider aynıydı.


-2

SFTP kullandım ve amaçlarım için gayet iyi çalıştı - NFS benim ilk başvurduğum yerdi, ancak kullanıcı / grup kimliklerini şaşırtmak beni çok çabuk düşürmemi sağladı.

Sadece publickey auth ayarını yapın ve büyük ölçüde ayarlanacaksınız. SSH şifrelemesi için biraz daha ağır bir CPU ek yükü olabilir, ancak artı tarafta veri bozulmalarıyla ilgili herhangi bir sorunla karşılaşmadım.

FTP, daha hafif olduğundan, amaçlarınıza uygun olabilir. Muhtemelen, web sunucularınızın ssh çalışmasını değil, web sunumu yapmasını istersiniz.

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.