birkaç sunucuda yansıtılmış dosya sistemi


13

Birkaç Linux sunucusu arasında bir dizini (veya bir dosya sistemini) yansıtmak veya çoğaltmak için bir çözüm arıyorum. İdeal çözüm, tüm sunucuların okuma-yazma erişimine izin veren bir çözüm olacaktır. Ben de bana esnek istiyorum, eğer sunuculardan biri düşerse, dinlenme hala herhangi bir veri kaybetmeden w / o çalışması gerekir.

Bazı çözümlere bakıyordum:

  • DRBD : blok düzeyinde çoğaltmalar, biraz abartılı görünüyor;
  • lsyncd : çok basit görünüyor, ama performans konusunda şüphelerim var;
  • GlusterFS : Bu iyi bir eşleşme gibi görünüyor, henüz çoğaltma modunun nasıl çalıştığını henüz çözemedik. İstediğim özelliklere sahip olacak mı?

Diğer önerilerinizi bekliyoruz.


Paylaşılan bir şey yok kurulumuna mı bakıyorsunuz yoksa tüm sunucuları aynı arka uç SAN'a mı bağlayacaksınız?
HampusLi

mantıksal olarak paylaştı-hiçbir şey (fiziksel olarak EBS ile EC2).
vartec

Yanıtlar:


6

Sorduğum ilk soru, bunun iki sunucuya mı yoksa iki sunucuya mı çoğaltılmasını istiyor musunuz? İki sunucu için DRDB ile giderdim, üç veya daha fazla için gluster ile giderdim.

G / Ç gecikmesi kritik bir endişe değilse, gluster ile giderdim. Kurulumu oldukça kolaydır ve ihtiyacınız olanı açıkça yapabilir. Yapmanız gereken tek şey, her üç kutudaki dosyaları sunan bir gluster sunucusu yapmak ve sonra her kutunun dosyaları monte eden bir gluster istemcisi gibi davranmasını sağlamaktır.

DRDB, 3 veya daha fazla sunucuyla bir ana <-> ana modda çalışmaya başlamak için karmaşık olacaktır. Bir halka tabanlı kurulum yapılandırmanız gerekiyor ve ben bunu tavsiye etmem. Ancak iki sunucu için DRDB harika. Ana <-> Ana mod kurulumu karmaşık değildir ve dosya sistemi öğelerinden herhangi birini öğrenmek zorunda değilsiniz.

lsycd bir master / slave kurulumu için mükemmeldir, ancak bunu yapmak istemiyorsunuz.

Ceph hala oldukça yeni, son kontrol ettiğimde henüz fsck desteği bile yoktu. Altyapımı daha kararlı bir şeye dayandırmayı tercih ederim.

Lustre, büyük ölçekli dağıtımlar için harika bir üründür, ancak mds sunucusu için kalp atışı ve yük devretme ayarlamanız gerekir veya tek bir hata noktası olacaktır. Bahsettiği sınırlı sayıda sunucu göz önüne alındığında, bu durumda aşırı yüklenmesinden şüpheleniyorum.


Başlangıçta küme başına sadece 2 sunucu ile başlayacağım, ancak ölçeklendirme için 2'den fazla sunucuya sahip olmak istiyorum; Açıkladığınız gluster kurulumu, çökmekte olan sunuculardan birini ele alacak mı? fazladan sunucu eklemek kolay olur mu?
vartec

2

Ceph veya Lustre ne dersiniz ?


Lustre Ubuntu Sunucusunu destekliyor mu? Şimdi Ceph'e bakıyorum, öneri için teşekkürler.
vartec

Ceph wiki'den: "Ceph ağır geliştirme aşamasındadır ve henüz kıyaslama ve gözden geçirme dışında herhangi bir kullanım için uygun değildir." Ceph.newdream.net/wiki
Jeff Busby

2

OpenAFS'yi incelemeniz gerekir - çoğunlukla dağıtılmış bir dosya sistemi olup, birden çok veri kopyasının kümede dağıtılmasını sağlar ve herkes FS'yi aynı anda okuyabilir / yazabilir.

Bunun yanı sıra diğer kullanışlı özellikler de var (iyi kimlik doğrulama, telde şifreleme, istemcilerde yerleşik yerel önbellekleme, yerel windows istemcisi, birçok unix sürümü arasında taşınabilir, vb.)

Yine de, kurulumu biraz ağır bir asansör.


NFS ile aynı soru: "birden çok kopyaya izin verir". Tamam, ama bu kopyaları gerçekten senkronize etmekle ilgileniyor mu?
vartec

Evet. Ve can sıkıcı olsa da, birincil ustayı kaybetmekten kurtulmak mümkündür. Ancak birden çok yazarın ve sonuçta oluşan blokların birden çok ana bilgisayarda depolanması önemsizdir.
chris

OpenAFS'yi anlamanın anahtarı, bir önbellek yönetim sistemi olmasıdır - bir ad alanı (IE yalnızca bir "dosya" vardır), ancak her yerde önbelleğe alınmış kopyalar ve önbelleğe alınan tüm kopyaların tutarlı olduğundan emin olmak için bir protokol vardır . Master'ı kaybederseniz, önbelleğe alınmış kopyalardan birini master'a dönüştürebilirsiniz, ancak bu durumda olmak ideal değildir.
chris

1

NFS, ihtiyaçlarınıza bağlı olarak da iyi çalışabilir.


AFAIK, NFS çoğaltılmış sunucuları bağlamanın bir yolunu sağlamaz, çoğaltmanın kendisini sağlamaz. Ama uzun süredir NFS kullanmıyorum, belki de değişti. Bu kurulumu açıklayan NFS belgelerine bağlanabilir misiniz?
vartec

Başımın üstündeki bir yol, direkleri biri birincil vip olan birkaç nfs sunucusuna çoğaltmak ve aşağı düşerse vip'i sunucular arasında taşımak olacaktır. Ya da belki yuvarlak robin dns. NFS'nin kendisi ihtiyacınız olan her şeyi yapmayabilir, ancak kalp atışı veya kırmızı şapka küme hizmetleriyle birlikte, ihtiyacınız olan şey olabilir. Orijinal sorunun içinde tüm gereksinimlere sahip olduğundan emin değilim. Gerçekten hızlı ve kolay bir çözüm için rsync'i birkaç saatte bir sunucuda bile yapabilirsiniz.
LSD

Rsync ile ilgili bölümü atlayın. Çoğaltmayı yapar, ancak öncelikle gereksinimlerinize uymayan salt okunur kurulumlar içindir. Yukarıdaki yorumumu düzenlemek istedim, ama bana izin vermezdi.
LSD

1

Bu DRBD ile çalışmak gerçekten zor olacak - sorun n8whnp çok yönlü çoğaltma ile ilgili bir sorun düşünüyor gibi değil (sadece bir ayna setinde tüm düğümleri çizgili yaparsınız) ama eşzamanlılık kontrolü - d DRBD'nin üstündeki yansıtma üzerinde bir küme dosya sistemi çalıştırmanız gerekir.

Eşzamanlılık kontrolü için pratik bir çözüm olmadığı için lsyncd daha da kötüdür.

Olgun, kararlı, açık bir çözüm olarak bir AFS tipi çözüm (AFS, OpenAFS) öneririm. Oracle'ın kapatmasından beri parıltıdan uzak dururum. Glusterf'lere aşırı aşina olmadığından, çoğaltılmış depodan ziyade dağıtılmış depolamaya bağlı olduğu için, bölünmüş beyin operasyonunda nasıl davranacağına uzunca bir göz atmanızı öneririm (AFS OTOH bağlantısı kesilmiş modda çalışmak üzere tasarlanmıştır).

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.