Keepalived nedir?

Keepalived, bir yüksek erişilebilirlik (HA) yazılımıdır. Genellikle web siteleri, uygulamalar veya hizmetler gibi kritik işlevlerin yüksek erişilebilirliği sağlamak için kullanılır. Keepalived, aynı anda birden fazla sunucu veya bilgisayar arasında yük dengeleme ve yüksek erişilebilirlik için sanal IP adresleri (VIP) yönetir. Bu sayede, bir sunucunun arızalanması veya bakım için çevrimdışı kalması durumunda diğer sunucuların bu görevi devralması ve hizmetlerin kesintisiz bir şekilde devam etmesi sağlanır. Keepalived, VRRP (Virtual Router Redundancy Protocol) protokolünü kullanarak sunucular arasında otomatik bir yüksek erişilebilirlik ortamı oluşturur.

 

Keepalived ve HAProxy, yüksek erişilebilirlik (high availability) sağlamak için birlikte kullanılabilen iki farklı yazılımdır.

Keepalived, aynı ağda bulunan birden fazla sunucu arasında belirli bir IP adresi veya DNS kaydı için bir sanal IP (VIP) adresi oluşturarak yük dengeleme ve yedekleme işlemlerini gerçekleştiren bir araçtır. Keepalived, bu sanal IP adresinin sahibi olan sunucunun sağlık durumunu izleyerek, VIP adresini diğer sunuculara geçirmek için otomatik olarak bir yedekleme sunucusu seçer.

HAProxy ise yük dengeleme işlemini gerçekleştiren bir açık kaynaklı TCP/HTTP yük dengeleyici ve ters proxy yazılımıdır. HAProxy, birden fazla sunucuya gelen istekleri dengeler ve bu sayede daha yüksek kullanılabilirlik, performans ve ölçeklenebilirlik sağlar. Ayrıca, arka uç sunucuların sağlık durumunu izler ve etkin olmayan sunucuları otomatik olarak çıkartır.

Keepalived ve HAProxy birlikte kullanılarak, belirli bir IP adresi veya DNS kaydı için yüksek erişilebilirlik sağlanabilir. Keepalived, VIP adresini yönetirken, HAProxy de bu adres üzerindeki trafiği yük dengelemesi yapar. Bu sayede, sunucu arızası durumunda otomatik olarak yedek sunucuya geçiş yapılır ve kesintisiz bir hizmet sağlanır.

Haproxy ile ilgili yazıma HAPROXY NEDIR? Yazımdan bakabilirsiniz.

Keepalived kurmak için aşağıdaki adımları izleyebilirsiniz.

apt-get install keepalived -y

 

Kurulum gerçekleştikten sonra keepalived servisini oluşturuyoruz.

vi  /etc/systemd/system/keepalived.service

İçerisine aşağıdaki kodları yapıştırarak kaydedip çıkıyoruz.

[Unit]
Description=LVS and VRRP High Availability Monitor
After=network-online.target syslog.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/run/keepalived.pid
KillMode=process
EnvironmentFile=-/usr/local/etc/sysconfig/keepalived
ExecStart=/usr/local/sbin/keepalived $KEEPALIVED_OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

Keepalived  konfigurasyon dosyasına girerek aşağıdaki komutları çalıştırıyoruz.

 vi /etc/keepalived/keepalived.conf


global_defs {
}
vrrp_script chk_haproxy { # Requires keepalived-1.1.13
    script "killall -0 haproxy" # widely used idiom
    interval 2 # check every 2 seconds
    weight 2 # add 2 points of prio if OK
}
vrrp_instance VI_1 {
    interface ens33
    state MASTER # or "BACKUP" on backup
    priority 101 # 101 on master, 100 on backup
    virtual_router_id 51
    authentication {
        auth_type PASS
        auth_pass 1234
    }
    virtual_ipaddress {
        192.168.242.162
    }
    track_script {
        chk_haproxy
    }

virtual_ipaddress yazan kısıma tanımlamak istediğiniz vip ip yazarak devam ediyoruz. interface farklı ise interface de değiştirmeniz gerekmektedir.

Yukarıdaki resimde vip   ile bağlandığımızı görebilirsiniz.

 

Loading