Heartbeat, Pacemaker ve CoroSync Alternatifleri?


26

Tipik Heartbeat / Pacemaker / CoroSync kombinasyonlarının yanı sıra Linux'ta otomatik yerine çalışma için önemli alternatifler var mı? Özellikle, yalnızca tek noktaya yayın destekleyen EC2 örneklerinde yük devretme ayarlıyorum - çok noktaya yayın veya yayın yok. Özellikle otomatik yük devretme özelliği bulunmayan ve çoklu-master ortamları desteklemeyen birkaç yazılım parçasını kullanmaya çalışıyorum. Bu HAProxy ve Solr gibi araçlar içerir.

Heartbeat + Pacemaker'ı çalıştırıyorum, ancak heyecanlanmadım. İşte sorunlarımdan bazıları:

  • Kalp atışı - Kendi başına, iki düğümle sınırlıdır. 3+ almak istiyorum.
  • Kalp Pili - Otomatik olarak yapılandırmak imkansız. Küme çekirdeği ile çalışıyor olmalı ve daha sonra hala manuel yapılandırma gerektirir.
  • CoroSync - Tek noktaya yayın desteklemiyor.

Kalp pili çok iyi çalışıyor, ancak güç kurmasını zorlaştırıyor. Pacemaker ile ilgili asıl sorun, konfigürasyonu otomatikleştirmek için kolay bir yol olmamasıdır. Gerçekten bir EC2 örneği başlatmak, Şef / Kukla yüklemek ve müdahalemem olmadan tüm kümenin fırlatılmasını istiyorum.

Yanıtlar:


17

Yüksek kullanılabilirlik için keepalived kullanmayı tercih ederim . Kurulumu (bir daemon ve config) kalp atışı ve şirketten daha kolay buluyorum. Karşılaştığım tek dezavantajı, keepalived'ün varsayılan olarak tek noktaya yayın seçeneğine sahip olmaması ve yalnızca iletişim için VRRP kullanmasıdır (HAProxy'nin yazarı keepalived için tek noktaya yayın bir yama yazmıştır ).


Unicast bir zorunluluktur, ama yamaya bir göz atacağım.
organicveggie

4
+1 Tüm "yük devretme" durumlarında kalp atışı kullanmaya alışmıştım, neden yanlış yaptığımı (ya da en azından verimsiz) kullandığımı ve hapoxy yazarı tarafından bir yazıyı okuduğuma kadar . Bunların hepsi, önemli bir şeyin bir ağ yolu üzerinde başarısız olup olmamasına (örneğin, bir IP'yi farklı bir sunucuya taşıma - devam ettirme) veya bir kaynağa yalnızca tek bir erişim sağlama ihtiyacına (örneğin SAN bağlantısı - kalp atışı) bağlıdır.
Coops,

5
Bu mail @Coops atıfta bulunur, inanıyorum formilux.org/archives/haproxy/1003/3259.html
Henrik

4
1.2.8'den bu yana (2013-08-05) Keepalived, Unicast'ı ( keepalived.org/changelog.html ) desteklemektedir .
Dynom


14

Aslında, tarif ettiğinize (EC2'deki başarısız bir küme) çok benzer bir şey üzerinde çalışıyorum ve Heartbeat'ı denedikten sonra mesajlaşma katmanım olarak Corosync'e yerleştim. Corosync birden fazla sunucuda çalışacak ve 1.3.0 sürümünden itibaren Unicast (UDPU) 'u (Kasım 2010'dan itibaren) destekleyecektir. Amazon'un EC2 bulutunda (Amazon'un Linux AMI'sini kullanarak) Corosync'i kurdum ve test ettim ve sorunsuz çalıştığını doğrulayabiliyorum.

Örnek bir udpu dosyası / etc / corosync dosyasına kurulur.

Her düğümün arabirim bölümüne bir üye bloğu ekleyin ve aktarımı updu olarak belirtin. (Aşağıdaki örnekte kalp atışıyla aynı bağlantı noktasını kullandım, ancak istediğiniz gibi değiştirebilirsiniz).

Örneğin:

totem {
        version: 2
        secauth: off
        interface {
                member {
                        memberaddr: 10.xxx.xxx.xxx
                }
                member {
                        memberaddr: 10.xxx.xxx.xxx
                }
                ringnumber: 0
                bindnetaddr: 10.xxx.xxx.xxx
                mcastport: 694
        }
        transport: udpu
}

(Heartbeat'in 1.2.3+ sürümlerinde 3+ düğüm kümesini desteklemesi gerekiyor, ancak kişisel olarak hiç denemedim ve Unicast ile çalışıp çalışmayacağını bilmiyorum).


Udpu kullanarak 3 makine kümesi kurdum ve bu iyi çalıştı. Sadece onlara üye blokları eklemeye devam edersiniz.
Devicenull

11

Üzgünüz, Pacemaker ile ilgili bölüm doğru değil. Pacemaker regresyon ve salma testleri, otomasyondan geniş ölçüde faydalanır.

Etkin bir küme olmadan yapılandırmak için tüm komutları önekleyin CIB_file=/var/lib/heartbeat/crm/cib.xmlveya kendi ortamınızda ayarlayın. Kümeye başlamadan önce .sig dosyasını kaldırdığınızdan emin olun.

Çekirdeği olmayan kümeler için, çoğu tüm araçlar desteklememeli -fveya --forcekümeye yine de değişikliği kabul etmesi talimatını verecekse. Bulamayan bir araç bulursanız - lütfen bir hata yazın.


Üzgünüm, fikrim Pacemaker posta listesinden aldığım geribildirimlere dayanıyordu. Önerinize bir şans vereceğim.
organicveggie

3

Açık kaynak dünyasında, RedHat Cluster Suite var . RHCS'yi uygulamaya başladığımdan bu yana birkaç yıl geçti, dolayısıyla bugün söyleyecek çok fazla şeyim yok.

Ticari olarak, Veritas Cluster Server var . Bununla ilgili deneyim yok.

Çok daha basit ve açık kaynaklı bir HA aracı UCARP'dir . UCARP, Heartbeat / Pacemaker / CoroSync'in sunduğu neredeyse aynı tür "altyapıyı" sağlamaz, ancak çevresinde HA çözümleri oluşturabilirsiniz.

Sanallaştırma teknolojilerine sahip yüksek düzeyde kullanılabilir bir altyapı da oluşturabilirsiniz, ancak bu çözümler uygulama düzeyinde kullanılabilirliğin aksine ana bilgisayar düzeyinde kullanılabilirliğe odaklanma eğilimindedir.


Teşekkürler. RHcS, VCS ve UCARP'a bir göz atacağım. Amazon EC2 kullandığım gerçeğini yansıtacak şekilde sorumu güncellediğim için ana bilgisayar düzeyinde kullanılabilirlik, üzerinde çok fazla kontrol sahibi olduğum bir şey değil ... bu yüzden neden uygulama düzeyinde kullanılabilirliğe bakıyorum.
organicveggie

1

Kullanılmadığı halde Oracle Unbreakable Linux için Oracle Clusterware var.


1

Zaten EC2 kullanıyorsanız, neden Elastik Yük Dengeleme kullanmıyorsunuz ? Yük devretmeyi kendiniz yapılandırmanıza gerek kalmadan uygulama düzeyinde kullanılabilirlik elde etmenizi sağlar.


ELB'in uyuşmamasının birkaç nedeni var. Öncelikle, ELB yalnızca genel İnternet'ten gelen talepler için çalışır; taleplerinizi ELB'nin genel adresine yönlendirmezseniz ve ardından tüm trafiği öderseniz, iç istekler için kullanılamaz. İkincisi, ELB çok basit bir dengeleyicidir - nasıl çalıştığına dair herhangi bir kural veya kalıp uygulayamazsınız ve stand-by sunucularınız olamaz. Örneğin, aynı web sunucusuna aktif olarak işaret eden iki ayrı HAProxy örneği istemiyorsunuz çünkü hedef web sunucusundaki gerçek yük hakkında hiçbir fikirleri yok.
organicveggie

1

Veritas Kümesi harika (Linux-Heartbeat, AIX-hacmp, HP Serviceguard ve Sun küme ile karşılaştırıldığında), ancak çok paraya mal oluyor. Ona en son baktığımda fiyatı kümenin cpu çekirdeğine dayanıyordu. Güncel Satıcı ist Symantec ...



0

opensvc ( https://www.opensvc.com ) çoklu kalp atışı sürücülerini desteklemektedir:

  • tek noktaya
  • çok noktaya
  • paylaşılan disk
  • 3. site rölesi

ve ayrıca bölünmüş beyin durumunda çekirdek mekanizmaları var.

Otomatik olarak 2 google bulut örneği + 2 amazon örneği içeren terraform + ansible öğesinden oluşan 4 düğümlü bir kümeyi kurmayı başardım.

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.