Keepalived yazılımı ağırlıklı olarak VRRP protokolü aracılığıyla yüksek erişilebilirlik fonksiyonlarını uygular. VRRP, Sanal Yönlendirici Yedeklik Protokolü'nün kısaltmasıdır; VRRP, statik rotaların tek arıza noktası sorununu çözmek için tasarlanmıştır; bu da bireysel düğümler çöktüğünde tüm ağın kesintisiz çalışmasını sağlar. Bu nedenle, Keepalived LVS'yi yapılandırma ve yönetme işlevine sahiptir, ayrıca LVS altındaki düğümlerin sağlığını kontrol etme görevine sahiptir ve diğer yandan sistem ağ hizmetlerinin yüksek kullanılabilirlik fonksiyonunu da gerçekleştirebilir.
Keepalived Yüksek Kullanılabilirlik Failover Prensipi
Yüksek kullanılabilirlikli hizmet çiftleri arasında Keepalived yedekleme VRRP (Sanal Yönlendirici Yedeklenme Protokolü) aracılığıyla uygulanır.
Keepalived hizmeti normal çalışırken, ana düğüm yedek düğüme (multicast) sürekli olarak kalp atışı mesajları göndererek yedek düğüme hâlâ hayatta olduğunu bildirir ve ana düğüm arızalandığında kalp atışı mesajları gönderemez; bu nedenle bekleme düğümü ana düğümden kalp atışını tespit edemez ve ana düğümün IP kaynaklarını ve hizmetlerini devralmak için kendi takeover programını çağırır. Birincil ana düğüm geri yüklendiğinde, yedek düğüm ana düğüm tarafından ele geçirilen IP kaynaklarını ve hizmetleri serbest bırakır ve orijinal bekleme rolüne geri döndürür.
Keepalived yüksek kullanılabilirlikli çiftler VRRP üzerinden birbirleriyle iletişim kurar
1) VRRP, Sanal Yönlendirici Yedeklenme Protokolü'nün tam adı, Çince adı Sanal Rota Yedeklik Protokolüdür, VRRP statik rotaların tek arıza noktasını çözmek için ortaya çıktı. 2) VRRP, yönlendirme görevlerini VRRP yönlendiriciye veren bir kampanya protokol mekanizmasıdır. 3) VRRP IP çoklu yayın kullanır (Varsayılan Çok Yayın Adresi (224.0.0.18)) yüksek erişilebilir çiftler arasında iletişimi sağlar. 4) Ana düğüm paket gönderdiğinde ve bekleme düğümü paketleri aldığında, bekleme düğümü ana düğüm tarafından gönderilen veri paketlerini alamazsa, ana düğümün kaynaklarını devralmak için ele alma programı başlatılır. Öncelikli rekabetle seçilen birden fazla bekleme düğümü olabilir, ancak genellikle Keepaled sisteminin işletilişi ve bakımında bir çift vardır. 5) VRRP, verileri şifrelemek için bir şifreleme protokolü kullanır, ancak Keepalived yetkilileri kimlik doğrulama tipi ve şifreyi yapılandırmak için yine de açık metin kullanmayı önerir.
Keepalived hizmetinin işleyişi
1) Keepalived yüksek erişilebilirlik çiftleri VRRP üzerinden iletişim kurar, VRRP kampanya mekanizması ile belirlenir, master düğümün önceliği bekleme süresinden daha yüksektir, bu nedenle çalışırken master tüm kaynakları elde etmeye öncelik verir, bekleme düğümü bekleme durumundadır, master asıldığında bekleme düğümü ana düğümün kaynaklarını devralır ve ardından ana düğümün yerine dış dünyaya hizmet sunar.
2) Keepalived servis çiftleri arasında,Sadece master sunucu sürekli gönderirVRRPYayın paketiAna sunucu mevcut olmadığında, yani sunucu ana bilgisayar tarafından gönderilen yayın paketini dinleyemediğinde, ilgili hizmet kaynakları devralmak üzere başlatılır ve iş sürekliliğini sağlar. En hızlı devralma hızı 1 saniyeden daha az olabilir.
Test ortamı
Sistem: CentOS 8
| IP adresi | Göstermek | | 192.168.50.222 | VIP adresi | | 192.168.50.227 | MASTER ana düğümü | | 192.168.50.131 | BACKUP bekleme düğümleri |
Tamamlanmış renderlemelere şu şekilde bakalım:
Nginx hizmetini kur
Yum'u doğrudan kullanınMasternodeveAlternatif düğümlerSunucu nginx'i aşağıdaki komutla yükler:
Birincil ve bekleme düğümlerinin nginx yapılandırma dosyalarını ayrı ayrı düzenleyin, yol:/etc/nginx/nginx.confKonfigürasyon şöyledir:
nginx komutuyla başlatıldı, tarayıcı üzerinden port 8055'e erişimi test etti, aşağıdaki görselde gösterildiği gibi:
Keepalived kur Hem ana düğüme hem de bekleme düğümüne kurulum için komut şöyledir:
Profil adresi:/etc/keepalived/keepalived.conf
Burada bir sağlık kontrol betiği yapılandırıp yeni bir betik oluşturmanız gerekiyorchk_nginx.shdosyasının kodu şu şekildedir:
Script'i /etc/keepalived dizinine yükleyin. ve aşağıdaki şekilde uygulama izinleri vermektedir:
192.168.50.227 birincil düğüm keepalived.conf yapılandırmasıŞöyle:
192.168.50.133 Alternate node keepalived.conf configurationŞöyle:
Her iki sunucuda ayrı ayrı başlatma ve başlatma kur
Şimdiye kadarKonfigürasyon tamamlandı (render için makalenin üstüne bakınız), NGINX servisi aracılığıyla aşağıdaki komutla test edilebilir:
(Son)
|