Sanallaştırma & Bulut

    Proxmox Cluster Kurulumu

    Birden fazla Proxmox düğümünü tek arayüzde birleştiren küme kurulumunun tüm adımları.

    11 dk okuma Güncellendi: 25 Ağustos 2026

    İki ya da üç Proxmox sunucunuz var ve her birine ayrı ayrı giriş yapıp ayrı ayrı yönetiyorsanız, aslında elinizde bir sanallaştırma altyapısı değil, birbirinden habersiz üç ada var. Proxmox cluster kurulumu bu adaları tek bir yönetim düzlemine bağlar: tek arayüzden tüm sanal makineleri görürsünüz, bir düğümden diğerine canlı göç yapabilirsiniz, yedekleme işlerini merkezî tanımlarsınız ve yüksek erişilebilirlik için gereken zemini hazırlamış olursunuz.

    Kümeleme cazip görünür ama yanlış kurulduğunda tek sunucudan daha kırılgan bir yapı üretir. Corosync ağını üretim trafiğiyle aynı hatta koyup bir gece yedekleme başlattığınızda düğümlerin birbirini kaybettiğini ve tüm kümenin okuma-yazma yetkisini kaybettiğini görürsünüz. Bu rehberde kurulumun her adımını sırayla anlatacağım: ön koşullar, ağ planı, pvecm ile küme oluşturma, düğüm ekleme, quorum mantığı, çift düğümlü kurulumlarda QDevice ve gerçekten karşılaştığınız hataların çözümü. Proxmox'un tek düğümlü kurulumunu hiç yapmadıysanız önce sanallaştırma nedir, türleri nelerdir yazısıyla temeli oturtun.

    Kurulum Öncesi Ön Koşullar#

    Küme kurmadan önce sağlamanız gereken birkaç sert kural var; bunları atlarsanız kurulum ya başarısız olur ya da sonradan geri dönülmesi zor bir yapı çıkar.

    Birincisi, kümeye ekleyeceğiniz düğümün üzerinde sanal makine olmamalıdır. pvecm add komutu, katılan düğümün /etc/pve dizinini kümeden gelen yapılandırmayla değiştirir; üzerindeki VM tanımları kaybolur. Diskler yerinde kalır ama yapılandırma dosyaları gider. Bu yüzden sıralama şudur: kümeyi kur, düğümleri ekle, sonra sanal makineleri oluştur ya da geri yükle.

    İkincisi, tüm düğümlerde aynı Proxmox VE ana sürümü çalışmalıdır. Farklı ana sürümler arasında küme kurmak desteklenmez; küçük yama farkları sorun çıkarmaz ama önce hepsini güncelleyip yeniden başlatmak en temizidir.

    Üçüncüsü, isim çözümlemesi çalışmalıdır. Her düğüm diğerlerinin hem kısa adını hem tam adını çözebilmelidir. DNS'e güvenmek yerine /etc/hosts dosyasına elle yazmak en sağlam yöntemdir, çünkü DNS sunucusuna erişemediğiniz bir anda küme de kendini kaybeder:

    # Her düğümde /etc/hosts — tüm düğümler listelenir
    127.0.0.1       localhost
    10.10.10.11     pve1.firmaniz.local pve1
    10.10.10.12     pve2.firmaniz.local pve2
    10.10.10.13     pve3.firmaniz.local pve3
    

    Dördüncüsü, saatler senkron olmalıdır. Corosync ve pmxcfs zaman farkına duyarlıdır; birkaç saniyelik kayma bile tuhaf davranışlara yol açar. Proxmox varsayılan olarak chrony ile gelir, çalıştığını doğrulayın:

    systemctl status chrony --no-pager
    chronyc tracking | head -5
    

    Son olarak, düğümler arasında kök (root) SSH erişimi açık olmalıdır. pvecm add komutu ilk katılım sırasında SSH üzerinden anahtar değişimi yapar; PermitRootLogin kapalıysa katılım başarısız olur.

    Corosync Ağını Doğru Planlamak#

    Bu bölüm rehberin en kritik yeridir ve pratikte en çok atlanan yerdir. Corosync, düğümlerin birbirinin hayatta olduğunu anladığı iletişim protokolüdür. Trafiği küçüktür ama gecikmeye aşırı duyarlıdır; birkaç milisaniyelik gecikme artışı bile düğümlerin birbirini "öldü" saymasına yeter.

    Bu yüzden altın kural şudur: corosync'e ayrı bir fiziksel ağ verin. Yedekleme trafiği, canlı göç trafiği ve depolama trafiği aynı hattan geçtiğinde, bir gece yedeklemesi hattı doldurur ve corosync paketleri gecikir; düğümler quorum kaybeder, /etc/pve salt okunur hâle gelir ve HA yapılandırdıysanız sunucular kendini yeniden başlatır. "Ağ hızlı, sorun olmaz" diye başlayan her kurulum eninde sonunda bu duvara çarpar.

    Tipik bir üç düğümlü kurulumda ağ planı şöyle olur:

    AmaçÖrnek subnetNot
    YönetimWeb arayüzü (8006), SSH192.168.1.0/24Kurumsal LAN
    Corosync (ring0)Küme haberleşmesi10.10.10.0/24Ayrı switch/VLAN, düşük gecikme
    Corosync (ring1)Yedek küme yolu10.10.11.0/24Farklı fiziksel yol olmalı
    Depolama / CephOSD ve istemci trafiği10.10.20.0/24En az 10 GbE önerilir
    Göç (migration)Canlı göç veri aktarımı10.10.30.0/24Corosync ile paylaşılmamalı

    Corosync birden fazla halka (ring) destekler ve bunu kullanmanızı şiddetle öneririm. İkinci halka farklı bir fiziksel yoldan geçtiğinde, bir switch ya da kablo arızası kümeyi düşürmez. Ağ arayüzlerini /etc/network/interfaces içinde tanımlarken corosync arayüzüne köprü (bridge) kurmayın; düz bir arayüz ya da bond yeterlidir ve daha az gecikme üretir. Ağ yapılandırmasının detayları için Proxmox ağ yapılandırması: bridge ve VLAN yazısına bakabilirsiniz.

    Kullanılan portları da güvenlik duvarınızda açmayı unutmayın:

    PortProtokolServis
    8006TCPProxmox web arayüzü
    22TCPSSH ve küme katılımı
    5405-5412UDPCorosync küme haberleşmesi
    60000-60050TCPCanlı göç veri kanalı
    3128TCPSPICE proxy (konsol)

    pvecm ile Kümeyi Oluşturma#

    Kümeyi ilk düğüm üzerinde oluşturursunuz. Küme adı sonradan değiştirilemez, o yüzden anlamlı ve kısa bir isim seçin — boşluk ve Türkçe karakter kullanmayın.

    # pve1 üzerinde: kümeyi corosync ağı üzerinden oluştur
    pvecm create prod-cluster --link0 10.10.10.11
    
    # İki halkalı (redundant) kurulum için ikinci bağlantıyı da ver
    pvecm create prod-cluster --link0 10.10.10.11 --link1 10.10.11.11
    

    --link0 parametresi corosync'in hangi IP üzerinden konuşacağını söyler. Bunu vermezseniz Proxmox varsayılan olarak yönetim IP'sini kullanır ve az önce anlattığım tuzağa düşersiniz. Komut saniyeler içinde döner; durumu kontrol edin:

    pvecm status
    

    Beklenen çıktıda şu satırları görmelisiniz:

    Cluster information
    -------------------
    Name:             prod-cluster
    Config Version:   1
    Transport:        knet
    Secure auth:      on
    
    Quorum information
    ------------------
    Nodes:            1
    Expected votes:   1
    Total votes:      1
    Quorate:          Yes
    

    Quorate: Yes satırı kümenin karar verebilir durumda olduğunu gösterir. Tek düğümde bu doğal olarak sağlanır; asıl mesele düğüm eklendikçe bu satırın "Yes" kalmasıdır.

    Düğümleri Kümeye Ekleme#

    Ekleme işlemi katılacak düğümün üzerinde çalıştırılır, kümeyi kuran düğümde değil. Bu sırayı karıştırmak yaygın bir hatadır.

    1. Katılacak düğüme (pve2) SSH ile bağlanın ve üzerinde hiç sanal makine olmadığını doğrulayın: qm list ve pct list boş dönmeli.
    2. Katılım komutunu, küme kurucusunun corosync IP'sini vererek çalıştırın:
    # pve2 üzerinde
    pvecm add 10.10.10.11 --link0 10.10.10.12
    
    # İki halkalı kurulumda
    pvecm add 10.10.10.11 --link0 10.10.10.12 --link1 10.10.11.12
    
    1. Komut pve1'in root parolasını ve SSH parmak izi onayını isteyecektir. Onayladıktan sonra anahtar değişimi yapılır ve /etc/pve yeniden senkronize edilir.
    2. Aynı işlemi pve3 için tekrarlayın; her seferinde kendi corosync IP'sini --link0 ile verin.
    3. Tüm düğümler eklendikten sonra herhangi bir düğümde durumu doğrulayın:
    pvecm nodes
    # Beklenen:
    # Membership information
    # ----------------------
    #     Nodeid      Votes Name
    #          1          1 pve1
    #          2          1 pve2
    #          3          1 pve3 (local)
    
    pvecm status | grep -E 'Quorate|Total votes'
    # Quorate:          Yes
    # Total votes:      3
    

    Katılım sırasında web arayüzü kısa süre yanıt vermeyebilir; bu normaldir çünkü pveproxy sertifikaları yeniden üretilir. Tarayıcınızda sertifika uyarısı alırsanız sayfayı yenileyin. Katılımdan sonra tarayıcı önbelleğini temizlemek de bazen gerekir; eski oturum çerezi yeni küme kimliğiyle uyuşmayabilir.

    Quorum Mantığı ve Çift Düğüm Sorunu#

    Quorum, kümenin "karar verme yetkisi" demektir. Proxmox /etc/pve dizinini corosync üzerinden senkronize edilen bir dosya sistemi (pmxcfs) olarak tutar ve quorum kaybedilince bu dizin salt okunur hâle gelir. Sanal makineleriniz çalışmaya devam eder ama yeni VM oluşturamaz, ayar değiştiremez, göç yapamazsınız.

    Kural basittir: toplam oyun yarısından fazlası gerekir. Üç düğümlü bir kümede quorum için 2 oy gerekir, yani bir düğüm kaybolsa bile küme çalışmaya devam eder. Dört düğümde de quorum 3'tür — yani dört düğüm, üç düğümden daha az arıza toleransı sunmaz. Bu yüzden düğüm sayısını tek tutmak (3, 5, 7) genel bir prensiptir.

    Düğüm sayısıQuorum için gereken oyTolere edilen arıza
    220 (biri düşerse küme durur)
    321
    431
    532
    2 + QDevice21

    Tablodaki ikinci satır iki düğümlü kurulumların temel sorununu gösterir: bir düğüm düşerse kalan düğüm quorum sağlayamaz ve kilitlenir. Çözüm QDevice'tır — küçük bir üçüncü makinenin (hatta bir Raspberry Pi'nin) yalnızca oy vermek için kümeye katılması.

    QDevice kurulumu için üçüncü makinede corosync-qnetd çalıştırılır:

    # Tanık (witness) makinede — Proxmox olmasına gerek yok, Debian yeterli
    apt update && apt install -y corosync-qnetd
    systemctl enable --now corosync-qnetd
    
    # Her iki Proxmox düğümünde istemci paketi
    apt install -y corosync-qdevice
    
    # Küme düğümlerinden BİRİNDE, tanık makinenin IP'siyle
    pvecm qdevice setup 10.10.10.20
    
    # Doğrula
    pvecm status | grep -A5 Qdevice
    

    Kurulumdan sonra Expected votes değerinin 3 olduğunu ve Qdevice satırının A,V,NMW (Alive, Vote, Not Master Wins) durumunu gösterdiğini görmelisiniz.

    Acil bir durumda, örneğin kalıcı olarak kaybettiğiniz bir düğüm yüzünden küme kilitliyse, beklenen oy sayısını geçici olarak düşürebilirsiniz:

    # DİKKAT: yalnızca gerçekten arızalı düğüm geri gelmeyecekse kullanın
    pvecm expected 1
    

    Bu komut split-brain riskini kabul ettiğiniz anlamına gelir; kayıp düğüm aslında ayaktaysa ve aynı depolamayı kullanıyorsa veri bozulması yaşayabilirsiniz. Sadece gerçekten kapalı olduğundan emin olduğunuz durumlarda kullanın.

    Kümeden Düğüm Çıkarma ve Yaygın Hatalar#

    Bir düğümü kümeden çıkarmak, eklemek kadar kolay değildir ve sırası önemlidir. Önce düğümü tamamen kapatın, sonra kalan bir düğümden silin:

    # Kaldırılacak düğüm KAPALI olmalı
    pvecm nodes                 # nodeid'i öğren
    pvecm delnode pve3
    
    # Kalan düğümlerde doğrula
    pvecm status
    

    Silinen bir düğümü aynı isimle tekrar kümeye eklemek istiyorsanız, o makineye Proxmox'u sıfırdan kurmanız gerekir. Eski küme yapılandırması /etc/pve içinde kalır ve temizlenmeden katılım kabul edilmez. Yeniden kurmak istemiyorsanız en azından /etc/corosync dizinini temizleyip pmxcfs servisini yerel modda başlatmanız gerekir, ama temiz kurulum her zaman daha güvenilirdir.

    Karşılaşacağınız yaygın sorunlar ve çözümleri:

    "cluster not ready - no quorum?" hatası. /etc/pve salt okunur olmuştur. pvecm status ile kaç oy göründüğüne bakın; corosync ağının çalıştığını corosync-cfgtool -s ile doğrulayın. Genellikle sorun ağ tarafındadır — bir switch portu, bir VLAN etiketi ya da güvenlik duvarında kapalı kalmış UDP 5405.

    Katılım sırasında "Host key verification failed". Düğümler arasında SSH anahtarları uyuşmuyordur. Katılan düğümde /root/.ssh/known_hosts içindeki eski girdiyi silin ve tekrar deneyin.

    Web arayüzünde bir düğüm gri/soru işaretli görünüyor. Genellikle pvestatd ya da pveproxy takılmıştır. İlgili düğümde systemctl restart pvestatd pveproxy yeterli olur; sorun sürüyorsa corosync bağlantısını kontrol edin.

    Corosync sürekli yeniden bağlanıyor (retransmit mesajları). Log'da Retransmit List satırları görüyorsanız ağ gecikmesi ya da paket kaybı vardır. journalctl -u corosync -f ile izleyin ve corosync trafiğini ayrı bir ağa taşıyın. Bu, üretimde gördüğüm en sık küme sorunudur.

    Küme kurduktan sonra depolama görünmüyor. Küme genelinde depolama tanımı /etc/pve/storage.cfg içindedir ve tüm düğümlere yayılır; ancak yerel bir dizin ya da ZFS havuzu yalnızca o düğümde varsa nodes alanıyla sınırlandırılmalıdır. Yoksa diğer düğümler o depolamayı arar ve hata verir. ZFS tarafını Proxmox'ta ZFS depolama yapılandırması yazısında ayrıntılı anlattım.

    Sıkça Sorulan Sorular#

    Proxmox cluster için en az kaç sunucu gerekir#

    Teknik olarak iki sunucuyla küme kurabilirsiniz ama önerilmez: bir düğüm düştüğünde kalan düğüm quorum sağlayamaz ve /etc/pve salt okunur hâle gelir. İki sunucunuz varsa mutlaka bir QDevice ekleyin; küçük bir Debian makinesi ya da tek kartlı bilgisayar bu iş için yeterlidir. Gerçekten arıza toleransı istiyorsanız üç düğüm en sağlıklı başlangıçtır.

    Küme kurduğumda mevcut sanal makinelerim silinir mi#

    Kümeyi oluşturan düğümdeki sanal makineler korunur. Ancak kümeye katılan düğümdeki VM tanımları silinir, çünkü /etc/pve dizini kümeden gelen içerikle değiştirilir. Bu yüzden sıralama önemlidir: en çok VM'in bulunduğu sunucuda kümeyi oluşturun, boş sunucuları ona ekleyin. Katılacak düğümde VM varsa önce yedeğini alıp sonra geri yükleyin.

    Küme düğümleri farklı donanıma sahip olabilir mi#

    Evet, düğümlerin donanımı birebir aynı olmak zorunda değildir. Ancak canlı göç yapacaksanız CPU'ların aynı üreticiden olması (hepsi Intel ya da hepsi AMD) ve sanal makinelerde host yerine ortak bir CPU tipi seçmeniz gerekir. Farklı nesil işlemcilerde host tipi kullanırsanız göç sırasında misafir çökebilir. Bu konuyu canlı göç yazısında ayrıntılı ele aldım.

    Corosync ağını üretim ağıyla paylaşabilir miyim#

    Küçük laboratuvar ortamlarında çalışır ama üretimde şiddetle önerilmez. Corosync gecikmeye çok duyarlıdır; bir yedekleme işi ya da büyük bir dosya transferi hattı doldurduğunda düğümler birbirini kaybeder ve küme quorum düşürür. HA etkinse bu durum sunucuların kendini yeniden başlatmasına kadar gidebilir. Ayrı bir VLAN bile tek başına yeterli değildir; mümkünse ayrı fiziksel arayüz kullanın.

    Kümeden çıkardığım sunucuyu tekrar ekleyebilir miyim#

    Aynı isimle geri eklemek istiyorsanız o makineye Proxmox'u temiz kurmanız gerekir. pvecm delnode ile silinen bir düğümün eski küme yapılandırması makinede kalır ve yeniden katılımı engeller. Farklı bir isimle eklemek isterseniz de aynı temizlik gerekir; en güvenilir yol her zaman sıfırdan kurulum yapmaktır.

    Küme kurmak yüksek erişilebilirlik sağlar mı#

    Hayır, küme tek başına yüksek erişilebilirlik değildir; onun ön koşuludur. Küme size ortak yönetim, canlı göç ve paylaşımlı yapılandırma verir. Bir düğüm çöktüğünde sanal makinelerin otomatik olarak başka düğümde açılması için ayrıca HA yöneticisini yapılandırmanız, paylaşımlı depolama kurmanız ve fencing mekanizmasını doğrulamanız gerekir.

    Kapanış#

    Proxmox cluster kurulumu komut olarak birkaç satırdır ama sağlıklı bir küme, komutlardan çok planlamayla ilgilidir. Aklınızda kalması gereken dört şey var: corosync'e mutlaka ayrı bir ağ verin ve mümkünse ikinci bir halka ekleyin, düğüm sayısını tek tutun ya da iki düğümde QDevice kullanın, kümeye katacağınız sunucuları boş olarak katın ve /etc/hosts ile isim çözümlemesini DNS'e bağımlı bırakmayın.

    Kümeyi kurduktan sonraki doğal adımlar canlı göç ve yüksek erişilebilirliktir; Proxmox'ta canlı göç ve Proxmox HA kurulumu yazıları bu ikisini adım adım anlatıyor. Kendi donanımınız üzerinde küme kurmak istiyorsanız dedicated sunucu ve colocation seçeneklerimiz uygun bir zemin sunar; küme işletiminin yükünü almak istemiyorsanız hazır bulut sunucu paketlerimiz zaten kümelenmiş bir altyapı üzerinde çalışır. Kurulum ve bakım tarafını devretmek isterseniz sunucu yönetimi hizmetimiz bu işi sizin yerinize üstlenir.

    ProxmoxClusterCorosync

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.