Sanallaştırma & Bulut

    XCP-ng Kurulumu ve Yönetimi

    Xen tabanlı ücretsiz hipervizörün kurulumu, depolama seçimi ve günlük yönetimi.

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

    Sanallaştırma platformu ararken çoğu insanın radarına iki isim girer: VMware ve Proxmox. Üçüncü bir seçenek daha var ve ticari bir ürünün açık kaynak devamı olduğu için hem olgun hem ücretsiz: XCP-ng. XCP-ng kurulumu, uzun yıllardır kurumsal ortamlarda çalışan XenServer mimarisini alıp tamamen açık bir lisansla önüne koyar; canlı göç, havuz yönetimi, yüksek erişilebilirlik ve artımlı yedekleme gibi özelliklerin hiçbiri lisans arkasında kilitli değildir.

    Bu rehberde XCP-ng'nin altında yatan Xen mimarisini, kuruluma başlamadan önce yapman gereken donanım kontrolünü, kurulumun kendisini, depolama havuzu (SR) seçiminin neden ilk beş dakikada verilmesi gereken bir karar olduğunu, Xen Orchestra ile yönetimi, xe komut satırını ve birden fazla host'u havuz hâline getirip canlı göç yapmayı anlatacağım. Sonunda yeni başlayanların en sık düştüğü tuzakları topladım.

    XCP-ng Nedir ve Xen Mimarisi#

    XCP-ng, Xen hipervizörü üzerine kurulu bir sanallaştırma platformudur. Xen'in mimarisi diğer hipervizörlerden bir noktada belirgin biçimde ayrılır: donanımın hemen üzerinde çok ince bir hipervizör katmanı vardır ve bu katman aygıt sürücüleri içermez. Sürücüler, dom0 adı verilen ayrıcalıklı bir kontrol alanında çalışır. dom0 aslında özel yetkileri olan bir Linux sistemidir; ağ kartını, disk denetleyicisini o yönetir ve diğer tüm sanal makineler (domU) donanıma onun aracılığıyla erişir.

    Bu ayrımın pratik iki sonucu var. Birincisi, hipervizörün kendisi çok küçüktür ve saldırı yüzeyi dardır. İkincisi — ve kurulum yaparken hatırlaman gereken kısım — dom0'ın kaynakları önemlidir. dom0'a ayrılan bellek varsayılan olarak sınırlıdır ve çok sayıda sanal makine ya da yoğun disk trafiği olan bir host'ta yetmeyebilir; bu durumda tüm sistemin tepki süresi bozulur. Büyük bir host kuruyorsan dom0 belleğini bilinçli olarak artırmak, yapman gereken ilk ayarlamalardan biridir.

    Sanal makineler iki modda çalışabilir: HVM (donanım destekli tam sanallaştırma) ve PV/PVHVM (paravirtualization). Modern kurulumlarda misafirler HVM olarak açılır ve paravirtual sürücülerle (disk ve ağ) çalışır — yani hem uyumluluk hem performans elde edilir. Bu, VMware'deki VMXNET3 ya da KVM'deki VirtIO mantığının Xen'deki karşılığıdır. Platformları karşılaştırmak istiyorsan VMware ve Proxmox karşılaştırması yazısındaki kriterler XCP-ng için de büyük ölçüde geçerlidir.

    Donanım Gereksinimleri ve Ön Kontrol#

    XCP-ng'nin donanım uyumluluğu, altında CentOS tabanlı bir dom0 olduğu için oldukça geniştir; ESXi'nin katı listesiyle kıyaslandığında çok daha az sürprizle karşılaşırsın. Yine de kuruluma başlamadan önce şunları doğrula:

    BileşenMinimumPratikte önerilen
    CPU64-bit x86, VT-x / AMD-V açık8+ çekirdek
    RAM4 GB32 GB ve üzeri
    Kurulum diski46 GB100 GB+ ayrı SSD
    Ağ kartı1 adet2 adet (yönetim + VM trafiği)
    Sanal makine deposuKurulum diskinden ayrıRAID'li dizi veya paylaşımlı depolama

    BIOS/UEFI tarafında sanallaştırmayı (VT-x / AMD-V) ve ileride PCI cihaz geçişi düşünüyorsan IOMMU'yu (VT-d / AMD-Vi) aç. Kurulum diskini sanal makine diskinden ayırman kritik bir alışkanlıktır: hipervizörü yeniden kurman gerektiğinde sanal makine verilerine dokunmamış olursun.

    Kurulum Adımları#

    ISO'yu indirdikten sonra USB'ye yazıp sunucudan boot edeceksin. Uzak bir veri merkezindeysen IPMI/iDRAC/iLO üzerinden sanal medya olarak bağlamak çok daha pratiktir.

    # ISO'yu USB'ye yaz (of= değerini kendi aygıtınla değiştir, iki kez kontrol et)
    lsblk -o NAME,SIZE,MODEL,TRAN
    sudo dd if=xcp-ng-8-installer.iso of=/dev/sdX bs=4M status=progress oflag=sync
    sync
    

    Kurulum sihirbazı sırasıyla şunları sorar:

    1. Klavye düzeni ve lisans kabulü.
    2. Kurulum diski — hipervizörün kendisinin yazılacağı disk.
    3. Sanal makine deposu (SR) — sanal disklerin duracağı alan. Burada iki seçenek çıkar: "thin provisioning" destekleyen dosya tabanlı yapı ya da yerel LVM. Bu seçim sonradan değiştirilemez, aşağıdaki bölümü okumadan geçme.
    4. Kurulum kaynağı (yerel medya) ve isteğe bağlı ek paketler.
    5. root parolası.
    6. Yönetim ağı — hangi ağ kartının yönetim için kullanılacağı, statik IP, ağ geçidi ve DNS. Hipervizöre DHCP verme.
    7. Host adı ve NTP sunucuları. NTP'yi mutlaka yapılandır; zaman kayması havuz üyeliğini ve sertifikaları bozar.

    Kurulum genellikle on dakika içinde biter. Yeniden başlattığında konsol ekranında (xsconsole) host'un IP'sini görürsün. XCP-ng'de VMware'inki gibi kutudan çıkan tam donanımlı bir web arayüzü yoktur; yönetim için Xen Orchestra kuracaksın.

    Depolama Havuzu (SR) Seçimi#

    Depolama havuzu tipi, snapshot davranışını ve alan kullanımını doğrudan belirler. En yaygın seçenekler şunlar:

    SR tipiThin provisioningTipik kullanımNot
    Yerel LVMHayırTek host, basit kurulumDisk baştan tam ayrılır
    Yerel EXT (dosya tabanlı)EvetTek host, alan verimliliğiSnapshot ve klon daha esnek
    NFSEvetHavuz + paylaşımlı depolamaCanlı göç için ideal
    iSCSI (LVM)HayırHavuz + blok depolamaPerformans iyi, alan katı
    Dağıtık (hiperbirleşik)EvetÇok düğümlü, paylaşımsızAğ tasarımı kritik

    Kurulum sırasında "thin provisioning" seçeneğini işaretlemezsen yerel LVM ile devam edersin ve 100 GB'lık bir sanal disk, içi boş olsa bile 100 GB yer kaplar. Küçük ortamlarda bu sonradan can sıkar. Havuz kurup canlı göç yapmayı planlıyorsan zaten paylaşımlı bir SR'ye (NFS ya da iSCSI) ihtiyacın olacak; bu durumda yerel SR yalnızca ISO ve geçici veri için kalır.

    # Tanımlı depolama havuzlarını listele
    xe sr-list params=uuid,name-label,type,physical-size,physical-utilisation
    
    # NFS tabanlı paylaşımlı bir SR oluştur
    xe sr-create name-label="nfs-vm-deposu" type=nfs shared=true \
       device-config:server=185.12.34.60 device-config:serverpath=/export/vm
    
    # ISO deposu ekle (kurulum imajları için)
    xe sr-create name-label="iso-deposu" type=iso content-type=iso \
       device-config:location=/mnt/iso device-config:legacy_mode=true
    

    Geleneksel VHD tabanlı depolama havuzlarında tek bir sanal diskin boyutunda üst sınır bulunduğunu unutma; çok büyük tek disk gerektiren iş yükleri için desteklenen disk formatını ve sürüm notlarını kurulum öncesi kontrol et. Diskleri fiziksel katmanda izlemeyi de ihmal etme; SMART ve RAID ile disk arızası tespiti yazısındaki kontroller dom0 üzerinde de çalışır.

    Xen Orchestra ile Yönetim#

    Xen Orchestra, XCP-ng'nin web tabanlı yönetim arayüzüdür ve iki biçimde gelir. XOA, hazır bir sanal cihaz olarak indirilip host'a dağıtılır; ücretsiz planla temel yönetimi yapar, üst planlarda yedekleme ve gelişmiş özellikler açılır. Kaynaktan derlenen XO ise depodan çekilip kendin kurduğunda tüm özellikleri ücretsiz kullanmanı sağlar; karşılığında güncellemeyi ve bakımı sen üstlenirsin.

    Xen Orchestra'yı kurduktan sonra host'u ekleyip her şeyi tek arayüzden yönetirsin: sanal makine oluşturma, snapshot, canlı göç, yedekleme planları, kullanıcı yetkilendirme ve performans grafikleri. Yedekleme tarafında artımlı (delta) yedek, sürekli çoğaltma ve NFS/SMB/S3 hedeflerine yazma yetenekleri bu arayüzden gelir — yani XCP-ng'de yedekleme için ayrı bir ürün satın alman gerekmez.

    Windows üzerinden çalışmayı tercih edenler için topluluk tarafından geliştirilen bir masaüstü istemcisi de var, ancak yeni özellikler oraya daha geç ulaşır. Ciddi bir ortamda Xen Orchestra'yı asıl yönetim aracın yapman doğru olur.

    Sanal Makine Oluşturma ve xe Komutları#

    Arayüzden sanal makine oluşturmak basittir: şablon seç, ISO bağla, CPU/RAM/disk ver, ağı seç ve başlat. Komut satırı ise otomasyon ve sorun giderme için vazgeçilmezdir. En sık kullandığım komutlar:

    # Host bilgileri ve sürüm
    xe host-list params=uuid,name-label,software-version
    
    # Şablonları listele (Ubuntu, Debian, Windows vb.)
    xe template-list name-label="Ubuntu*" params=uuid,name-label
    
    # Şablondan yeni makine oluştur
    xe vm-install template="Ubuntu Focal Fossa 20.04" new-name-label="web01"
    
    # Makineye CPU ve bellek ata
    xe vm-param-set uuid=<VM-UUID> VCPUs-max=4 VCPUs-at-startup=4
    xe vm-memory-limits-set uuid=<VM-UUID> static-min=2GiB dynamic-min=2GiB \
       dynamic-max=4GiB static-max=4GiB
    
    # Makineleri listele ve başlat / kapat
    xe vm-list params=uuid,name-label,power-state
    xe vm-start uuid=<VM-UUID>
    xe vm-shutdown uuid=<VM-UUID>
    
    # Snapshot al ve listele
    xe vm-snapshot uuid=<VM-UUID> new-name-label="guncelleme-oncesi"
    xe snapshot-list params=uuid,name-label,snapshot-of
    

    Sanal makine kurulumundan sonra atlanmaması gereken adım misafir araçlarını (guest tools) kurmaktır. Bunlar olmadan hipervizör misafirin IP adresini göremez, düzgün kapatma sinyali gönderemez ve bellek raporlaması çalışmaz:

    # Debian / Ubuntu misafirinde
    sudo apt update && sudo apt install -y xe-guest-utilities
    
    # RHEL / Rocky / AlmaLinux misafirinde
    sudo dnf install -y xe-guest-utilities-latest
    
    # Servisin çalıştığını doğrula
    systemctl status xe-linux-distribution --no-pager
    

    Windows misafirlerinde araçlar bir ISO olarak bağlanır ve içindeki kurulum paketi çalıştırılır; paravirtual disk ve ağ sürücüleri de bu pakette gelir.

    Havuz Kurma, Canlı Göç ve Yüksek Erişilebilirlik#

    Birden fazla host'u tek bir yönetim birimi hâline getirmek için havuz (pool) kurarsın. Havuzda bir host "pool master" olur ve yönetim isteklerini o karşılar; diğerleri üye olur. Havuz kurmanın ön koşulu, host'ların benzer CPU ailesine sahip olması ve aynı XCP-ng sürümünü çalıştırmasıdır.

    # Üye host üzerinde çalıştırılır: havuza katıl
    xe pool-join master-address=185.12.34.50 master-username=root master-password=<parola>
    
    # Havuz ve üyeleri gör
    xe pool-list params=uuid,name-label,master
    xe host-list params=uuid,name-label,address
    
    # Çalışan bir makineyi başka host'a canlı göç ettir
    xe vm-migrate uuid=<VM-UUID> host-uuid=<HEDEF-HOST-UUID> live=true
    

    Canlı göçün sorunsuz çalışması için sanal makinenin diskinin her iki host'un da eriştiği paylaşımlı bir SR'de bulunması gerekir. Paylaşımlı depolama yoksa diski de taşıyan göç mümkündür ama belirgin biçimde uzun sürer ve ağ trafiği yaratır.

    Yüksek erişilebilirliği (HA) etkinleştirdiğinde havuz, host'ların sağlığını paylaşımlı depolama üzerinden izler ve bir host kaybolduğunda üzerindeki makineleri hayatta kalan host'larda yeniden başlatır. Burada VMware'deki HA ile aynı kural geçerli: makineler yeniden başlatılır, kesintisiz devam etmez ve kümede bir host'un yükünü karşılayacak boş kapasite bulunmalıdır. Aynı mantığın VMware'deki karşılığını vCenter nedir, ne zaman gerekir yazısında ayrıntılı anlattım.

    Güncelleme, Yedekleme ve Sık Yapılan Hatalar#

    Güncellemeleri dom0 üzerinden yaparsın ve havuzda önce master, sonra üyeler sırasını izlemek gerekir. Her host'u güncellemeden önce bakım moduna alıp üzerindeki makineleri boşaltmalısın:

    # Host'u bakım moduna al (VM'ler diğer host'lara taşınır)
    xe host-disable uuid=<HOST-UUID>
    xe host-evacuate uuid=<HOST-UUID>
    
    # Güncellemeleri uygula ve yeniden başlat
    yum update -y
    reboot
    
    # Açılıştan sonra host'u tekrar devreye al
    xe host-enable uuid=<HOST-UUID>
    

    Sık yapılan hatalar şunlar:

    dom0 belleğini varsayılanda bırakmak. Büyük bir host'ta çok sayıda makine çalıştırıyorsan dom0 darboğaza girer; disk ve ağ tüm makineler için ondan geçtiği için sonuç tüm sistemde yavaşlamadır. Host kapasitesine göre dom0 belleğini artır.

    Kurulumda yanlış SR tipini seçmek. Thin provisioning'i kaçırıp yerel LVM ile devam etmek, alan sıkıntısı çekene kadar fark edilmez ve sonradan düzeltmesi makineleri taşımayı gerektirir.

    Misafir araçlarını kurmamak. Makine çalışır ama IP görünmez, düzgün kapatma çalışmaz ve yedekleme tutarlılığı düşer. Her yeni makinede bunu standart adım yap.

    Snapshot'ı yedek sanmak. Snapshot aynı depolama üzerindedir; disk giderse o da gider. Uzun süre bırakılan snapshot'lar zincir büyüttüğü için performansı düşürür ve alanı yer. Ayrıntısı için sanal makine snapshot yönetimi yazısına bak; gerçek yedekleme için Xen Orchestra'nın artımlı yedeklerini kur ya da yedekleme hizmetimizi değerlendir.

    Güncellemeyi havuz sırasına uymadan yapmak. Üye host'u master'dan önce güncellemek sürüm uyumsuzluğu yaratır ve havuz üyeliği bozulabilir. Sırayı bozma.

    Sıkça Sorulan Sorular#

    XCP-ng tamamen ücretsiz mi#

    Hipervizörün kendisi açık kaynak ve tamamen ücretsizdir; canlı göç, havuz, HA gibi özellikler lisans arkasında değildir. Ücretli olan kısım isteğe bağlı üretici desteği ve hazır Xen Orchestra sanal cihazının üst planlarıdır. Xen Orchestra'yı kaynaktan derleyerek tüm yönetim ve yedekleme özelliklerine ücret ödemeden de ulaşabilirsin; karşılığında kurulum ve güncelleme sorumluluğu sende olur.

    XCP-ng ile XenServer arasındaki fark ne#

    XCP-ng, Citrix'in XenServer (sonraki adıyla Citrix Hypervisor) ürününün açık kaynak çatallamasıdır. Aynı Xen tabanlı mimariyi ve büyük ölçüde aynı xe komut setini paylaşırlar; bu yüzden XenServer bilen biri XCP-ng'ye hemen uyum sağlar. Temel fark lisanslama ve özellik kısıtlarıdır: XCP-ng'de ticari lisansla kilitlenen bir özellik yoktur ve geliştirme topluluk ile üreticinin ortak yürüttüğü açık bir süreçle ilerler.

    Web arayüzü neden kutudan çıkmıyor#

    XCP-ng'nin tasarım tercihi, yönetim katmanını hipervizörden ayrı tutmaktır. Host'un kendisinde yalnızca konsol tabanlı basit bir arayüz (xsconsole) bulunur; asıl yönetim Xen Orchestra ile yapılır. Bunun avantajı, tek bir yönetim arayüzünden onlarca host'u ve birden fazla havuzu birlikte yönetebilmendir. Dezavantajı ise ilk kurulumda fazladan bir bileşen daha kurman gerekmesidir.

    VMware'den XCP-ng'ye sanal makine taşıyabilir miyim#

    Evet. Xen Orchestra, VMware ortamından sanal makine içeri aktarma yeteneğine sahiptir; ayrıca OVA/OVF dosyalarını da içeri alabilirsin. Taşımadan önce misafir işletim sistemini hazırlaman gerekir: VMware Tools'u kaldır, Windows makinelerde paravirtual disk sürücülerinin sorun çıkarmaması için gerekli hazırlığı yap ve ağ yapılandırmasını not al. Küçük bir test makinesiyle başlayıp süreci doğrulamadan üretim makinelerini taşıma.

    Kaç host'a kadar tek havuzda çalışabilirim#

    Havuz başına desteklenen host sayısı sürüme göre belirlenir ve pratikte çoğu orta ölçekli ortam için fazlasıyla yeterlidir. Asıl sınırlayıcı genellikle host sayısı değil, paylaşımlı depolamanın ve yönetim ağının kapasitesidir. Büyük ortamlarda birden fazla havuz kurup hepsini tek bir Xen Orchestra üzerinden yönetmek yaygın ve sağlıklı bir yaklaşımdır.

    Yedeklemeyi nasıl kurmalıyım#

    Xen Orchestra üzerinden zamanlanmış yedekleme işleri tanımlarsın: tam yedek, artımlı (delta) yedek ya da başka bir host'a sürekli çoğaltma. Hedef olarak NFS, SMB ya da S3 uyumlu bir depolama seçebilirsin. Kritik olan iki nokta: yedekleri hipervizörle aynı fiziksel depolamada tutma ve geri dönüş testini düzenli olarak yap — hiç denenmemiş bir yedek, yedek sayılmaz.

    Kapanış#

    XCP-ng, lisans bütçesi olmayan ama kurumsal özelliklerden vazgeçmek istemeyen ekipler için gerçekten ciddi bir seçenek. Aklında kalması gereken dört şey: kurulum sırasında depolama havuzu tipini bilinçli seç, çünkü sonradan değiştirmek makineleri taşımayı gerektirir; büyük host'larda dom0 belleğini varsayılanda bırakma; her misafirde guest tools kurmayı standart hâline getir; ve güncellemeleri havuzda önce master, sonra üyeler sırasıyla, host'ları boşaltarak yap.

    Üzerine hipervizör kuracağın fiziksel makineye ihtiyacın varsa dedicated sunucu paketlerimiz tam donanım kontrolü sağlar, kendi donanımını getirmek istersen colocation seçeneğimiz IPMI erişimiyle gelir. Sanallaştırma katmanını hiç işletmeden kaynak kullanmak istersen VDS ve bulut sunucu paketlerimiz hazır teslim edilir; işletim, izleme ve güncelleme yükünü paylaşmak istersen sunucu yönetimi hizmetimize göz atabilirsin.

    XCP-ngXenSanallaştırma

    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.