Standart bir dosya sunucusunu bir WAN üzerinden birkaç siteye dağıtması gereken bir uygulama oluşturuyorum. Temel olarak, her sitenin çeşitli boyutlarda (bazıları 100'lerin MB aralığında, ancak en küçükleri) çok sayıda çeşitli dosya yazması gerekir ve uygulama, çarpışmaların sorun olmayacağı şekilde yazılır. Aşağıdaki nitelikleri karşılayan bir sistem kurmak istiyorum:
- Her site, dosyaları paylaşılan bir "ad alanında" depolayabilir. Yani, tüm dosyalar aynı dosya sisteminde görünecektir.
- Her site, gerekli olmadıkça WAN üzerinden veri göndermez. Yani, WAN'ın her iki tarafında da aynı mantıksal dosya sistemine "birleştirilecek" yerel depolama olacaktır.
- Linux ve Ücretsiz ($$$) bir Artı
Temel olarak, merkezi bir NFS paylaşımı gibi bir şey gereksinimlerin çoğunu karşılar, ancak yerel olarak yazılan verilerin yerel kalmasına izin vermez. WAN'ın uzak taraflarındaki tüm veriler her zaman yerel olarak kopyalanır.
Lustre'ye baktım ve onunla bazı başarılı testler yaptım, ancak dosyaları dağıtılmış depolamada oldukça eşit bir şekilde dağıtıyor gibi görünüyor. Belgeleri inceledim ve otomatik olarak uzak depolama yerine yerel depolamayı "tercih edecek" bir şey bulamadım. En düşük gecikmeli depolama ile giden bir şey bile iyi olurdu. Çoğu zaman bu uygulamanın gereksinimlerini karşılayacaktı.
Aşağıda sorulan bazı soruların cevapları:
- Sunucu düğümleri: başlatmak için 2 veya 3. Her sunucu, onlarca eşzamanlı okuma / yazma istemcisine bağlanır.
- WAN Topology tam ağ ve güvenilirdir. (büyük şirket, maliyet bürokrasi kadar sınırlayıcı değildir)
- İstemci yük devretme: Aslında istemcilerin yük devretme olmasını düşünmemiştim (çoğunlukla şu anki uygulamamız bunu tek bir sitede yapmıyor). Pratik cevap, coğrafi olarak dağıtılan her sitedeki sunucuların, hizmet verdikleri müşteriler için tek hata noktası olması bekleniyordu. Yine de, burada belirli bir şey düşünürseniz, bu tartışmaya oldukça uygun olacağını düşünüyorum.
- Roll-my-own: Ben rsync / unison düşündüm, ancak bu çalışmanın "dinamik" bölümünü sorunsuz bir şekilde yapmak için biraz fantezi mantık gerekir. Yani, dosya yerel gibi görünüyor, ancak yalnızca istek üzerine alınır.
- MS-DFS: Kesinlikle bakmam gereken bir şey gibi görünüyor. Ana sorunum, bağlanan istemcilerin çoğu NFS istemcisi olduğu için Windows'ta NFS sunucusu yapılandırması / güvenilirliği / performansı konusunda emin olamamak olabilir.