{"id":37444,"date":"2026-01-05T06:40:44","date_gmt":"2026-01-05T03:40:44","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=37444"},"modified":"2026-01-05T06:40:44","modified_gmt":"2026-01-05T03:40:44","slug":"pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/","title":{"rendered":"Pacemaker, Corosync ve Ayr\u0131lm\u0131\u015f IP&#8217;ler ile CentOS 7 \u00dczerinde Y\u00fcksek Eri\u015filebilirlik Kurulumu"},"content":{"rendered":"<p><body><\/p>\n<h2>Pacemaker, Corosync ve Ayr\u0131lm\u0131\u015f IP&#8217;ler ile CentOS 7 \u00dczerinde Y\u00fcksek Eri\u015filebilirlik Kurulumu<\/h2>\n<p>Y\u00fcksek Eri\u015filebilirlik (HA) sistemleri, kritik i\u015f uygulamalar\u0131n\u0131n ve servislerinin kesintisiz \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in tasarlanm\u0131\u015ft\u0131r. Beklenmedik donan\u0131m ar\u0131zalar\u0131, yaz\u0131l\u0131m hatalar\u0131 veya planl\u0131 bak\u0131mlar s\u0131ras\u0131nda dahi servislerin ayakta kalmas\u0131n\u0131 garanti ederler. Bu teknik makale, CentOS 7 i\u015fletim sistemi \u00fczerinde Pacemaker ve Corosync kullanarak nas\u0131l sa\u011flam bir Y\u00fcksek Eri\u015filebilirlik k\u00fcmesi olu\u015fturulaca\u011f\u0131n\u0131 ve servisler i\u00e7in ayr\u0131lm\u0131\u015f (sanal\/kayan) IP adreslerinin nas\u0131l y\u00f6netilece\u011fini ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r.<\/p>\n<h3>Y\u00fcksek Eri\u015filebilirlik Neden \u00d6nemlidir?<\/h3>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, i\u015f s\u00fcreklili\u011fi her zamankinden daha kritik hale gelmi\u015ftir. Bir uygulaman\u0131n veya servisin eri\u015filemez olmas\u0131, ciddi finansal kay\u0131plara, m\u00fc\u015fteri memnuniyetsizli\u011fine ve marka itibar\u0131 kayb\u0131na yol a\u00e7abilir. Y\u00fcksek Eri\u015filebilirlik \u00e7\u00f6z\u00fcmleri, bu riskleri minimize ederek sistemlerin ar\u0131za tolerans\u0131n\u0131 art\u0131r\u0131r ve servis kesintisi s\u00fcrelerini (downtime) \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r. Bu sayede, planl\u0131 veya plans\u0131z kesintilerde dahi kullan\u0131c\u0131lar servislerden faydalanmaya devam edebilir.<\/p>\n<h3>Temel Bile\u015fenler: Pacemaker, Corosync ve Ayr\u0131lm\u0131\u015f IP&#8217;ler<\/h3>\n<p>Y\u00fcksek Eri\u015filebilirlik k\u00fcmesini olu\u015fturan ana bile\u015fenleri ve rollerini anlamak, kurulum s\u00fcrecini kolayla\u015ft\u0131racakt\u0131r:<\/p>\n<h4>Corosync: K\u00fcme \u0130leti\u015fim Katman\u0131<\/h4>\n<p>Corosync, k\u00fcmedeki d\u00fc\u011f\u00fcmler (sunucular) aras\u0131nda g\u00fcvenilir bir ileti\u015fim kanal\u0131 sa\u011flayan a\u00e7\u0131k kaynakl\u0131 bir k\u00fcme motorudur. D\u00fc\u011f\u00fcmlerin birbirlerinin durumunu izlemesini, k\u00fcme genelindeki yap\u0131land\u0131rma de\u011fi\u015fikliklerini senkronize etmesini ve oybirli\u011fi (quorum) kararlar\u0131 almas\u0131n\u0131 sa\u011flar. Corosync olmadan, d\u00fc\u011f\u00fcmler birbirlerinden habersiz kal\u0131r ve tutarl\u0131 bir k\u00fcme durumu s\u00fcrd\u00fcr\u00fclemez. Temel g\u00f6revleri \u015funlard\u0131r:<\/p>\n<p>*   <strong>Mesajla\u015fma:<\/strong> K\u00fcme d\u00fc\u011f\u00fcmleri aras\u0131nda h\u0131zl\u0131 ve g\u00fcvenilir mesaj al\u0131\u015fveri\u015fi.<br \/>\n*   <strong>\u00dcyelik Y\u00f6netimi:<\/strong> K\u00fcmedeki aktif d\u00fc\u011f\u00fcmleri izleme, yeni d\u00fc\u011f\u00fcmlerin kat\u0131l\u0131m\u0131n\u0131 ve ayr\u0131lan d\u00fc\u011f\u00fcmlerin tespitini sa\u011flama.<br \/>\n*   <strong>Oybirli\u011fi (Quorum):<\/strong> K\u00fcmenin karar alabilmesi i\u00e7in yeterli say\u0131da d\u00fc\u011f\u00fcm\u00fcn aktif olmas\u0131n\u0131 sa\u011flama mekanizmas\u0131. \u00c7o\u011funluk ilkesine dayan\u0131r.<br \/>\n*   <strong>Yap\u0131land\u0131rma Senkronizasyonu:<\/strong> K\u00fcme yap\u0131land\u0131rmas\u0131n\u0131n t\u00fcm d\u00fc\u011f\u00fcmlerde tutarl\u0131 olmas\u0131n\u0131 sa\u011flama.<\/p>\n<h4>Pacemaker: K\u00fcme Kaynak Y\u00f6neticisi<\/h4>\n<p>Pacemaker, Corosync&#8217;in sa\u011flad\u0131\u011f\u0131 ileti\u015fim katman\u0131 \u00fczerinde \u00e7al\u0131\u015fan g\u00fc\u00e7l\u00fc bir k\u00fcme kaynak y\u00f6neticisidir. Uygulamalar\u0131, servisleri, dosya sistemlerini ve IP adreslerini k\u00fcme kaynaklar\u0131 olarak tan\u0131mlar ve bu kaynaklar\u0131n k\u00fcme i\u00e7indeki d\u00fc\u011f\u00fcmler aras\u0131nda nas\u0131l da\u011f\u0131t\u0131laca\u011f\u0131n\u0131 ve y\u00f6netilece\u011fini belirler. Pacemaker&#8217;\u0131n ana sorumluluklar\u0131 \u015funlard\u0131r:<\/p>\n<p>*   <strong>Kaynak Y\u00f6netimi:<\/strong> Uygulamalar\u0131 ve servisleri (\u00f6rne\u011fin, Apache, Nginx, PostgreSQL, sanal IP adresleri) k\u00fcme kaynaklar\u0131 olarak tan\u0131mlama ve y\u00f6netme.<br \/>\n*   <strong>Kaynak Arac\u0131lar\u0131 (Resource Agents):<\/strong> Her kaynak t\u00fcr\u00fc i\u00e7in \u00f6zel olarak yaz\u0131lm\u0131\u015f komut dosyalar\u0131d\u0131r (\u00f6rne\u011fin, <code>IPaddr2<\/code> bir sanal IP&#8217;yi y\u00f6netir, <code>apache<\/code> Apache servisini y\u00f6netir). Bu arac\u0131lar, kaynaklar\u0131 ba\u015flatma, durdurma, izleme ve temizleme i\u015flemlerini ger\u00e7ekle\u015ftirir.<br \/>\n*   <strong>Ar\u0131za Tespiti ve Kurtarma:<\/strong> Bir d\u00fc\u011f\u00fcm veya kaynak ar\u0131zaland\u0131\u011f\u0131nda, Pacemaker otomatik olarak etkilenen kaynaklar\u0131 tespit eder ve onlar\u0131 sa\u011fl\u0131kl\u0131 bir d\u00fc\u011f\u00fcme ta\u015f\u0131r (failover).<br \/>\n*   <strong>K\u0131s\u0131tlamalar (Constraints):<\/strong> Kaynaklar\u0131n belirli d\u00fc\u011f\u00fcmlerde \u00e7al\u0131\u015fmas\u0131n\u0131 (location), belirli bir s\u0131rada ba\u015flat\u0131lmas\u0131n\u0131 (order) veya birlikte \u00e7al\u0131\u015fmas\u0131n\u0131 (colocation) sa\u011flayan kurallar tan\u0131mlama.<br \/>\n*   <strong>STONITH (Shoot The Other Node In The Head) \/ Fencing:<\/strong> Ar\u0131zal\u0131 veya \u015f\u00fcpheli d\u00fc\u011f\u00fcmlerin k\u00fcmeden g\u00fcvenli bir \u015fekilde izole edilmesini sa\u011flayan kritik bir mekanizmad\u0131r. Bu, &#8220;split-brain&#8221; senaryolar\u0131n\u0131 \u00f6nler; yani iki d\u00fc\u011f\u00fcm\u00fcn ayn\u0131 anda ayn\u0131 kayna\u011f\u0131 y\u00f6netmeye \u00e7al\u0131\u015fmas\u0131n\u0131 ve veri bozulmas\u0131na yol a\u00e7mas\u0131n\u0131 engeller. STONITH cihazlar\u0131 (\u00f6rne\u011fin, g\u00fc\u00e7 anahtarlar\u0131, IPMI, sanal makine API&#8217;leri) ar\u0131zal\u0131 d\u00fc\u011f\u00fcm\u00fcn fiziksel olarak kapat\u0131lmas\u0131n\u0131 sa\u011flar.<\/p>\n<h4>Ayr\u0131lm\u0131\u015f IP Adresleri (Virtual\/Floating IPs)<\/h4>\n<p>Y\u00fcksek Eri\u015filebilirlik k\u00fcmesinde, servislerin kesintisiz eri\u015filebilirli\u011fini sa\u011flamak i\u00e7in genellikle ayr\u0131lm\u0131\u015f (sanal veya kayan) IP adresleri kullan\u0131l\u0131r. Bu IP adresleri, k\u00fcme kaynaklar\u0131 olarak yap\u0131land\u0131r\u0131l\u0131r ve herhangi bir anda yaln\u0131zca bir k\u00fcme d\u00fc\u011f\u00fcm\u00fc taraf\u0131ndan aktif olarak kullan\u0131l\u0131r. Bir d\u00fc\u011f\u00fcm ar\u0131zaland\u0131\u011f\u0131nda, Pacemaker bu ayr\u0131lm\u0131\u015f IP adresini otomatik olarak sa\u011fl\u0131kl\u0131 bir d\u00fc\u011f\u00fcme ta\u015f\u0131r. Bu sayede, istemciler her zaman ayn\u0131 IP adresi \u00fczerinden servise eri\u015fmeye devam eder ve altta yatan d\u00fc\u011f\u00fcm de\u011fi\u015fikli\u011fini fark etmezler. <code>IPaddr2<\/code> kaynak arac\u0131s\u0131, Linux \u00e7ekirde\u011finin IP aliasing \u00f6zelliklerini kullanarak bu t\u00fcr IP adreslerini y\u00f6netir.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Bu kurulum i\u00e7in a\u015fa\u011f\u0131daki \u00f6n gereksinimlere sahip olman\u0131z gerekmektedir:<\/p>\n<p>*   <strong>\u0130ki Adet CentOS 7 Sunucusu:<\/strong> Minimum iki d\u00fc\u011f\u00fcml\u00fc bir k\u00fcme kurulacakt\u0131r. \u00dcretim ortamlar\u0131 i\u00e7in genellikle en az \u00fc\u00e7 d\u00fc\u011f\u00fcm \u00f6nerilir (oybirli\u011fi i\u00e7in tek say\u0131).<br \/>\n*   <strong>Sabit IP Adresleri:<\/strong> Her d\u00fc\u011f\u00fcm i\u00e7in benzersiz, sabit bir IP adresi.<br \/>\n*   <strong>Ayr\u0131lm\u0131\u015f IP Adresi:<\/strong> K\u00fcme taraf\u0131ndan y\u00f6netilecek ve servisler i\u00e7in kullan\u0131lacak, a\u011f\u0131n\u0131zda bo\u015fta olan bir IP adresi.<br \/>\n*   <strong>A\u011f Eri\u015fimi:<\/strong> D\u00fc\u011f\u00fcmler aras\u0131nda ve ayr\u0131lm\u0131\u015f IP adresine eri\u015fim i\u00e7in uygun a\u011f yap\u0131land\u0131rmas\u0131.<br \/>\n*   <strong>Root Yetkisi:<\/strong> T\u00fcm kurulum ve yap\u0131land\u0131rma ad\u0131mlar\u0131 i\u00e7in root kullan\u0131c\u0131s\u0131 veya sudo yetkisi.<br \/>\n*   <strong>Temel Linux Bilgisi:<\/strong> Komut sat\u0131r\u0131 kullan\u0131m\u0131, dosya d\u00fczenleme vb.<\/p>\n<h3>Kurulum ve Yap\u0131land\u0131rma Ad\u0131mlar\u0131<\/h3>\n<p>Bu b\u00f6l\u00fcmde, Pacemaker ve Corosync k\u00fcmesinin ad\u0131m ad\u0131m nas\u0131l kurulaca\u011f\u0131n\u0131 ve bir ayr\u0131lm\u0131\u015f IP adresinin nas\u0131l yap\u0131land\u0131r\u0131laca\u011f\u0131n\u0131 g\u00f6rece\u011fiz.<\/p>\n<h4>1. D\u00fc\u011f\u00fcm Haz\u0131rl\u0131\u011f\u0131<\/h4>\n<p>Her iki CentOS 7 d\u00fc\u011f\u00fcm\u00fcnde de a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 uygulay\u0131n.<\/p>\n<h5>Host Adlar\u0131n\u0131 Ayarlama ve \/etc\/hosts Dosyas\u0131n\u0131 D\u00fczenleme<\/h5>\n<p>Her d\u00fc\u011f\u00fcme benzersiz bir host ad\u0131 verin ve <code>\/etc\/hosts<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek d\u00fc\u011f\u00fcmlerin birbirlerini host adlar\u0131yla tan\u0131yabilmesini sa\u011flay\u0131n.<\/p>\n<p><strong>D\u00fc\u011f\u00fcm 1 (node1):<\/strong><\/p>\n<pre><code class=\"language-bash\">hostnamectl set-hostname node1.example.com<\/code><\/pre>\n<p><strong>D\u00fc\u011f\u00fcm 2 (node2):<\/strong><\/p>\n<pre><code class=\"language-bash\">hostnamectl set-hostname node2.example.com<\/code><\/pre>\n<p>Her iki d\u00fc\u011f\u00fcmde de <code>\/etc\/hosts<\/code> dosyas\u0131n\u0131 a\u015fa\u011f\u0131daki gibi d\u00fczenleyin (IP adreslerini kendi a\u011f yap\u0131land\u0131rman\u0131za g\u00f6re de\u011fi\u015ftirin):<\/p>\n<pre><code class=\"language-bash\"># \/etc\/hosts\n127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4\n::1         localhost localhost.localdomain localhost6 localhost6.localdomain6\n\n192.168.1.10  node1.example.com node1\n192.168.1.11  node2.example.com node2<\/code><\/pre>\n<h5>SELinux ve Firewall&#8217;u Devre D\u0131\u015f\u0131 B\u0131rakma (Ge\u00e7ici veya Yap\u0131land\u0131rma)<\/h5>\n<p>Kurulumu basitle\u015ftirmek i\u00e7in SELinux&#8217;u ve Firewall&#8217;u devre d\u0131\u015f\u0131 b\u0131rakabilir veya uygun kurallar\u0131 ekleyebilirsiniz. \u00dcretim ortamlar\u0131nda, g\u00fcvenlik nedeniyle uygun firewall kurallar\u0131n\u0131 yap\u0131land\u0131rmak ve SELinux&#8217;u permissive moda almak veya \u00f6zel politikalar tan\u0131mlamak daha iyidir.<\/p>\n<p><strong>SELinux&#8217;u Devre D\u0131\u015f\u0131 B\u0131rakma:<\/strong><\/p>\n<pre><code class=\"language-bash\">setenforce 0\nsed -i 's\/^SELINUX=enforcing$\/SELINUX=disabled\/' \/etc\/selinux\/config<\/code><\/pre>\n<p><strong>Firewall&#8217;u Devre D\u0131\u015f\u0131 B\u0131rakma:<\/strong><\/p>\n<pre><code class=\"language-bash\">systemctl stop firewalld\nsystemctl disable firewalld<\/code><\/pre>\n<p>Firewall&#8217;u devre d\u0131\u015f\u0131 b\u0131rakmak yerine, Corosync ve Pacemaker&#8217;\u0131n ihtiya\u00e7 duydu\u011fu portlar\u0131 a\u00e7mak daha g\u00fcvenlidir:<\/p>\n<p>*   <strong>Corosync:<\/strong> UDP portlar\u0131 5404 ve 5405<br \/>\n*   <strong>Pacemaker:<\/strong> TCP port 2224 (PCS daemon)<\/p>\n<pre><code class=\"language-bash\"># Firewall kurallar\u0131 (e\u011fer firewalld'\u0131 kapatmak istemiyorsan\u0131z)\nfirewall-cmd --permanent --add-service=high-availability\nfirewall-cmd --reload<\/code><\/pre>\n<h5>Gerekli Paketleri Y\u00fckleme<\/h5>\n<p>Her iki d\u00fc\u011f\u00fcmde de Pacemaker, Corosync ve y\u00f6netim ara\u00e7lar\u0131n\u0131 i\u00e7eren <code>pcs<\/code> paketini y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">yum install -y pacemaker corosync pcs resource-agents policycoreutils-python<\/code><\/pre>\n<p><code>resource-agents<\/code> paketi, IPaddr2 gibi \u00e7e\u015fitli kaynak arac\u0131lar\u0131n\u0131n komut dosyalar\u0131n\u0131 i\u00e7erir. <code>policycoreutils-python<\/code> ise SELinux y\u00f6netimi i\u00e7in gereklidir.<\/p>\n<h4>2. Hacluster Kullan\u0131c\u0131s\u0131 Parolas\u0131n\u0131 Ayarlama<\/h4>\n<p><code>pcs<\/code> komutu, k\u00fcme y\u00f6netimini <code>hacluster<\/code> adl\u0131 bir sistem kullan\u0131c\u0131s\u0131 arac\u0131l\u0131\u011f\u0131yla yapar. Bu kullan\u0131c\u0131n\u0131n parolas\u0131n\u0131 her iki d\u00fc\u011f\u00fcmde de ayarlaman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">passwd hacluster\n<h2>Yeni parolay\u0131 girin ve onaylay\u0131n.<\/code><\/pre>\n<\/h2>\n<h4>3. K\u00fcme Olu\u015fturma ve Ba\u015flatma<\/h4>\n<p>K\u00fcme olu\u015fturma ve y\u00f6netimi i\u00e7in <code>pcs<\/code> komutunu kullanaca\u011f\u0131z. Bu ad\u0131mlar genellikle sadece bir d\u00fc\u011f\u00fcmden (\u00f6rne\u011fin node1) yap\u0131l\u0131r.<\/p>\n<h5>PCS Daemon&#8217;\u0131 Ba\u015flatma ve Etkinle\u015ftirme<\/h5>\n<p>Her iki d\u00fc\u011f\u00fcmde de <code>pcsd<\/code> servisini ba\u015flat\u0131n ve sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131 i\u00e7in etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">systemctl start pcsd\nsystemctl enable pcsd<\/code><\/pre>\n<h5>K\u00fcme Kimlik Do\u011frulamas\u0131<\/h5>\n<p><code>pcs<\/code> komutunun k\u00fcme d\u00fc\u011f\u00fcmlerine eri\u015febilmesi i\u00e7in kimlik do\u011frulamas\u0131n\u0131 yap\u0131n. Bu i\u015flemi yaln\u0131zca bir d\u00fc\u011f\u00fcmden (\u00f6rne\u011fin <code>node1<\/code>) ger\u00e7ekle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">pcs cluster auth node1.example.com node2.example.com\n<h2>hacluster kullan\u0131c\u0131s\u0131n\u0131n parolas\u0131n\u0131 girin.<\/code><\/pre>\n<\/h2>\n<h5>K\u00fcme Yap\u0131land\u0131rmas\u0131n\u0131 Olu\u015fturma<\/h5>\n<p>\u015eimdi Corosync ve Pacemaker k\u00fcmesini olu\u015fturun. Bu komut, Corosync yap\u0131land\u0131rmas\u0131n\u0131 olu\u015fturacak ve k\u00fcme d\u00fc\u011f\u00fcmlerini tan\u0131mlayacakt\u0131r. Yine sadece bir d\u00fc\u011f\u00fcmden (\u00f6rne\u011fin <code>node1<\/code>) \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">pcs cluster setup --name my_ha_cluster node1.example.com node2.example.com<\/code><\/pre>\n<p><code>my_ha_cluster<\/code> yerine k\u00fcmenize istedi\u011finiz ismi verebilirsiniz.<\/p>\n<h5>K\u00fcme Ba\u015flatma<\/h5>\n<p>Olu\u015fturulan k\u00fcmeyi ba\u015flat\u0131n. Bu komut, k\u00fcme servislerini (Corosync ve Pacemaker) t\u00fcm d\u00fc\u011f\u00fcmlerde ba\u015flatacakt\u0131r:<\/p>\n<pre><code class=\"language-bash\">pcs cluster start --all<\/code><\/pre>\n<h5>K\u00fcme Durumunu Kontrol Etme<\/h5>\n<p>K\u00fcmenin ba\u015far\u0131yla ba\u015flad\u0131\u011f\u0131ndan ve d\u00fc\u011f\u00fcmlerin k\u00fcme \u00fcyesi olarak g\u00f6r\u00fcld\u00fc\u011f\u00fcnden emin olun:<\/p>\n<pre><code class=\"language-bash\">pcs status<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da her iki d\u00fc\u011f\u00fcm\u00fcn de &#8220;Online&#8221; oldu\u011funu ve herhangi bir kayna\u011f\u0131n hen\u00fcz yap\u0131land\u0131r\u0131lmad\u0131\u011f\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h4>4. K\u00fcme \u00d6zelliklerini Yap\u0131land\u0131rma<\/h4>\n<p>K\u00fcmenin davran\u0131\u015f\u0131n\u0131 kontrol eden baz\u0131 temel \u00f6zellikleri ayarlayal\u0131m.<\/p>\n<h5>STONITH&#8217;i Devre D\u0131\u015f\u0131 B\u0131rakma (Ge\u00e7ici)<\/h5>\n<p>STONITH (fencing), split-brain senaryolar\u0131n\u0131 \u00f6nlemek i\u00e7in kritik \u00f6neme sahiptir. Ancak, kurulumun ilk a\u015famalar\u0131nda test ama\u00e7l\u0131 olarak ge\u00e7ici olarak devre d\u0131\u015f\u0131 b\u0131rak\u0131labilir. <strong>\u00dcretim ortam\u0131nda STONITH mutlaka etkinle\u015ftirilmelidir.<\/strong><\/p>\n<pre><code class=\"language-bash\">pcs property set stonith-enabled=false<\/code><\/pre>\n<h5>Oybirli\u011fi Politikas\u0131 (Quorum Policy)<\/h5>\n<p>\u0130ki d\u00fc\u011f\u00fcml\u00fc bir k\u00fcmede, bir d\u00fc\u011f\u00fcm\u00fcn \u00e7\u00f6kmesi durumunda k\u00fcmenin oybirli\u011fini (quorum) kaybetme riski vard\u0131r (\u00e7\u00fcnk\u00fc 2 d\u00fc\u011f\u00fcmden 1&#8217;i %50&#8217;dir, \u00e7o\u011funluk de\u011fildir). Bu durumda, <code>no-quorum-policy<\/code> \u00f6zelli\u011fini <code>ignore<\/code> olarak ayarlayarak, kalan tek d\u00fc\u011f\u00fcm\u00fcn kaynaklar\u0131 y\u00f6netmeye devam etmesini sa\u011flayabiliriz. Ancak bu, STONITH olmadan split-brain riski ta\u015f\u0131r. \u00dc\u00e7 veya daha fazla d\u00fc\u011f\u00fcml\u00fc k\u00fcmelerde bu genellikle gerekli de\u011fildir.<\/p>\n<pre><code class=\"language-bash\">pcs property set no-quorum-policy=ignore<\/code><\/pre>\n<p><strong>Not:<\/strong> \u00dcretim ortam\u0131nda 2 d\u00fc\u011f\u00fcml\u00fc bir k\u00fcme i\u00e7in, <code>no-quorum-policy=ignore<\/code> kullanmak yerine, bir \u00fc\u00e7\u00fcnc\u00fc d\u00fc\u011f\u00fcm (witness node) eklemek veya bir d\u0131\u015f oybirli\u011fi arac\u0131 kullanmak daha g\u00fcvenlidir. En iyi uygulama, tek say\u0131da d\u00fc\u011f\u00fcmle ba\u015flamakt\u0131r.<\/p>\n<h4>5. STONITH (Fencing) Yap\u0131land\u0131rmas\u0131 (Kritik!)<\/h4>\n<p>Daha \u00f6nce de belirtildi\u011fi gibi, STONITH (Shoot The Other Node In The Head) veya fencing, Y\u00fcksek Eri\u015filebilirlik k\u00fcmelerinin en kritik bile\u015fenlerinden biridir. Bir d\u00fc\u011f\u00fcm\u00fcn ar\u0131zal\u0131 oldu\u011fu d\u00fc\u015f\u00fcn\u00fcld\u00fc\u011f\u00fcnde, di\u011fer d\u00fc\u011f\u00fcmlerin bu d\u00fc\u011f\u00fcm\u00fcn kaynaklara eri\u015fimini tamamen kesmesini sa\u011flar. Bu, &#8220;split-brain&#8221; durumunu, yani iki d\u00fc\u011f\u00fcm\u00fcn ayn\u0131 anda ayn\u0131 kayna\u011f\u0131 (\u00f6rne\u011fin, ayn\u0131 disk b\u00f6l\u00fcm\u00fcn\u00fc veya sanal IP&#8217;yi) y\u00f6netmeye \u00e7al\u0131\u015fmas\u0131n\u0131 engeller.<\/p>\n<p>STONITH kaynaklar\u0131, genellikle IPMI, iLO, DRAC gibi donan\u0131m y\u00f6netim aray\u00fczleri, sanalla\u015ft\u0131rma platformu API&#8217;leri (VMware vCenter, KVM libvirt) veya a\u011f anahtarlar\u0131 (Power Over Ethernet) arac\u0131l\u0131\u011f\u0131yla di\u011fer d\u00fc\u011f\u00fcmlerin g\u00fcc\u00fcn\u00fc keserek \u00e7al\u0131\u015f\u0131r.<\/p>\n<p><strong>\u00d6rnek STONITH Yap\u0131land\u0131rmas\u0131 (Sanal Ortam i\u00e7in <code>fence_virt<\/code>)<\/strong><\/p>\n<p>E\u011fer sanal makineler \u00fczerinde \u00e7al\u0131\u015f\u0131yorsan\u0131z, <code>fence_virt<\/code> sanal makineyi kapatmak i\u00e7in libvirt API&#8217;sini kullanabilir. Fiziksel sunucular i\u00e7in <code>fence_ipmilan<\/code> veya <code>fence_drac<\/code> gibi ajanlar kullan\u0131l\u0131r.<\/p>\n<p>\u0130lk olarak, <code>fence-agents-all<\/code> paketini y\u00fcklemeniz gerekebilir:<\/p>\n<pre><code class=\"language-bash\">yum install -y fence-agents-all<\/code><\/pre>\n<p>Ard\u0131ndan, STONITH kayna\u011f\u0131n\u0131 tan\u0131mlay\u0131n. Bu \u00f6rnekte, <code>fence_virt<\/code> kullanaca\u011f\u0131z ve her d\u00fc\u011f\u00fcm\u00fcn di\u011fer d\u00fc\u011f\u00fcm\u00fc nas\u0131l &#8220;fence&#8221; edece\u011fini belirtece\u011fiz.<\/p>\n<pre><code class=\"language-bash\"># STONITH kayna\u011f\u0131n\u0131 tan\u0131mlay\u0131n\npcs stonith create fence_node1_virt fence_virt pcmk_host_list=node1.example.com ip=KVM_HOST_IP_ADRESI port=5900 login=root passwd=KVM_ROOT_PAROLASI\npcs stonith create fence_node2_virt fence_virt pcmk_host_list=node2.example.com ip=KVM_HOST_IP_ADRESI port=5900 login=root passwd=KVM_ROOT_PAROLASI<\/code><\/pre>\n<p><strong>Not:<\/strong> Bu \u00f6rnekte, KVM_HOST_IP_ADRESI, sanal makinelerin \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 fiziksel KVM ana makinesinin IP adresidir. <code>port<\/code> ve <code>login<\/code>\/<code>passwd<\/code> libvirt ba\u011flant\u0131s\u0131 i\u00e7in gerekebilir. Ger\u00e7ek bir senaryoda, bu parametreler kulland\u0131\u011f\u0131n\u0131z fencing arac\u0131na ve altyap\u0131n\u0131za g\u00f6re de\u011fi\u015fecektir.<\/p>\n<p>STONITH&#8217;i etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">pcs property set stonith-enabled=true<\/code><\/pre>\n<p>Do\u011fru STONITH yap\u0131land\u0131rmas\u0131, HA k\u00fcmesinin g\u00fcvenilirli\u011fi i\u00e7in vazge\u00e7ilmezdir. Yap\u0131land\u0131rmadan sonra, STONITH&#8217;in \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 test etmek kritik bir ad\u0131md\u0131r.<\/p>\n<h4>6. Sanal IP Kayna\u011f\u0131n\u0131 Olu\u015fturma<\/h4>\n<p>\u015eimdi k\u00fcme taraf\u0131ndan y\u00f6netilecek ayr\u0131lm\u0131\u015f IP adresini tan\u0131mlayal\u0131m. Bu, <code>IPaddr2<\/code> kaynak arac\u0131s\u0131n\u0131 kullan\u0131r.<\/p>\n<pre><code class=\"language-bash\"># Sanal IP adresini tan\u0131mlay\u0131n\n<h2>vip: K\u00fcme taraf\u0131ndan y\u00f6netilecek sanal IP adresi (\u00f6rne\u011fin, 192.168.1.100)<\/h2>\n<h2>cidr_netmask: A\u011f maskesi (\u00f6rne\u011fin, 24)<\/h2>\n<h2>nic: Sanal IP'nin ba\u011flanaca\u011f\u0131 a\u011f aray\u00fcz\u00fc (\u00f6rne\u011fin, eth0 veya eno16777736)<\/h2>\n\npcs resource create Virtual_IP ocf:heartbeat:IPaddr2 \\\nip=192.168.1.100 \\\ncidr_netmask=24 \\\nnic=eth0 \\\nop monitor interval=10s<\/code><\/pre>\n<p>*   <code>Virtual_IP<\/code>: Kayna\u011fa verdi\u011fimiz isim.<br \/>\n*   <code>ocf:heartbeat:IPaddr2<\/code>: Kaynak arac\u0131s\u0131n\u0131n t\u00fcr\u00fc. <code>ocf<\/code> (Open Cluster Framework), <code>heartbeat<\/code> (sa\u011flay\u0131c\u0131), <code>IPaddr2<\/code> (arac\u0131 ad\u0131).<br \/>\n*   <code>ip<\/code>: Sanal IP adresi.<br \/>\n*   <code>cidr_netmask<\/code>: A\u011f maskesi.<br \/>\n*   <code>nic<\/code>: Sanal IP&#8217;nin atanaca\u011f\u0131 a\u011f aray\u00fcz\u00fc. Kendi sisteminizdeki aray\u00fcz ad\u0131n\u0131 kontrol edin (<code>ip a<\/code>).<br \/>\n*   <code>op monitor interval=10s<\/code>: Kayna\u011f\u0131n her 10 saniyede bir izlenmesini sa\u011flar.<\/p>\n<p>Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra, <code>pcs status<\/code> komutu ile sanal IP adresinin hangi d\u00fc\u011f\u00fcmde aktif oldu\u011funu g\u00f6rebilirsiniz.<\/p>\n<h4>7. Servis Kayna\u011f\u0131 Olu\u015fturma (Apache \u00d6rne\u011fi)<\/h4>\n<p>Sanal IP adresini kullanacak bir servis \u00f6rne\u011fi olarak basit bir Apache web sunucusu kural\u0131m.<\/p>\n<p>Her iki d\u00fc\u011f\u00fcmde de Apache&#8217;yi y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">yum install -y httpd<\/code><\/pre>\n<p>Apache servisini ba\u015flang\u0131\u00e7ta otomatik ba\u015flamas\u0131n\u0131 engelleyin, \u00e7\u00fcnk\u00fc Pacemaker onu y\u00f6netecek:<\/p>\n<pre><code class=\"language-bash\">systemctl disable httpd\nsystemctl stop httpd<\/code><\/pre>\n<p>\u015eimdi Apache servisini bir k\u00fcme kayna\u011f\u0131 olarak tan\u0131mlay\u0131n:<\/p>\n<pre><code class=\"language-bash\">pcs resource create Webserver ocf:heartbeat:apache \\\nconfigfile=\/etc\/httpd\/conf\/httpd.conf \\\nstatusurl=\"http:\/\/127.0.0.1\/server-status\" \\\nop monitor interval=30s<\/code><\/pre>\n<p>*   <code>Webserver<\/code>: Apache kayna\u011f\u0131na verdi\u011fimiz isim.<br \/>\n*   <code>ocf:heartbeat:apache<\/code>: Apache kaynak arac\u0131s\u0131.<br \/>\n*   <code>configfile<\/code>: Apache yap\u0131land\u0131rma dosyas\u0131n\u0131n yolu.<br \/>\n*   <code>statusurl<\/code>: Apache&#8217;nin durumunu kontrol etmek i\u00e7in URL (mod_status etkin olmal\u0131).<br \/>\n*   <code>op monitor interval=30s<\/code>: Kayna\u011f\u0131n her 30 saniyede bir izlenmesini sa\u011flar.<\/p>\n<h4>8. Kaynak Gruplar\u0131 ve K\u0131s\u0131tlamalar<\/h4>\n<p>Genellikle, bir sanal IP adresi ve bir servis (\u00f6rne\u011fin Apache) birlikte \u00e7al\u0131\u015fmal\u0131d\u0131r. Bu t\u00fcr ili\u015fkili kaynaklar\u0131 bir &#8220;kaynak grubu&#8221; i\u00e7inde bir araya getirmek, onlar\u0131n ayn\u0131 d\u00fc\u011f\u00fcmde \u00e7al\u0131\u015fmas\u0131n\u0131 ve birlikte hareket etmesini sa\u011flar.<\/p>\n<h5>Kaynak Grubu Olu\u015fturma<\/h5>\n<p>Sanal IP ve Apache servisini bir kaynak grubunda birle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">pcs resource group add WebServiceGroup Virtual_IP Webserver<\/code><\/pre>\n<p>Bu komut, <code>Virtual_IP<\/code> ve <code>Webserver<\/code> kaynaklar\u0131n\u0131 <code>WebServiceGroup<\/code> adl\u0131 bir grupta toplar. Pacemaker, gruptaki kaynaklar\u0131 her zaman ayn\u0131 d\u00fc\u011f\u00fcmde ba\u015flat\u0131r ve s\u0131rayla y\u00f6netir. Gruptaki kaynaklar tan\u0131mland\u0131klar\u0131 s\u0131raya g\u00f6re ba\u015flat\u0131l\u0131r ve ters s\u0131raya g\u00f6re durdurulur.<\/p>\n<h5>K\u0131s\u0131tlamalar (\u0130ste\u011fe Ba\u011fl\u0131, Karma\u015f\u0131k Senaryolar \u0130\u00e7in)<\/h5>\n<p>Kaynak gruplar\u0131 bir\u00e7ok senaryo i\u00e7in yeterli olsa da, bazen daha spesifik k\u0131s\u0131tlamalar gerekebilir:<\/p>\n<p>*   <strong>Colocation (Birlikte Yerle\u015fim):<\/strong> \u0130ki kayna\u011f\u0131n ayn\u0131 d\u00fc\u011f\u00fcmde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">pcs constraint colocation add Webserver with Virtual_IP INFINITY<\/code><\/pre>\n<p>*   <strong>Order (S\u0131ra):<\/strong> Bir kayna\u011f\u0131n di\u011ferinden \u00f6nce ba\u015flat\u0131lmas\u0131n\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">pcs constraint order Virtual_IP then Webserver<\/code><\/pre>\n<p>*   <strong>Location (Konum):<\/strong> Bir kayna\u011f\u0131n belirli bir d\u00fc\u011f\u00fcmde \u00e7al\u0131\u015fmas\u0131n\u0131 veya \u00e7al\u0131\u015fmamas\u0131n\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">pcs constraint location Webserver prefers node1.example.com<\/code><\/pre>\n<p>Kaynak grubu kulland\u0131\u011f\u0131n\u0131zda, <code>colocation<\/code> ve <code>order<\/code> k\u0131s\u0131tlamalar\u0131 otomatik olarak y\u00f6netilir, bu y\u00fczden yukar\u0131daki \u00f6rnekler sadece bilgi ama\u00e7l\u0131d\u0131r ve bir grup i\u00e7indeki kaynaklar i\u00e7in genellikle ek olarak tan\u0131mlanmazlar.<\/p>\n<p><code>pcs status<\/code> komutunu tekrar \u00e7al\u0131\u015ft\u0131rarak t\u00fcm kaynaklar\u0131n durumunu ve hangi d\u00fc\u011f\u00fcmde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 kontrol edin. Sanal IP&#8217;nin ve Apache&#8217;nin tek bir d\u00fc\u011f\u00fcmde aktif oldu\u011funu g\u00f6rmelisiniz.<\/p>\n<h4>9. Failover Testi<\/h4>\n<p>K\u00fcmenizin do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in failover testleri yapman\u0131z \u00f6nemlidir.<\/p>\n<p>1.  <strong>Sanal IP&#8217;ye Ping Atma:<\/strong> Sanal IP adresine (<code>192.168.1.100<\/code>) ping atarak eri\u015filebilir oldu\u011funu do\u011frulay\u0131n.<br \/>\n2.  <strong>Web Sunucusunu Kontrol Etme:<\/strong> Web taray\u0131c\u0131n\u0131zdan sanal IP adresine giderek Apache&#8217;nin \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 kontrol edin.<br \/>\n3.  <strong>Aktif D\u00fc\u011f\u00fcm\u00fc Tespit Etme:<\/strong> <code>pcs status<\/code> komutuyla sanal IP ve Apache&#8217;nin hangi d\u00fc\u011f\u00fcmde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6r\u00fcn (\u00f6rne\u011fin <code>node1<\/code>).<br \/>\n4.  <strong>D\u00fc\u011f\u00fcm\u00fc Kapatma\/Durdurma:<\/strong> Aktif olan d\u00fc\u011f\u00fcm\u00fc kapat\u0131n veya Pacemaker servisini durdurun:<\/p>\n<pre><code class=\"language-bash\"># Aktif d\u00fc\u011f\u00fcmde (\u00f6rne\u011fin node1)\n    systemctl stop pacemaker\n    # Veya\n    reboot<\/code><\/pre>\n<p>5.  <strong>Failover&#8217;\u0131 G\u00f6zlemleme:<\/strong> Di\u011fer d\u00fc\u011f\u00fcmde (<code>node2<\/code>) <code>pcs status<\/code> komutunu tekrar \u00e7al\u0131\u015ft\u0131r\u0131n. Sanal IP ve Apache servisinin otomatik olarak <code>node2<\/code>&#8216;ye ta\u015f\u0131nd\u0131\u011f\u0131n\u0131 ve orada \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6rmelisiniz.<br \/>\n6.  <strong>Eri\u015filebilirli\u011fi Tekrar Kontrol Etme:<\/strong> Sanal IP&#8217;ye tekrar ping at\u0131n ve web taray\u0131c\u0131n\u0131zdan eri\u015fimi kontrol edin. Her \u015fey yolundaysa, servis kesintiye u\u011framadan di\u011fer d\u00fc\u011f\u00fcme ta\u015f\u0131nm\u0131\u015f demektir.<\/p>\n<p>Bu testleri STONITH a\u00e7\u0131kken de yapman\u0131z ve STONITH&#8217;in beklenen \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olman\u0131z kritik \u00f6neme sahiptir.<\/p>\n<h4>10. \u0130zleme ve Y\u00f6netim<\/h4>\n<p>*   <code>pcs status<\/code>: K\u00fcme durumunu, d\u00fc\u011f\u00fcmleri ve kaynaklar\u0131 g\u00f6sterir.<br \/>\n*   <code>crm_mon -1<\/code>: K\u00fcme durumunun anl\u0131k g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc sa\u011flar.<br \/>\n*   <code>pcs resource show <resource_name><\/code>: Belirli bir kayna\u011f\u0131n detaylar\u0131n\u0131 g\u00f6sterir.<br \/>\n*   <code>pcs resource move <resource_name> <destination_node><\/code>: Kayna\u011f\u0131 manuel olarak ba\u015fka bir d\u00fc\u011f\u00fcme ta\u015f\u0131r.<br \/>\n*   <code>pcs resource disable <resource_name><\/code>: Kayna\u011f\u0131 devre d\u0131\u015f\u0131 b\u0131rak\u0131r.<br \/>\n*   <code>pcs resource enable <resource_name><\/code>: Kayna\u011f\u0131 etkinle\u015ftirir.<br \/>\n*   <code>journalctl -f -u pacemaker -u corosync<\/code>: Pacemaker ve Corosync loglar\u0131n\u0131 canl\u0131 olarak izler.<\/p>\n<h3>En \u0130yi Uygulamalar<\/h3>\n<p>*   <strong>STONITH&#8217;i Asla Devre D\u0131\u015f\u0131 B\u0131rakmay\u0131n:<\/strong> \u00dcretim ortamlar\u0131nda STONITH olmadan bir HA k\u00fcmesi kurmak, veri bozulmas\u0131 ve servis kesintisi riskini art\u0131r\u0131r.<br \/>\n*   <strong>Tek Say\u0131da D\u00fc\u011f\u00fcm:<\/strong> Oybirli\u011fi mekanizmas\u0131 nedeniyle, genellikle 3 veya daha fazla tek say\u0131da d\u00fc\u011f\u00fcmle ba\u015flamak daha kararl\u0131d\u0131r. \u0130ki d\u00fc\u011f\u00fcml\u00fc k\u00fcmeler, <code>no-quorum-policy=ignore<\/code> ayar\u0131 veya geli\u015fmi\u015f oybirli\u011fi \u00e7\u00f6z\u00fcmleri olmadan riskli olabilir.<br \/>\n*   <strong>Ayr\u0131 A\u011flar:<\/strong> K\u00fcme ileti\u015fimini ve servis trafi\u011fini ay\u0131rmak i\u00e7in ayr\u0131 a\u011f aray\u00fczleri kullanmak performans\u0131 ve g\u00fcvenilirli\u011fi art\u0131rabilir.<br \/>\n*   <strong>D\u00fczenli Testler:<\/strong> K\u00fcmenin failover yeteneklerini d\u00fczenli olarak test edin.<br \/>\n*   <strong>Yama ve G\u00fcncelleme:<\/strong> K\u00fcme d\u00fc\u011f\u00fcmlerini ve yaz\u0131l\u0131mlar\u0131n\u0131 g\u00fcncel tutun.<br \/>\n*   <strong>Kapsaml\u0131 \u0130zleme:<\/strong> K\u00fcmenin durumunu, kaynaklar\u0131n\u0131 ve d\u00fc\u011f\u00fcmlerini izlemek i\u00e7in merkezi bir izleme sistemi kullan\u0131n.<br \/>\n*   <strong>Belgeleme:<\/strong> K\u00fcme yap\u0131land\u0131rmas\u0131n\u0131, kaynaklar\u0131n\u0131 ve bak\u0131m prosed\u00fcrlerini belgeleyin.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu makale, CentOS 7 \u00fczerinde Pacemaker ve Corosync kullanarak Y\u00fcksek Eri\u015filebilirlik k\u00fcmesi olu\u015fturma ve ayr\u0131lm\u0131\u015f IP adreslerini y\u00f6netme s\u00fcrecini detayl\u0131 bir \u015fekilde a\u00e7\u0131klam\u0131\u015ft\u0131r. Ad\u0131m ad\u0131m kurulum, yap\u0131land\u0131rma ve test s\u00fcre\u00e7leri ile birlikte, STONITH gibi kritik bile\u015fenlerin \u00f6nemi vurgulanm\u0131\u015ft\u0131r. Do\u011fru bir \u015fekilde yap\u0131land\u0131r\u0131lm\u0131\u015f bir HA k\u00fcmesi, i\u015f kritik servislerinizin kesintisiz eri\u015filebilirli\u011fini sa\u011flayarak i\u015f s\u00fcreklili\u011finize \u00f6nemli katk\u0131lar sunacakt\u0131r. Unutulmamal\u0131d\u0131r ki, her ortam\u0131n kendine \u00f6zg\u00fc gereksinimleri olabilir ve bu rehber genel bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r. \u00dcretim ortamlar\u0131nda kapsaml\u0131 testler ve \u00f6zelle\u015ftirmeler yap\u0131lmas\u0131 \u015fiddetle tavsiye edilir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Pacemaker, Corosync ve Ayr\u0131lm\u0131\u015f IP&#8217;ler ile CentOS 7 \u00dczerinde Y\u00fcksek Eri\u015filebilirlik Kurulumu\nY\u00fcksek Eri\u015filebilirlik (HA) sistemleri, kritik 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":[241],"tags":[],"class_list":{"0":"post-37444","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","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>Pacemaker, Corosync ve Ayr\u0131lm\u0131\u015f IP&#039;ler ile CentOS 7 \u00dczerinde 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\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pacemaker, Corosync ve Ayr\u0131lm\u0131\u015f IP&#039;ler ile CentOS 7 \u00dczerinde Y\u00fcksek Eri\u015filebilirlik Kurulumu\" \/>\n<meta property=\"og:description\" content=\"Pacemaker, Corosync ve Ayr\u0131lm\u0131\u015f IP&#039;ler ile CentOS 7 \u00dczerinde Y\u00fcksek Eri\u015filebilirlik Kurulumu Y\u00fcksek Eri\u015filebilirlik (HA) sistemleri, kritik i\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-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-05T03:40:44+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=\"17 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Pacemaker, Corosync ve Ayr\u0131lm\u0131\u015f IP&#8217;ler ile CentOS 7 \u00dczerinde Y\u00fcksek Eri\u015filebilirlik Kurulumu\",\"datePublished\":\"2026-01-05T03:40:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/\"},\"wordCount\":2884,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/\",\"name\":\"Pacemaker, Corosync ve Ayr\u0131lm\u0131\u015f IP'ler ile CentOS 7 \u00dczerinde Y\u00fcksek Eri\u015filebilirlik Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-05T03:40:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pacemaker, Corosync ve Ayr\u0131lm\u0131\u015f IP&#8217;ler ile CentOS 7 \u00dczerinde 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":"Pacemaker, Corosync ve Ayr\u0131lm\u0131\u015f IP'ler ile CentOS 7 \u00dczerinde 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\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/","og_locale":"tr_TR","og_type":"article","og_title":"Pacemaker, Corosync ve Ayr\u0131lm\u0131\u015f IP'ler ile CentOS 7 \u00dczerinde Y\u00fcksek Eri\u015filebilirlik Kurulumu","og_description":"Pacemaker, Corosync ve Ayr\u0131lm\u0131\u015f IP'ler ile CentOS 7 \u00dczerinde Y\u00fcksek Eri\u015filebilirlik Kurulumu Y\u00fcksek Eri\u015filebilirlik (HA) sistemleri, kritik i","og_url":"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-05T03:40:44+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"17 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Pacemaker, Corosync ve Ayr\u0131lm\u0131\u015f IP&#8217;ler ile CentOS 7 \u00dczerinde Y\u00fcksek Eri\u015filebilirlik Kurulumu","datePublished":"2026-01-05T03:40:44+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/"},"wordCount":2884,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/","url":"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/","name":"Pacemaker, Corosync ve Ayr\u0131lm\u0131\u015f IP'ler ile CentOS 7 \u00dczerinde Y\u00fcksek Eri\u015filebilirlik Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-05T03:40:44+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/pacemaker-corosync-ve-ayrilmis-ipler-ile-centos-7-uzerinde-yuksek-erisilebilirlik-kurulumu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Pacemaker, Corosync ve Ayr\u0131lm\u0131\u015f IP&#8217;ler ile CentOS 7 \u00dczerinde 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\/37444","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=37444"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37444\/revisions"}],"predecessor-version":[{"id":37445,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37444\/revisions\/37445"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37444"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37444"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}