Header Menu

inux Sunucularında Yüksek Erişilebilirlik (High Availability) Yapılandırması resim

inux Sunucularında Yüksek Erişilebilirlik (High Availability) Yapılandırması

Linux sunucularında Yüksek Erişilebilirlik (High Availability - HA) yapılandırması, sunucuların arıza durumunda hizmetlerin kesintisiz olarak devam etmesini sağlamak için yapılan bir dizi adımı içerir. Bu yapılandırmalar genellikle, donanım ya da yazılım tabanlı çözümler kullanılarak sağlanır. Linux ortamlarında yüksek erişilebilirlik sağlamak için birkaç temel yöntem bulunmaktadır.

1. HA Cluster (Yüksek Erişilebilirlik Kümesi) Yapılandırması

Yüksek erişilebilirlik, genellikle sunucuların bir küme (cluster) oluşturacak şekilde yapılandırılmasıyla sağlanır. Bu küme içinde bir veya daha fazla sunucu arızalandığında, diğer sunucular devreye girer. Linux'ta yaygın kullanılan HA kümesi çözümleri şunlardır:

Pacemaker ve Corosync

Pacemaker, yüksek erişilebilirlik sağlamak amacıyla kullanılan bir açık kaynak yazılımdır. Pacemaker, birden fazla sunucu arasında kaynakları yönetir ve yöneticiler tarafından yapılandırılan durumları izler. Corosync, Pacemaker'in çalışabilmesi için gereken iletişim altyapısını sağlar. Bu ikisi birlikte, sunucular arasındaki kaynak paylaşımını ve failover işlemlerini yönetir.

Adımlar:

  1. Pacemaker ve Corosync Yüklemesi:

    sudo apt-get install pacemaker corosync
    
  2. Corosync Konfigürasyonu: Corosync, sunucular arasında iletişimi sağlamak için yapılandırılır. Bu dosya genellikle /etc/corosync/corosync.conf altında bulunur.

  3. Pacemaker Konfigürasyonu: Pacemaker'i başlatın ve yapılandırın:

    sudo systemctl start pacemaker
    sudo systemctl enable pacemaker
    
  4. HA Kaynaklarının Tanımlanması: Pacemaker, kaynakları yönetir. Örneğin, bir IP adresi, bir uygulama veya bir disk kaynağı olabilir. Kaynaklar genellikle aşağıdaki gibi tanımlanır:

    crm configure primitive VirtualIP ocf:heartbeat:IPaddr2 params ip=192.168.1.100 cidr_netmask=24 op monitor interval=30s
    
  5. Failover Konfigürasyonu: Eğer bir sunucu arızalanırsa, Pacemaker arızalı sunucudaki kaynakları diğer çalışır sunucuya aktarır.

HeartBeat

HeartBeat, eski bir HA çözümüdür ancak hala bazı sistemlerde kullanılmaktadır. HeartBeat ile aynı mantıkla failover ve load balancing yapılabilir.

2. DRBD (Distributed Replicated Block Device)

DRBD, iki veya daha fazla sunucu arasında veri replikasyonu yaparak yüksek erişilebilirlik sağlar. DRBD, disklerin yedeğini alır ve bir sunucu arızalandığında verilerin kaybolmaması için diğer sunucuya aktarır.

Adımlar:

  1. DRBD Yüklemesi:

    sudo apt-get install drbd-utils
    
  2. Konfigürasyon: /etc/drbd.conf dosyasını düzenleyin ve replikasyon yapılacak diskleri tanımlayın.

  3. DRBD Başlatma: DRBD'yi başlattıktan sonra veriler ana sunucudan ikinci sunucuya senkronize edilmeye başlanır.

  4. Failover Yapılandırması: DRBD replikasyonu sağlandıktan sonra, sunuculardan biri arızalandığında veri kaybı yaşanmadan hizmet diğer sunucuda devam eder.

3. Load Balancing (Yük Dengeleme)

Yük dengeleme, birden fazla sunucuya gelen trafiğin dengeli bir şekilde dağıtılmasını sağlar. Linux'ta en yaygın kullanılan yük dengeleme yazılımları şunlardır:

HAProxy

HAProxy, yüksek performanslı bir proxy ve yük dengeleme aracıdır. Hem HTTP hem de TCP trafiğini dengelemek için kullanılır.

Adımlar:

  1. HAProxy Yüklemesi:

    sudo apt-get install haproxy
    
  2. Konfigürasyon: /etc/haproxy/haproxy.cfg dosyasını düzenleyerek, yük dengeleme yapılacak sunucuları ve ilgili parametreleri belirleyin.

  3. Başlatma: HAProxy'yi başlatın:

    sudo systemctl start haproxy
    sudo systemctl enable haproxy
    
  4. Failover: HAProxy, bir sunucu arızalandığında trafik otomatik olarak diğer çalışır sunucuya yönlendirilir.

4. Yedekli Disk Yapılandırması (RAID)

RAID (Redundant Array of Independent Disks), birden fazla diski bir araya getirerek veri yedekleme ve yüksek performans sağlar. RAID seviyeleri arasında, özellikle RAID 1 (disk aynalama) ve RAID 5 (parite tabanlı) gibi yapılar yüksek erişilebilirlik için tercih edilebilir.

RAID Kurulumu:

  1. RAID dizisini kurmak için mdadm aracı kullanılabilir:

    sudo apt-get install mdadm
    sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb
    
  2. RAID dizisini izlemek için:

    cat /proc/mdstat
    

RAID, disk arızalarında veri kaybını önler, ancak yüksek erişilebilirlik için genellikle başka bir failover çözümü ile birlikte kullanılır.

5. Clustered File Systems (Kümelenmiş Dosya Sistemleri)

Yüksek erişilebilirlik için kullanılan bir diğer çözüm ise kümelenmiş dosya sistemleridir. Örneğin, GFS2 (Global File System 2) ve OCFS2 (Oracle Cluster File System 2), birden fazla sunucuda paylaşılan dosya sistemlerine erişim sağlar.

Adımlar:

  1. GFS2 Yüklemesi:

    sudo apt-get install gfs2-utils
    
  2. Dosya Sistemi Kurulumu: GFS2'yi birden fazla sunucu arasında paylaştırmak için gerekli yapılandırmalar yapılır ve sunucular birbirine bağlanır.

Sonuç

Linux sunucularında yüksek erişilebilirlik, genellikle birden fazla çözümün kombinasyonu ile sağlanır. Pacemaker ve Corosync gibi kümeleme yazılımları, DRBD ile veri replikasyonu, HAProxy ile yük dengeleme ve RAID ile disk yedekliliği, kesintisiz hizmet için temel bileşenlerdir. Her bir çözüm, ihtiyacınıza göre özelleştirilebilir ve genellikle kritik sistemlerde kullanılan en iyi uygulamalar olarak kabul edilir.

15 Görüntüleme