Linux Sunucularda Failover Network (Bonding + Keepalived) Yapılandırması
Linux Sunucularda Failover Network (Bonding + Keepalived) Yapılandırması
Failover Network yapılandırmaları, sunucular arası ağ sürekliliğini garanti altına almak için kullanılır. Bu sistemlerde bir ağ arabirimi (interface) veya bağlantı koptuğunda, diğer arabirim otomatik olarak devreye girer. Linux sistemlerde bu işlemi Bonding ve Keepalived araçlarıyla gerçekleştirmek mümkündür.
Bu makalede, iki ağ kartını birleştirerek yedekli bağlantı sağlayan Bonding modlarını ve IP bazlı failover senaryolarını adım adım anlatacağız. Kurumsal altyapılarda Sunucu Barındırma ve VDS çözümleri bu tür yapılar için idealdir.
- 1. Ağ Yedekliliğinin Önemi
- 2. Bonding Nedir?
- 3. Bonding Modülü Etkinleştirme
- 4. Bonding Konfigürasyonu (CentOS / RHEL / AlmaLinux)
- 5. Durum Kontrolü
- 6. Keepalived ile IP Failover
- Kurulum
- Konfigürasyon
- 7. Keepalived Servisini Başlatma
- 8. Failover Testi
- 9. İzleme ve Log Yönetimi
- 10. Güvenlik ve Performans İpuçları
- Sonuç
1. Ağ Yedekliliğinin Önemi
Sunucu trafiğinde kesinti, özellikle kritik hizmetlerde ciddi veri kaybına yol açabilir. Yedekli ağ tasarımı sayesinde;
- Bir kablo veya interface arızasında bağlantı kesilmez,
- Yük paylaşımı ve dengeleme sağlanır,
- Kesintisiz servis sürekliliği (High Availability) elde edilir.
2. Bonding Nedir?
Bonding, birden fazla fiziksel ağ arayüzünü tek bir mantıksal arayüz olarak birleştiren Linux çekirdek özelliğidir. En çok kullanılan modlar şunlardır:
- mode=1 (active-backup): Bir interface aktif, diğeri pasif bekler. En yaygın failover modu.
- mode=2 (balance-xor): Trafiği MAC adresine göre dengeler.
- mode=4 (802.3ad): LACP protokolü ile yük dengeleme (switch destekli).
Basit bir failover için mode=1 tercih edilir.
3. Bonding Modülü Etkinleştirme
# modülü yükle modprobe bonding # kalıcı hale getirme echo "bonding" >> /etc/modules-load.d/bonding.conf
4. Bonding Konfigürasyonu (CentOS / RHEL / AlmaLinux)
vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0 TYPE=Bond BOOTPROTO=static IPADDR=192.168.10.100 NETMASK=255.255.255.0 GATEWAY=192.168.10.1 ONBOOT=yes BONDING_OPTS="mode=1 miimon=100 primary=eth0"
Daha sonra eth0 ve eth1 arayüzlerini bond’a dahil edin:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 MASTER=bond0 SLAVE=yes ONBOOT=yes
vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1 MASTER=bond0 SLAVE=yes ONBOOT=yes
Değişikliklerden sonra network servisini yeniden başlatın:
systemctl restart network
5. Durum Kontrolü
Bonding arayüzünüzün aktif durumda olup olmadığını şu komutla kontrol edebilirsiniz:
cat /proc/net/bonding/bond0
6. Keepalived ile IP Failover
Bonding, fiziksel arayüz yedekliliği sağlar. IP bazlı servis failover için Keepalived kullanılabilir. Keepalived, Virtual Router Redundancy Protocol (VRRP) üzerinden sanal bir IP adresi oluşturur ve bu IP’yi aktif sunucuya atar.
Kurulum
yum install keepalived -y systemctl enable keepalived
Konfigürasyon
Aşağıdaki örnek iki sunucu arasında aktif-pasif IP paylaşımını sağlar:
vi /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state MASTER
interface bond0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 12345
}
virtual_ipaddress {
192.168.10.200/24
}
}
İkinci sunucuda sadece state BACKUP ve priority 90 olarak değiştirin.
7. Keepalived Servisini Başlatma
systemctl start keepalived systemctl status keepalived
Artık sanal IP (192.168.10.200) yalnızca MASTER durumda olan sunucuda aktif olur. Bağlantı kesildiğinde otomatik olarak diğer sunucu devralır.
8. Failover Testi
- MASTER sunucudaki
bond0arayüzünü devre dışı bırakın. BACKUPsunucuda IP’nin aktif olduğunu gözlemleyin.- MASTER geri geldiğinde otomatik yeniden devralma gerçekleşir.
9. İzleme ve Log Yönetimi
Keepalived loglarını izlemek için:
tail -f /var/log/messages | grep Keepalived
Ağ geçişlerinin stabil çalıştığını doğrulamak için ping ve arayüz durumunu izleyin.
Performans analizlerinde Netdata veya Zabbix gibi araçlar kullanılabilir.
10. Güvenlik ve Performans İpuçları
- Yedek bağlantıların farklı switch’lere bağlı olduğundan emin olun.
- Bonding modunda
miimondeğerini 100 ms altında tutun. - Keepalived’de auth_pass kullanın ve güçlü parola belirleyin.
- Kurumsal ağlarda Optimizasyon Hizmeti ile trafik izleme ve gecikme tespiti yapılabilir.
Sonuç
Bonding + Keepalived kombinasyonu, Linux tabanlı sunucular için yüksek erişilebilirlik (HA) sağlayan, esnek ve güçlü bir failover çözümüdür. Ağ kesintileri veya donanım arızalarında hizmet sürekliliği korunur.
Büyük ölçekli veri merkezlerinde bu yapılandırmayı HostLigo’nun Kurumsal Hosting ve Premium VDS çözümleriyle birleştirerek kesintisiz altyapı oluşturabilirsiniz.