Docker birimlerini glusterfs'ta saklamak iyi bir fikir midir?


24

Şu anda bazı sunucularımızı ve uygulamalarımızı coreOS ortamına taşımayı düşünüyorum . Burada gördüğüm sorunlardan biri, coreOS'un bir kabı yeni bir makineye taşırken Docker birimlerini işlememesi nedeniyle kalıcı verilerin yönetimidir. Bazı araştırmalardan sonra tüm sorunlarımı çözebilecek bir küme dosya sistemi olduğunu iddia eden glusterFS'yi buldum .

Benim şu anki fikrim şudur: Her bir coreOS makinemde ayrıcalıklı bir kap olarak çalışan ve /mnt/glusterörneğin bir depolama alanı ortaya çıkaran bir glusterFS kabına sahibim . Benim içinde Dockerfiles ben bütün hacimler bu yolda monte edilmesi gerektiğini belirtir.

Göz önünde bulundurduğum bir sonraki şey, hangi konteynerlerin kendi hacimlerini alması ve hangilerini paylaşması gerektiği idi. Örneğin, her bir mysqlkapsayıcı çoğaltmayı kendi başına halledebildiği için kendi hacmine sahip olacaktır. Bununla uğraşmak istemiyorum. Aynı web sitesine hizmet veren web sunucuları, "kullanıcı tarafından yüklenen resimler" gibi öğeler için aynı birimi düzgün kullanırlar, çünkü bu verileri çoğaltamazlar.

Kimse böyle bir şey denedi mi ya da kaçırdığım bir şey var mı?


1
Bununla ilgili bir konsept kanıtı yaptım ve bunun işe yaradığını söyleyebilirim, ancak Gluster'a girmeden önce ayarlama profilini anladığınızdan emin olun. Gluster'ın disk gecikmesine karşı hassas olması (etcd'ye benzer) nedeniyle, dosyaların çoğaltılmasının garanti edilmesi adına uygulamaları yapay olarak yavaşlatır.
Brian Redbeard

2
Liman konteynerlerine bağlı hacimleri yöneten bir araç üzerinde çalışıyoruz. Buna "flocker" denir ve burada github repo'yu burada görebilirsiniz: github.com/clusterhq/flocker Şu anda veri geçişini çok daha kolay hale getirmek için anlık görüntü özelliğini kullanan ZFS için bir depolama arka planına sahibiz, ancak diğer depolama arka planları için planlarımız da var (genel bir blok aygıtı arka ucu gibi) GlusterFS kullanarak liman hacimlerini monte etmenin iyi bir fikir olup olmadığını söyleyemem ama genel tasarım modeline kefil olabilirim - yani "bir şey" kullanarak bir liman konteynerinin ürettiği durumu hesaba katar
Bino Carlos

1
Cevabınız için teşekkürler. Zaten flocker gördüm ve çok umut verici görünüyor. Coreos desteği veya üretime hazır sürüm 1.0 için zor bir tarihiniz var mı?
Martin

OpenStack ile ciltler için glusterfs kullanmıştım, daha önce yaptığınız işle benzer bir kurgu vardı ve harika geçti.
Ethode

@Martin Biz (ClusterHQ'da çalışıyorum) Amazon EBS kullanan CoreOS üzerinde çalışan Flocker kullanıyoruz. coreos.com/blog/Flocker-on-CoreOS-Linux
Stephen Nguyen

Yanıtlar:


9

CoreOS yerine benzer bir kurulum gerçekleştirdik ( http://www.projectatomic.io/ ) CoreOS yerine, üç çoğaltma-2 setiyle çoğaltılmış bir dağıtılmamış GlusterFS depolama sistemine. Bu çok iyi çalışıyor.

Ancak, GlusterFS'in birkaç özel özelliğini aklınızda tutmanız gerekir. Brian'ın daha önce de söylediği gibi, Gluster her şeyden önce tutarlılık ve güvenilirlik sunar. Ne kadar sık ​​değişiklikler olursa, çoğaltma da o kadar fazla oluyor. Bu çok şey ifade ediyor ve ben sisteminizde baskı bir LOT demek istiyorum.

G / Ç alt sisteminizin hızlı olmasına dikkat edin (bu, depolama alanıdır), Gluster düğümlerinizi mevcut en hızlı ağ bağlantılarına bağlayın. Yalnızca GBit’iniz varsa, toplu! Son fakat en az değil, depolama sistemi ciddi hesaplama gücü spor gerekir, Gluster durumunu kontrol etmek için çok sayıda hesaplama yapar. Olduğu söyleniyor, yüksek yük altında bile, Gluster sunar.

MySQL stratejinizi yeniden gözden geçirin. Gluster, çoğaltmayı sizin için yapar ve ayrıca teslim sırasında yük dengeleme türünü sağlar. Gluster kullanmak daha hızlı olabilir.


5

Glusterf'ların kullanımı, kullandığınız depolama arkasına bağlıdır. Bir küme dosya sistemi olarak, fiziksel depolamayı kümelemek için tasarlanmıştır, böylece büyük bir sürekli birim olarak görünür. Bu resmi hızlı başlangıç ​​rehberi , sürecin iyi bir açıklamasını yaptı.

Kurulumunuzun iki veya daha fazla ayrı arka uç depolama sunucusu kullanması veya tüm docker hacimlerini depolamaya benzer bir şey kullanması durumunda, glusterf'lar veya benzeri bir paralel dosya sisteminin kullanılması önemli performans avantajları sunabilir. Bu durumda , HPC topluluğunda bir paralel dosya sistemi olarak yaygın olarak kullanılan Luster'ı kullanmayı da düşünebilirsiniz .

Bununla birlikte, paralel / küme dosya sistemlerini ayarlamak, hata ayıklamak ve yapılandırmak, baştan başlamak için çok fazla uzmanlık, sabır ve bazen de isteklilik gerektiren zaman alıcı bir görev olabilir. Paralel bir dosya sisteminin sunduğu performans avantajlarının kurulum ve bakım için gerekli çabaya değdiğinden emin olmak akıllıca olacaktı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.