{"id":38380,"date":"2026-01-30T01:40:41","date_gmt":"2026-01-29T22:40:41","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=38380"},"modified":"2026-01-30T01:40:41","modified_gmt":"2026-01-29T22:40:41","slug":"ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/","title":{"rendered":"Ubuntu 14.04 \u00dczerinde Heartbeat ve Ayr\u0131lm\u0131\u015f IP&#8217;ler ile Y\u00fcksek Eri\u015filebilirlik Kurulumu"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 14.04 \u00dczerinde Heartbeat ve Ayr\u0131lm\u0131\u015f IP&#8217;ler ile Y\u00fcksek Eri\u015filebilirlik Kurulumu<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, hizmet kesintileri i\u015fletmeler i\u00e7in ciddi maliyetlere ve itibar kayb\u0131na yol a\u00e7abilmektedir. Bu nedenle, kritik uygulamalar\u0131n ve servislerin s\u00fcrekli eri\u015filebilirli\u011fini sa\u011flamak, her organizasyon i\u00e7in temel bir gerekliliktir. Y\u00fcksek Eri\u015filebilirlik (High Availability &#8211; HA) \u00e7\u00f6z\u00fcmleri, sistemlerin ve uygulamalar\u0131n ar\u0131zalara kar\u015f\u0131 dayan\u0131kl\u0131 olmas\u0131n\u0131 sa\u011flayarak bu kesintileri minimize etmeyi hedefler. Bu makalede, Ubuntu 14.04 i\u015fletim sistemi \u00fczerinde Heartbeat ve ayr\u0131lm\u0131\u015f IP (Reserved IP) adresleri kullanarak nas\u0131l temel bir y\u00fcksek eri\u015filebilirlik k\u00fcmesi olu\u015fturulaca\u011f\u0131n\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz.<\/p>\n<h3>Y\u00fcksek Eri\u015filebilirlik (HA) Nedir?<\/h3>\n<p>Y\u00fcksek Eri\u015filebilirlik, bir sistemin veya hizmetin belirli bir s\u00fcre boyunca kesintisiz olarak \u00e7al\u0131\u015fmaya devam etme yetene\u011fini ifade eder. Amac\u0131, donan\u0131m ar\u0131zalar\u0131, yaz\u0131l\u0131m hatalar\u0131 veya a\u011f sorunlar\u0131 gibi tek bir hata noktas\u0131ndan (Single Point of Failure &#8211; SPOF) kaynaklanabilecek kesintileri \u00f6nlemek veya en aza indirmektir. HA sistemleri genellikle yedekli bile\u015fenler kullanarak, bir bile\u015fenin ar\u0131zalanmas\u0131 durumunda y\u00fck\u00fc otomatik olarak ba\u015fka bir yedek bile\u015fene aktar\u0131r. Bu s\u00fcre\u00e7 &#8220;failover&#8221; olarak adland\u0131r\u0131l\u0131r.<\/p>\n<p>Y\u00fcksek eri\u015filebilirlik, i\u015f s\u00fcreklili\u011fi, veri b\u00fct\u00fcnl\u00fc\u011f\u00fc ve kullan\u0131c\u0131 memnuniyeti a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir. \u00d6zellikle veritabanlar\u0131, web sunucular\u0131, e-posta sistemleri ve di\u011fer i\u015f kritik uygulamalar i\u00e7in HA \u00e7\u00f6z\u00fcmleri vazge\u00e7ilmezdir.<\/p>\n<h3>Heartbeat Nedir ve Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h3>\n<p>Heartbeat, Linux tabanl\u0131 sistemler i\u00e7in a\u00e7\u0131k kaynakl\u0131 bir y\u00fcksek eri\u015filebilirlik k\u00fcmeleme yaz\u0131l\u0131m\u0131d\u0131r. Temel olarak, bir k\u00fcmedeki sunucular\u0131n (d\u00fc\u011f\u00fcmlerin) birbirlerinin durumunu izlemesini sa\u011flar. Bir d\u00fc\u011f\u00fcm\u00fcn ar\u0131zaland\u0131\u011f\u0131n\u0131 tespit etti\u011finde, o d\u00fc\u011f\u00fcm taraf\u0131ndan sa\u011flanan hizmetleri ve kaynaklar\u0131 (\u00f6rne\u011fin, IP adresleri, dosya sistemleri, uygulamalar) otomatik olarak ba\u015fka bir sa\u011fl\u0131kl\u0131 d\u00fc\u011f\u00fcme aktar\u0131r. Bu, hizmetin kesintisiz olarak \u00e7al\u0131\u015fmaya devam etmesini sa\u011flar.<\/p>\n<p>Heartbeat, genellikle &#8220;aktif-pasif&#8221; veya &#8220;birincil-ikincil&#8221; (primary-secondary) mimarisinde \u00e7al\u0131\u015f\u0131r. Aktif d\u00fc\u011f\u00fcm, normalde t\u00fcm hizmetleri y\u00fcr\u00fct\u00fcrken, pasif d\u00fc\u011f\u00fcm beklemede kal\u0131r ve aktif d\u00fc\u011f\u00fcm\u00fcn durumunu s\u00fcrekli olarak izler. Aktif d\u00fc\u011f\u00fcmde bir sorun tespit edildi\u011finde, pasif d\u00fc\u011f\u00fcm devreye girer ve hizmetleri devral\u0131r.<\/p>\n<p>Heartbeat, d\u00fc\u011f\u00fcmler aras\u0131nda &#8220;kalp at\u0131\u015f\u0131&#8221; sinyalleri g\u00f6ndererek ileti\u015fim kurar. Bu sinyaller, genellikle a\u011f \u00fczerinden (UDP unicast\/multicast) veya seri ba\u011flant\u0131 \u00fczerinden g\u00f6nderilir. E\u011fer bir d\u00fc\u011f\u00fcmden belirli bir s\u00fcre boyunca kalp at\u0131\u015f\u0131 sinyali al\u0131namazsa, o d\u00fc\u011f\u00fcm ar\u0131zal\u0131 kabul edilir ve failover s\u00fcreci ba\u015flat\u0131l\u0131r.<\/p>\n<h3>Ayr\u0131lm\u0131\u015f IP Adresleri (Reserved IPs) Kavram\u0131<\/h3>\n<p>Y\u00fcksek eri\u015filebilirlik kurulumlar\u0131nda, ayr\u0131lm\u0131\u015f IP adresleri (bazen &#8220;floating IP&#8221; veya &#8220;sanal IP&#8221; olarak da adland\u0131r\u0131l\u0131r) kritik bir rol oynar. Bu IP adresi, k\u00fcmedeki belirli bir fiziksel sunucuya kal\u0131c\u0131 olarak atanmak yerine, bir k\u00fcme kayna\u011f\u0131 olarak y\u00f6netilir ve failover durumunda aktif olan d\u00fc\u011f\u00fcme atan\u0131r.<\/p>\n<p>Kullan\u0131c\u0131lar ve istemciler, do\u011frudan fiziksel sunucular\u0131n IP adresleri yerine bu ayr\u0131lm\u0131\u015f IP adresini kullanarak hizmetlere eri\u015fir. Aktif d\u00fc\u011f\u00fcmde bir ar\u0131za meydana geldi\u011finde ve Heartbeat hizmetleri yedek d\u00fc\u011f\u00fcme ta\u015f\u0131d\u0131\u011f\u0131nda, ayr\u0131lm\u0131\u015f IP adresi de yedek d\u00fc\u011f\u00fcme ta\u015f\u0131n\u0131r. Bu sayede, istemcilerin ba\u011flant\u0131lar\u0131n\u0131 de\u011fi\u015ftirmesine gerek kalmaz ve hizmet kesintisi minimumda tutulur. Ayr\u0131lm\u0131\u015f IP, istemciler i\u00e7in tek bir eri\u015fim noktas\u0131 sa\u011flar ve altta yatan altyap\u0131 de\u011fi\u015fikliklerini onlardan gizler.<\/p>\n<h3>Kurulum \u00d6ncesi Haz\u0131rl\u0131klar<\/h3>\n<p>Y\u00fcksek eri\u015filebilirlik kurulumuna ba\u015flamadan \u00f6nce baz\u0131 \u00f6n haz\u0131rl\u0131klar\u0131n yap\u0131lmas\u0131 gerekmektedir. Bu ad\u0131mlar, kurulum s\u00fcrecinin sorunsuz ilerlemesini sa\u011flayacakt\u0131r.<\/p>\n<h4>Sistem Gereksinimleri<\/h4>\n<p>*   <strong>\u0130ki Adet Ubuntu 14.04 Sunucusu:<\/strong> Heartbeat k\u00fcmesi i\u00e7in en az iki adet ayn\u0131 i\u015fletim sistemi s\u00fcr\u00fcm\u00fcne sahip sunucuya ihtiyac\u0131m\u0131z var. Bu sunuculara &#8220;d\u00fc\u011f\u00fcm&#8221; (node) ad\u0131n\u0131 verece\u011fiz.<br \/>\n*   <strong>A\u011f Yap\u0131land\u0131rmas\u0131:<\/strong> Her iki sunucunun da ayn\u0131 a\u011f segmentinde statik IP adreslerine sahip olmas\u0131 gerekmektedir. Ayr\u0131ca, k\u00fcme i\u00e7in kullan\u0131lacak bir adet ayr\u0131lm\u0131\u015f (floating) IP adresine ihtiyac\u0131m\u0131z olacakt\u0131r. Bu ayr\u0131lm\u0131\u015f IP adresi, fiziksel bir sunucuya atanmam\u0131\u015f ve k\u00fcme i\u00e7inde kullan\u0131lmak \u00fczere bo\u015fta olan bir IP olmal\u0131d\u0131r.<br \/>\n*   <strong>SSH Eri\u015fimi:<\/strong> Her iki sunucuya da root veya sudo yetkilerine sahip bir kullan\u0131c\u0131 ile SSH \u00fczerinden eri\u015fiminizin olmas\u0131 gerekmektedir.<br \/>\n*   <strong>Zaman Senkronizasyonu (NTP):<\/strong> K\u00fcmedeki t\u00fcm d\u00fc\u011f\u00fcmlerin zamanlar\u0131n\u0131n senkronize olmas\u0131 kritik \u00f6neme sahiptir. Zaman farkl\u0131l\u0131klar\u0131, Heartbeat&#8217;in yanl\u0131\u015f ar\u0131za tespiti yapmas\u0131na yol a\u00e7abilir. <code>ntpdate<\/code> veya <code>ntp<\/code> servisini kurup yap\u0131land\u0131rarak zaman senkronizasyonunu sa\u011flay\u0131n.<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update\n    sudo apt-get install ntp<\/code><\/pre>\n<p>*   <strong>Ana Bilgisayar Adlar\u0131 (Hostnames):<\/strong> Her d\u00fc\u011f\u00fcm i\u00e7in benzersiz ve anlaml\u0131 ana bilgisayar adlar\u0131 belirleyin (\u00f6rne\u011fin, <code>node1<\/code>, <code>node2<\/code>). Bu adlar\u0131n <code>\/etc\/hosts<\/code> dosyas\u0131nda veya DNS sunucunuzda \u00e7\u00f6z\u00fcmlenebilir olmas\u0131 gerekmektedir.<br \/>\n    \u00d6rnek <code>\/etc\/hosts<\/code> dosyas\u0131 (her iki d\u00fc\u011f\u00fcmde de):<\/p>\n<pre><code class=\"language-\">127.0.0.1       localhost\n    192.168.1.10    node1\n    192.168.1.11    node2<\/code><\/pre>\n<p>    (Burada <code>192.168.1.10<\/code> ve <code>192.168.1.11<\/code> sunucular\u0131n\u0131z\u0131n ger\u00e7ek IP adresleridir.)<br \/>\n*   <strong>G\u00fcvenlik Duvar\u0131 (Firewall):<\/strong> Heartbeat&#8217;in ileti\u015fim kurabilmesi i\u00e7in g\u00fcvenlik duvar\u0131n\u0131n (ufw, iptables) do\u011fru \u015fekilde yap\u0131land\u0131r\u0131lmas\u0131 veya ge\u00e7ici olarak devre d\u0131\u015f\u0131 b\u0131rak\u0131lmas\u0131 gerekebilir. Heartbeat genellikle UDP 694 portunu kullan\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo ufw disable # Ge\u00e7ici olarak devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in\n    # veya\n    sudo ufw allow 694\/udp # Sadece Heartbeat portunu a\u00e7mak i\u00e7in<\/code><\/pre>\n<h4>A\u011f Topolojisi<\/h4>\n<p>Bu makalede a\u015fa\u011f\u0131daki \u00f6rnek a\u011f yap\u0131land\u0131rmas\u0131n\u0131 kullanaca\u011f\u0131z:<\/p>\n<p>*   <strong>D\u00fc\u011f\u00fcm 1 (node1):<\/strong><br \/>\n    *   IP Adresi: <code>192.168.1.10<\/code><br \/>\n    *   Hostname: <code>node1<\/code><br \/>\n*   <strong>D\u00fc\u011f\u00fcm 2 (node2):<\/strong><br \/>\n    *   IP Adresi: <code>192.168.1.11<\/code><br \/>\n    *   Hostname: <code>node2<\/code><br \/>\n*   <strong>Ayr\u0131lm\u0131\u015f IP Adresi (Floating IP):<\/strong><br \/>\n    *   IP Adresi: <code>192.168.1.100<\/code> (Bu IP adresi ba\u015flang\u0131\u00e7ta hi\u00e7bir sunucuya atanmayacak, Heartbeat taraf\u0131ndan y\u00f6netilecek.)<br \/>\n*   <strong>A\u011f Aray\u00fcz\u00fc:<\/strong> <code>eth0<\/code> (Varsay\u0131lan olarak bu aray\u00fcz\u00fc kullanaca\u011f\u0131z. Kendi sisteminizde farkl\u0131 bir aray\u00fcz ad\u0131 varsa buna g\u00f6re d\u00fczenlemelisiniz.)<\/p>\n<h3>Heartbeat Kurulumu<\/h3>\n<p>Heartbeat paketini her iki d\u00fc\u011f\u00fcme de kurmam\u0131z gerekmektedir.<\/p>\n<h4>Paket Kurulumu<\/h4>\n<p>Her iki d\u00fc\u011f\u00fcmde de a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update\nsudo apt-get install heartbeat<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, Heartbeat yap\u0131land\u0131rma dosyalar\u0131n\u0131 d\u00fczenlemeye ba\u015flayabiliriz. Heartbeat&#8217;in ana yap\u0131land\u0131rma dosyalar\u0131 <code>\/etc\/ha.d\/<\/code> dizininde bulunur:<\/p>\n<p>*   <code>ha.cf<\/code>: Heartbeat&#8217;in ana yap\u0131land\u0131rma dosyas\u0131d\u0131r. K\u00fcme d\u00fc\u011f\u00fcmleri, ileti\u015fim y\u00f6ntemleri ve zamanlama parametreleri burada tan\u0131mlan\u0131r.<br \/>\n*   <code>authkeys<\/code>: K\u00fcme d\u00fc\u011f\u00fcmleri aras\u0131ndaki ileti\u015fimin kimlik do\u011frulamas\u0131n\u0131 sa\u011flar. G\u00fcvenlik i\u00e7in \u00f6nemlidir.<br \/>\n*   <code>haresources<\/code>: K\u00fcme taraf\u0131ndan y\u00f6netilecek kaynaklar\u0131 (IP adresleri, servisler, dosya sistemleri vb.) tan\u0131mlar.<\/p>\n<h4><code>ha.cf<\/code> Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>Her iki d\u00fc\u011f\u00fcmde de <code>\/etc\/ha.d\/ha.cf<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki gibi d\u00fczenleyin. A\u00e7\u0131klamalarla birlikte her bir parametrenin ne anlama geldi\u011fini belirtelim:<\/p>\n<pre><code class=\"language-\"># \/etc\/ha.d\/ha.cf - Ana Heartbeat Yap\u0131land\u0131rma Dosyas\u0131\n\n<h2>Heartbeat'in kalp at\u0131\u015f\u0131 sinyalleri i\u00e7in kullanaca\u011f\u0131 UDP portu.<\/h2>\n<h2>Varsay\u0131lan 694't\u00fcr. G\u00fcvenlik duvar\u0131n\u0131zda bu portun a\u00e7\u0131k oldu\u011fundan emin olun.<\/h2>\nudpport 694\n\n<h2>Kalp at\u0131\u015f\u0131 sinyallerinin g\u00f6nderilece\u011fi aray\u00fcz.<\/h2>\n<h2>Bu, sunucular\u0131n\u0131z\u0131n birbirleriyle ileti\u015fim kuraca\u011f\u0131 a\u011f aray\u00fcz\u00fcd\u00fcr.<\/h2>\n<h2>'eth0' yerine kendi a\u011f aray\u00fcz\u00fcn\u00fcz\u00fc yazmal\u0131s\u0131n\u0131z.<\/h2>\n<h2>ucast eth0 192.168.1.10 # node1 i\u00e7in bu sat\u0131r\u0131 yorum sat\u0131r\u0131 yap\u0131n, node2'ye giden IP'yi yaz\u0131n<\/h2>\n<h2>ucast eth0 192.168.1.11 # node2 i\u00e7in bu sat\u0131r\u0131 yorum sat\u0131r\u0131 yap\u0131n, node1'e giden IP'yi yaz\u0131n<\/h2>\n\n<h2>Her iki d\u00fc\u011f\u00fcmde de a\u015fa\u011f\u0131daki gibi olmal\u0131:<\/h2>\nucast eth0 192.168.1.10\nucast eth0 192.168.1.11\n\n<h2>Bir d\u00fc\u011f\u00fcm\u00fcn ne kadar s\u00fcreyle kalp at\u0131\u015f\u0131 g\u00f6ndermedi\u011finde \u00f6l\u00fc kabul edilece\u011fini belirtir (saniye).<\/h2>\ndeadtime 30\n\n<h2>Bir d\u00fc\u011f\u00fcm\u00fcn kritik duruma geldi\u011fi ve uyar\u0131 mesaj\u0131 \u00fcretmesi gereken s\u00fcreyi belirtir (saniye).<\/h2>\nwarntime 10\n\n<h2>Heartbeat'in ba\u015flang\u0131\u00e7ta d\u00fc\u011f\u00fcmlerin birbirini bulmas\u0131 i\u00e7in bekleyece\u011fi s\u00fcreyi belirtir (saniye).<\/h2>\n<h2>Bu s\u00fcre, a\u011fdaki gecikmeler veya sistemin ba\u015flang\u0131\u00e7taki y\u00fck\u00fc nedeniyle \u00f6nemli olabilir.<\/h2>\ninitdead 120\n\n<h2>Kaynaklar\u0131n, ar\u0131zalanan birincil d\u00fc\u011f\u00fcm tekrar \u00e7evrimi\u00e7i oldu\u011funda geri al\u0131n\u0131p al\u0131nmayaca\u011f\u0131n\u0131 belirler.<\/h2>\n<h2>'on' ise, birincil d\u00fc\u011f\u00fcm geri geldi\u011finde kaynaklar\u0131 geri al\u0131r (tercih edilir).<\/h2>\n<h2>'off' ise, kaynaklar yedek d\u00fc\u011f\u00fcmde kal\u0131r.<\/h2>\nauto_failback on\n\n<h2>Heartbeat k\u00fcmesindeki d\u00fc\u011f\u00fcmlerin host adlar\u0131.<\/h2>\n<h2>Bu adlar, \/etc\/hosts dosyan\u0131zdaki veya DNS'teki host adlar\u0131 ile e\u015fle\u015fmelidir.<\/h2>\nnode node1\nnode node2\n\n<h2>Loglama ayarlar\u0131 (iste\u011fe ba\u011fl\u0131, hata ay\u0131klama i\u00e7in faydal\u0131d\u0131r)<\/h2>\n<h2>logfacility local0<\/h2>\n<h2>debug 0<\/code><\/pre>\n<\/h2>\n<p><strong>\u00d6nemli Not:<\/strong> <code>ucast<\/code> sat\u0131rlar\u0131nda, her d\u00fc\u011f\u00fcm kendi d\u0131\u015f\u0131ndaki di\u011fer d\u00fc\u011f\u00fcmlerin IP adreslerini listelemelidir. Ancak, Heartbeat&#8217;in modern versiyonlar\u0131 (veya bu yap\u0131land\u0131rma \u015fekli) genellikle t\u00fcm d\u00fc\u011f\u00fcmlerin birbirlerini listelemesini gerektirir. Yukar\u0131daki \u00f6rnekte, her iki d\u00fc\u011f\u00fcm de hem <code>192.168.1.10<\/code> hem de <code>192.168.1.11<\/code> IP&#8217;lerini listelemelidir. Heartbeat, bu IP&#8217;ler \u00fczerinden unicast ileti\u015fimi deneyecektir.<\/p>\n<h4><code>authkeys<\/code> Yap\u0131land\u0131rmas\u0131<\/h4>\n<p><code>authkeys<\/code> dosyas\u0131, Heartbeat d\u00fc\u011f\u00fcmleri aras\u0131ndaki ileti\u015fimin g\u00fcvenli\u011fini sa\u011flar. Bu dosya, sadece root kullan\u0131c\u0131s\u0131 taraf\u0131ndan okunabilir olmal\u0131d\u0131r.<\/p>\n<p>Her iki d\u00fc\u011f\u00fcmde de <code>\/etc\/ha.d\/authkeys<\/code> dosyas\u0131n\u0131 olu\u015fturun veya d\u00fczenleyin:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/ha.d\/authkeys<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi olmal\u0131d\u0131r:<\/p>\n<pre><code class=\"language-\"># \/etc\/ha.d\/authkeys - Heartbeat Kimlik Do\u011frulama Anahtarlar\u0131\n\n<h2>Kimlik do\u011frulama anahtar\u0131 t\u00fcr\u00fcn\u00fc belirtir. sha1, md5 veya crc kullanabilirsiniz.<\/h2>\n<h2>sha1 en g\u00fcvenli olan\u0131d\u0131r.<\/h2>\nauth 1\n1 sha1 SomeSecretKeyForHeartbeat\n\n<h2>Not: \"SomeSecretKeyForHeartbeat\" yerine kendi g\u00fc\u00e7l\u00fc \u015fifrenizi kullan\u0131n.<\/code><\/pre>\n<\/h2>\n<p>Dosyay\u0131 kaydettikten sonra, do\u011fru izinleri ayarlamak \u00e7ok \u00f6nemlidir:<\/p>\n<pre><code class=\"language-bash\">sudo chmod 600 \/etc\/ha.d\/authkeys<\/code><\/pre>\n<p>Bu komut, dosyan\u0131n sadece root kullan\u0131c\u0131s\u0131 taraf\u0131ndan okunup yaz\u0131labilir olmas\u0131n\u0131 sa\u011flar. Yanl\u0131\u015f izinler Heartbeat&#8217;in ba\u015flamamas\u0131na neden olabilir.<\/p>\n<h4><code>haresources<\/code> Yap\u0131land\u0131rmas\u0131<\/h4>\n<p><code>haresources<\/code> dosyas\u0131, Heartbeat k\u00fcmesi taraf\u0131ndan y\u00f6netilecek kaynaklar\u0131 tan\u0131mlar. Bizim durumumuzda, bu bir ayr\u0131lm\u0131\u015f IP adresi olacakt\u0131r. Heartbeat v1\/v2&#8217;de bu dosya, hangi d\u00fc\u011f\u00fcm\u00fcn hangi kaynaklar\u0131 y\u00f6netti\u011fini belirtir. Genellikle, birincil d\u00fc\u011f\u00fcm\u00fcn ad\u0131 ile ba\u015flar.<\/p>\n<p>Her iki d\u00fc\u011f\u00fcmde de <code>\/etc\/ha.d\/haresources<\/code> dosyas\u0131n\u0131 olu\u015fturun veya d\u00fczenleyin:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/ha.d\/haresources<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi olmal\u0131d\u0131r:<\/p>\n<pre><code class=\"language-\"># \/etc\/ha.d\/haresources - Heartbeat Kaynak Tan\u0131mlar\u0131\n\n<h2>node1: Bu, kaynaklar\u0131n varsay\u0131lan olarak hangi d\u00fc\u011f\u00fcmde aktif olaca\u011f\u0131n\u0131 belirtir.<\/h2>\n<h2>E\u011fer node1 ar\u0131zalan\u0131rsa, kaynaklar node2'ye ta\u015f\u0131nacakt\u0131r.<\/h2>\n<h2>IPaddr::192.168.1.100\/24\/eth0: Bu, y\u00f6netilecek ayr\u0131lm\u0131\u015f IP adresidir.<\/h2>\n<h2>- IPaddr:: : Heartbeat'in IP adresini y\u00f6netece\u011fini belirtir.<\/h2>\n<h2>- 192.168.1.100: Ayr\u0131lm\u0131\u015f IP adresimiz.<\/h2>\n<h2>- \/24: IP adresinin a\u011f maskesi (CIDR format\u0131nda).<\/h2>\n<h2>- \/eth0: IP adresinin atanaca\u011f\u0131 a\u011f aray\u00fcz\u00fc.<\/h2>\n\nnode1 IPaddr::192.168.1.100\/24\/eth0<\/code><\/pre>\n<p>Bu yap\u0131land\u0131rma, <code>192.168.1.100<\/code> IP adresinin normalde <code>node1<\/code> \u00fczerinde aktif olaca\u011f\u0131n\u0131, ancak <code>node1<\/code>&#8216;in ar\u0131zalanmas\u0131 durumunda <code>node2<\/code>&#8216;ye ta\u015f\u0131naca\u011f\u0131n\u0131 belirtir.<\/p>\n<h3>Servislerin Yap\u0131land\u0131r\u0131lmas\u0131 (\u0130ste\u011fe Ba\u011fl\u0131)<\/h3>\n<p>Yukar\u0131daki yap\u0131land\u0131rma sadece ayr\u0131lm\u0131\u015f IP adresini y\u00f6netir. E\u011fer bu IP adresi \u00fczerinde \u00e7al\u0131\u015fan bir servisin (\u00f6rne\u011fin Apache web sunucusu, MySQL veritaban\u0131) de Heartbeat taraf\u0131ndan ba\u015flat\u0131l\u0131p durdurulmas\u0131n\u0131 istiyorsan\u0131z, <code>haresources<\/code> dosyas\u0131na bu servisleri eklemeniz gerekir.<\/p>\n<p>\u00d6rnek olarak, Apache web sunucusunun da y\u00f6netilmesini istiyorsak, <code>haresources<\/code> dosyas\u0131n\u0131 a\u015fa\u011f\u0131daki gibi de\u011fi\u015ftirebiliriz:<\/p>\n<pre><code class=\"language-\">node1 IPaddr::192.168.1.100\/24\/eth0 apache2<\/code><\/pre>\n<p>Bu durumda, Heartbeat <code>apache2<\/code> servisini <code>node1<\/code> \u00fczerinde ba\u015flatacak ve <code>node1<\/code> ar\u0131zalan\u0131rsa <code>node2<\/code> \u00fczerinde de ayn\u0131 servisi ba\u015flatacakt\u0131r. Ancak, bu t\u00fcr servislerin Heartbeat taraf\u0131ndan d\u00fczg\u00fcn bir \u015fekilde y\u00f6netilebilmesi i\u00e7in ilgili init betiklerinin (<code>\/etc\/init.d\/apache2<\/code>) do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan ve Heartbeat&#8217;in bu betiklere eri\u015febildi\u011finden emin olmal\u0131s\u0131n\u0131z. Heartbeat, <code>resource.d<\/code> dizinindeki betikleri de kullanabilir. Ancak, temel IP failover i\u00e7in bu ad\u0131m gerekli de\u011fildir.<\/p>\n<p><strong>\u00d6nemli:<\/strong> E\u011fer bir servis ekleyecekseniz, bu servisin her iki d\u00fc\u011f\u00fcmde de y\u00fckl\u00fc ve yap\u0131land\u0131r\u0131lm\u0131\u015f olmas\u0131 gerekmektedir. \u00d6rne\u011fin, Apache&#8217;yi kurun:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install apache2<\/code><\/pre>\n<h3>Heartbeat Servisini Ba\u015flatma ve Test Etme<\/h3>\n<p>Yap\u0131land\u0131rma dosyalar\u0131n\u0131 tamamlad\u0131ktan sonra Heartbeat servisini ba\u015flatabilir ve kurulumu test edebiliriz.<\/p>\n<h4>Servisi Ba\u015flatma<\/h4>\n<p>Her iki d\u00fc\u011f\u00fcmde de Heartbeat servisini ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo service heartbeat start<\/code><\/pre>\n<p>Servisin sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flamak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo update-rc.d heartbeat defaults<\/code><\/pre>\n<h4>Durumu Kontrol Etme<\/h4>\n<p>Heartbeat&#8217;in d\u00fczg\u00fcn \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in \u00e7e\u015fitli y\u00f6ntemler kullanabiliriz:<\/p>\n<p>1.  <strong>Sistem G\u00fcnl\u00fcklerini \u0130zleme:<\/strong> Heartbeat&#8217;in t\u00fcm eylemleri <code>\/var\/log\/syslog<\/code> dosyas\u0131na kaydedilir. Bu dosyay\u0131 izleyerek durumu g\u00f6rebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">tail -f \/var\/log\/syslog<\/code><\/pre>\n<p>    Ba\u015far\u0131l\u0131 bir ba\u015flang\u0131\u00e7ta, Heartbeat&#8217;in k\u00fcme d\u00fc\u011f\u00fcmleriyle ileti\u015fim kurdu\u011funu ve kaynaklar\u0131 ba\u015flatt\u0131\u011f\u0131n\u0131 g\u00f6steren mesajlar g\u00f6rmelisiniz. \u00d6zellikle <code>info: Running resource group<\/code> veya <code>info: Acquiring resource group<\/code> gibi mesajlar aray\u0131n.<\/p>\n<p>2.  <strong>IP Adresini Kontrol Etme:<\/strong> Ayr\u0131lm\u0131\u015f IP adresinin hangi d\u00fc\u011f\u00fcmde aktif oldu\u011funu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">ip addr show eth0<\/code><\/pre>\n<p>    Veya sadece IP adreslerini listelemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">ip a<\/code><\/pre>\n<p>    Ba\u015flang\u0131\u00e7ta, <code>node1<\/code> \u00fczerinde <code>192.168.1.100<\/code> IP adresinin <code>eth0<\/code> aray\u00fcz\u00fcne atand\u0131\u011f\u0131n\u0131 g\u00f6rmelisiniz. <code>node2<\/code> \u00fczerinde ise bu IP adresi g\u00f6r\u00fcnmeyecektir.<\/p>\n<p>3.  <strong>Ping Testi:<\/strong> Ayr\u0131lm\u0131\u015f IP adresine k\u00fcme d\u0131\u015f\u0131ndan veya k\u00fcmedeki di\u011fer d\u00fc\u011f\u00fcmden ping atarak eri\u015filebilirli\u011fini kontrol edin:<\/p>\n<pre><code class=\"language-bash\">ping 192.168.1.100<\/code><\/pre>\n<p>    Ping ba\u015far\u0131l\u0131 olmal\u0131d\u0131r.<\/p>\n<h4>Failover Testi<\/h4>\n<p>Kurulumun en kritik k\u0131sm\u0131, failover senaryosunu test etmektir.<\/p>\n<p>1.  <strong>Birincil D\u00fc\u011f\u00fcm\u00fc Kapatma:<\/strong> Kaynaklar\u0131n \u015fu anda aktif oldu\u011fu <code>node1<\/code> d\u00fc\u011f\u00fcm\u00fcnde Heartbeat servisini durdurun:<\/p>\n<pre><code class=\"language-bash\">sudo service heartbeat stop<\/code><\/pre>\n<p>    Veya daha ger\u00e7ek\u00e7i bir senaryo i\u00e7in sunucuyu tamamen kapat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo shutdown -h now<\/code><\/pre>\n<p>    Bu, <code>node1<\/code>&#8216;in ar\u0131zaland\u0131\u011f\u0131n\u0131 sim\u00fcle edecektir.<\/p>\n<p>2.  <strong>Yedek D\u00fc\u011f\u00fcmde Durumu Kontrol Etme:<\/strong> <code>node2<\/code> d\u00fc\u011f\u00fcm\u00fcne ge\u00e7in ve sistem g\u00fcnl\u00fcklerini izleyin:<\/p>\n<pre><code class=\"language-bash\">tail -f \/var\/log\/syslog<\/code><\/pre>\n<p>    Heartbeat&#8217;in <code>node1<\/code>&#8216;in \u00f6ld\u00fc\u011f\u00fcn\u00fc tespit etti\u011fini ve kaynaklar\u0131 devrald\u0131\u011f\u0131n\u0131 g\u00f6steren mesajlar g\u00f6rmelisiniz (\u00f6rne\u011fin, <code>info: node1 is dead<\/code>, <code>info: Taking over resources<\/code>).<\/p>\n<p>3.  <strong>Ayr\u0131lm\u0131\u015f IP&#8217;yi Kontrol Etme:<\/strong> <code>node2<\/code> \u00fczerinde ayr\u0131lm\u0131\u015f IP adresinin <code>eth0<\/code> aray\u00fcz\u00fcne atand\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n:<\/p>\n<pre><code class=\"language-bash\">ip addr show eth0<\/code><\/pre>\n<p>    Art\u0131k <code>192.168.1.100<\/code> IP adresinin <code>node2<\/code> \u00fczerinde listelendi\u011fini g\u00f6rmelisiniz.<\/p>\n<p>4.  <strong>Ping Testi:<\/strong> Ayr\u0131lm\u0131\u015f IP adresine tekrar ping at\u0131n. Hala eri\u015filebilir olmal\u0131d\u0131r, ancak art\u0131k <code>node2<\/code> \u00fczerinden yan\u0131t verecektir.<\/p>\n<p>5.  <strong>Birincil D\u00fc\u011f\u00fcm\u00fc Geri Getirme:<\/strong> <code>node1<\/code>&#8216;i tekrar ba\u015flat\u0131n veya Heartbeat servisini tekrar ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo service heartbeat start<\/code><\/pre>\n<p>    <code>auto_failback on<\/code> olarak yap\u0131land\u0131rd\u0131\u011f\u0131m\u0131z i\u00e7in, <code>node1<\/code> tekrar \u00e7evrimi\u00e7i oldu\u011funda, Heartbeat kaynaklar\u0131 otomatik olarak <code>node1<\/code>&#8216;e geri ta\u015f\u0131mal\u0131d\u0131r. Bu s\u00fcreci her iki d\u00fc\u011f\u00fcm\u00fcn syslog&#8217;lar\u0131n\u0131 izleyerek do\u011frulay\u0131n. <code>node1<\/code>&#8216;de kaynaklar\u0131n geri al\u0131nd\u0131\u011f\u0131n\u0131, <code>node2<\/code>&#8216;de ise kaynaklar\u0131n b\u0131rak\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6steren mesajlar g\u00f6rmelisiniz.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Heartbeat kurulumunda kar\u015f\u0131la\u015f\u0131labilecek baz\u0131 yayg\u0131n sorunlar ve bunlar\u0131n \u00e7\u00f6z\u00fcmleri \u015funlard\u0131r:<\/p>\n<p>*   <strong>Split-Brain Senaryosu:<\/strong> Bu, her iki d\u00fc\u011f\u00fcm\u00fcn de kendisinin aktif d\u00fc\u011f\u00fcm oldu\u011funu d\u00fc\u015f\u00fcnmesi ve ayn\u0131 kaynaklar\u0131 (\u00f6rne\u011fin ayn\u0131 IP adresini) almaya \u00e7al\u0131\u015fmas\u0131 durumudur. Genellikle a\u011f ba\u011flant\u0131 sorunlar\u0131 veya yanl\u0131\u015f yap\u0131land\u0131rma nedeniyle meydana gelir. Heartbeat, bu durumu \u00f6nlemek i\u00e7in \u00e7e\u015fitli mekanizmalar kullan\u0131r, ancak do\u011fru a\u011f yap\u0131land\u0131rmas\u0131 ve <code>deadtime<\/code> ayarlar\u0131 \u00f6nemlidir. E\u011fer split-brain ya\u015fan\u0131rsa, IP \u00e7ak\u0131\u015fmas\u0131 (duplicate IP address) uyar\u0131lar\u0131 g\u00f6rebilirsiniz. \u00c7\u00f6z\u00fcm genellikle bir d\u00fc\u011f\u00fcmde Heartbeat servisini durdurup manuel olarak kaynaklar\u0131 kontrol etmek ve ard\u0131ndan servisi tekrar ba\u015flatmakt\u0131r.<br \/>\n*   <strong>A\u011f Ba\u011flant\u0131 Sorunlar\u0131:<\/strong> D\u00fc\u011f\u00fcmler aras\u0131nda Heartbeat sinyallerinin iletilmemesi en yayg\u0131n sorundur.<br \/>\n    *   <strong>G\u00fcvenlik Duvar\u0131:<\/strong> UDP 694 portunun her iki d\u00fc\u011f\u00fcmde de a\u00e7\u0131k oldu\u011fundan emin olun.<br \/>\n    *   <strong>Yanl\u0131\u015f IP Adresi\/Aray\u00fcz:<\/strong> <code>ha.cf<\/code> dosyas\u0131ndaki <code>ucast<\/code> IP adreslerinin ve <code>eth0<\/code> gibi aray\u00fcz adlar\u0131n\u0131n do\u011fru oldu\u011fundan emin olun.<br \/>\n    *   <strong>A\u011f Kablosu\/Ba\u011flant\u0131 Hatas\u0131:<\/strong> Fiziksel a\u011f ba\u011flant\u0131lar\u0131n\u0131 kontrol edin.<br \/>\n*   <strong>Kimlik Do\u011frulama Hatas\u0131:<\/strong> <code>authkeys<\/code> dosyas\u0131ndaki anahtar\u0131n her iki d\u00fc\u011f\u00fcmde de ayn\u0131 oldu\u011fundan ve dosya izinlerinin (<code>chmod 600<\/code>) do\u011fru ayarland\u0131\u011f\u0131ndan emin olun. Hata mesajlar\u0131 genellikle <code>Authentication failure<\/code> \u015feklinde olacakt\u0131r.<br \/>\n*   <strong>Hostname \u00c7\u00f6z\u00fcmleme Sorunlar\u0131:<\/strong> <code>ha.cf<\/code> dosyas\u0131ndaki <code>node<\/code> adlar\u0131n\u0131n <code>\/etc\/hosts<\/code> dosyas\u0131nda veya DNS&#8217;te do\u011fru \u015fekilde \u00e7\u00f6z\u00fcmlendi\u011finden emin olun.<br \/>\n*   <strong>Yap\u0131land\u0131rma Dosyas\u0131 S\u00f6zdizimi Hatalar\u0131:<\/strong> Yap\u0131land\u0131rma dosyalar\u0131nda (\u00f6zellikle <code>ha.cf<\/code>, <code>haresources<\/code>) s\u00f6zdizimi hatalar\u0131 Heartbeat&#8217;in ba\u015flamamas\u0131na neden olabilir. Hata mesajlar\u0131n\u0131 dikkatlice okuyun.<br \/>\n*   <strong>Zaman Senkronizasyonu:<\/strong> D\u00fc\u011f\u00fcmler aras\u0131nda b\u00fcy\u00fck zaman farklar\u0131, Heartbeat&#8217;in yanl\u0131\u015f ar\u0131za tespiti yapmas\u0131na neden olabilir. NTP servisini kullanarak zaman senkronizasyonunu sa\u011flay\u0131n.<br \/>\n*   <strong>Log Dosyalar\u0131:<\/strong> Herhangi bir sorunla kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131zda ilk bakman\u0131z gereken yer <code>\/var\/log\/syslog<\/code> dosyas\u0131d\u0131r. Heartbeat, detayl\u0131 hata ve bilgi mesajlar\u0131n\u0131 buraya kaydeder.<\/p>\n<h3>Heartbeat&#8217;in S\u0131n\u0131rlamalar\u0131 ve Alternatifleri<\/h3>\n<p>Heartbeat (\u00f6zellikle bu makalede ele ald\u0131\u011f\u0131m\u0131z eski versiyonlar) basit aktif-pasif k\u00fcmelemeler i\u00e7in etkili bir \u00e7\u00f6z\u00fcm olsa da, baz\u0131 s\u0131n\u0131rlamalar\u0131 vard\u0131r ve modern HA \u00e7\u00f6z\u00fcmleri daha geli\u015fmi\u015f \u00f6zellikler sunar.<\/p>\n<p>*   <strong>Heartbeat v1\/v2 vs. Pacemaker\/Corosync:<\/strong> Ubuntu 14.04&#8217;te Heartbeat yayg\u0131n olarak kullan\u0131lm\u0131\u015f olsa da, daha yeni Linux da\u011f\u0131t\u0131mlar\u0131nda ve daha karma\u015f\u0131k HA senaryolar\u0131nda Heartbeat&#8217;in yerini genellikle Pacemaker ve Corosync alm\u0131\u015ft\u0131r. Pacemaker, kaynak y\u00f6netimini \u00fcstlenirken, Corosync d\u00fc\u011f\u00fcmler aras\u0131 ileti\u015fimi ve k\u00fcme \u00fcyeli\u011fini y\u00f6netir. Bu ikili, daha esnek, \u00f6l\u00e7eklenebilir ve \u00f6zellik a\u00e7\u0131s\u0131ndan zengin bir HA \u00e7\u00f6z\u00fcm\u00fc sunar. Heartbeat v3, asl\u0131nda Pacemaker&#8217;\u0131n bir par\u00e7as\u0131 haline gelmi\u015ftir.<br \/>\n*   <strong>Karma\u015f\u0131kl\u0131k:<\/strong> Heartbeat&#8217;in daha karma\u015f\u0131k kaynaklar\u0131 (\u00f6rne\u011fin, birden fazla servis, karma\u015f\u0131k ba\u011f\u0131ml\u0131l\u0131klar) y\u00f6netmesi, <code>haresources<\/code> betiklerinin yaz\u0131lmas\u0131yla biraz karma\u015f\u0131k hale gelebilir.<br \/>\n*   <strong>Kaynak Temsilcileri (Resource Agents):<\/strong> Pacemaker, daha standart ve esnek kaynak temsilcileri (resource agents) kullanarak \u00e7e\u015fitli servisleri ve kaynaklar\u0131 y\u00f6netebilir. Heartbeat&#8217;te bu seviyede bir standartla\u015fma daha azd\u0131r.<\/p>\n<p>Bu s\u0131n\u0131rlamalara ra\u011fmen, Ubuntu 14.04 gibi eski sistemlerde veya basit IP failover gerektiren durumlarda Heartbeat hala ge\u00e7erli ve etkili bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Ubuntu 14.04 \u00fczerinde Heartbeat ve ayr\u0131lm\u0131\u015f IP adresleri kullanarak temel bir y\u00fcksek eri\u015filebilirlik kurulumu olu\u015fturmak, kritik servislerinizin kesintisiz \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flaman\u0131n etkili bir yoludur. Bu makalede ad\u0131m ad\u0131m Heartbeat&#8217;in kurulumunu, yap\u0131land\u0131rmas\u0131n\u0131 ve testini ele ald\u0131k. Do\u011fru yap\u0131land\u0131rma ve d\u00fczenli testler ile Heartbeat, tek bir hata noktas\u0131n\u0131 ortadan kald\u0131rarak sistemlerinizin dayan\u0131kl\u0131l\u0131\u011f\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir.<\/p>\n<p>Unutulmamal\u0131d\u0131r ki, y\u00fcksek eri\u015filebilirlik sadece yaz\u0131l\u0131m kurulumuyla bitmez. D\u00fczenli bak\u0131m, izleme ve felaket kurtarma planlar\u0131n\u0131n olu\u015fturulmas\u0131 da i\u015f s\u00fcreklili\u011finin ayr\u0131lmaz bir par\u00e7as\u0131d\u0131r. Kurulumunuzu tamamlad\u0131ktan sonra, olas\u0131 senaryolar\u0131 kapsayan kapsaml\u0131 testler yaparak sisteminizin beklenmedik durumlara kar\u015f\u0131 ger\u00e7ekten dayan\u0131kl\u0131 oldu\u011fundan emin olun. Gelecekte daha modern ve esnek HA \u00e7\u00f6z\u00fcmlerine ge\u00e7i\u015f yapmay\u0131 planl\u0131yorsan\u0131z, Pacemaker ve Corosync gibi alternatifleri ara\u015ft\u0131rman\u0131z faydal\u0131 olacakt\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 14.04 \u00dczerinde Heartbeat ve Ayr\u0131lm\u0131\u015f IP&#8217;ler ile Y\u00fcksek Eri\u015filebilirlik Kurulumu\nG\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, hizmet kesintileri i","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-38380","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ubuntu 14.04 \u00dczerinde Heartbeat ve Ayr\u0131lm\u0131\u015f IP&#039;ler ile Y\u00fcksek Eri\u015filebilirlik Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 14.04 \u00dczerinde Heartbeat ve Ayr\u0131lm\u0131\u015f IP&#039;ler ile Y\u00fcksek Eri\u015filebilirlik Kurulumu\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 14.04 \u00dczerinde Heartbeat ve Ayr\u0131lm\u0131\u015f IP&#039;ler ile Y\u00fcksek Eri\u015filebilirlik Kurulumu G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, hizmet kesintileri i\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-29T22:40:41+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 14.04 \u00dczerinde Heartbeat ve Ayr\u0131lm\u0131\u015f IP&#8217;ler ile Y\u00fcksek Eri\u015filebilirlik Kurulumu\",\"datePublished\":\"2026-01-29T22:40:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/\"},\"wordCount\":2640,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/\",\"name\":\"Ubuntu 14.04 \u00dczerinde Heartbeat ve Ayr\u0131lm\u0131\u015f IP'ler ile Y\u00fcksek Eri\u015filebilirlik Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-29T22:40:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 14.04 \u00dczerinde Heartbeat ve Ayr\u0131lm\u0131\u015f IP&#8217;ler ile Y\u00fcksek Eri\u015filebilirlik Kurulumu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ubuntu 14.04 \u00dczerinde Heartbeat ve Ayr\u0131lm\u0131\u015f IP'ler ile Y\u00fcksek Eri\u015filebilirlik Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 14.04 \u00dczerinde Heartbeat ve Ayr\u0131lm\u0131\u015f IP'ler ile Y\u00fcksek Eri\u015filebilirlik Kurulumu","og_description":"Ubuntu 14.04 \u00dczerinde Heartbeat ve Ayr\u0131lm\u0131\u015f IP'ler ile Y\u00fcksek Eri\u015filebilirlik Kurulumu G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, hizmet kesintileri i","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-29T22:40:41+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"16 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 14.04 \u00dczerinde Heartbeat ve Ayr\u0131lm\u0131\u015f IP&#8217;ler ile Y\u00fcksek Eri\u015filebilirlik Kurulumu","datePublished":"2026-01-29T22:40:41+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/"},"wordCount":2640,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/","name":"Ubuntu 14.04 \u00dczerinde Heartbeat ve Ayr\u0131lm\u0131\u015f IP'ler ile Y\u00fcksek Eri\u015filebilirlik Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-29T22:40:41+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-14-04-uzerinde-heartbeat-ve-ayrilmis-ipler-ile-yuksek-erisilebilirlik-kurulumu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 14.04 \u00dczerinde Heartbeat ve Ayr\u0131lm\u0131\u015f IP&#8217;ler ile Y\u00fcksek Eri\u015filebilirlik Kurulumu"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38380","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=38380"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38380\/revisions"}],"predecessor-version":[{"id":38381,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38380\/revisions\/38381"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38380"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38380"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38380"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}