Ana içeriğe geç

XCP-ng

Bu makalede

Bilgi

XCP-ng (Xen Cloud Platform - Yeni Nesil), Xen Project tabanlı, ücretsiz ve açık kaynaklı bir hypervisor'dır. XCP-ng, Citrix'in ücretsiz sürümün işlevselliğini sınırlamasının ardından Citrix XenServer'a açık kaynaklı bir alternatif olarak oluşturulmuştur. Proje; live migration, yüksek kullanılabilirlik (high availability), depolama yönetimi ve orkestrasyon sistemleri ile entegrasyonu destekleyen, herhangi bir yapay sınırlama olmaksızın tam özellikli, kurumsal düzeyde bir sanallaştırma platformu sağlar. XCP-ng, GPLv2 ve uyumlu ücretsiz lisanslar altında dağıtılmaktadır.

XCP-ng. Temel Özellikler

  • Virtualization: XCP-ng, tek bir fiziksel sunucu üzerinde tam izolasyon ve verimli kaynak dağılımı ile birden fazla sanal makinenin çalıştırılmasını destekler. Desteklenen konuk işletim sistemleri arasında Linux, Windows ve diğerleri bulunur.
  • Live Migration: Çalışan sanal makinelerin, donanım bakımı sırasında hizmet sürekliliğini sağlayarak, kesinti olmaksızın hostlar arasında taşınabilmesi yeteneği.
  • High Availability (HA): Sunucu arızası durumunda sanal makinelerin diğer pool hostları üzerinde otomatik olarak yeniden başlatılması.
  • Storage Management: Yerel diskler, NFS, iSCSI, Ceph ve diğerleri dahil olmak üzere çeşitli Depolama Deposu (Storage Repository) türleri için destek.
  • Snapshots and Backup: Hızlı kurtarma ve yedekleme için sanal makine durumlarının anlık görüntülerinin (snapshot) oluşturulması.
  • Resource Pools: Merkezi yönetim ve yük dağılımı için birden fazla XCP-ng hostunun tek bir havuzda birleştirilmesi.
  • Network Capabilities: VLAN, ağ arayüzü bonding, SR-IOV ve yazılım tanımlı ağlar için destek.
  • Web Management Interfaces: XCP-ng, temel yönetim için yerleşik XO Lite web arayüzünü içerirken, tam özellikli Xen Orchestra (XO) gelişmiş otomasyon, izleme ve yedekleme yetenekleri sağlar.

Not

XCP-ng ile çalışmak için birkaç yönetim arayüzü mevcuttur:

XO Lite (yerleşik, ücretsiz):

  • XCP-ng kurulumundan hemen sonra https://<server_IP_address> adresinden erişilebilir;
  • Sanal makineleri oluşturmak ve yönetmek için temel web arayüzü;
  • Kaynak izleme ve temel işlemler;
  • Ev laboratuvarları ve küçük projeler için uygundur;
  • Ek yapılandırma gerektirmez.

Xen Orchestra from Sources (ücretsiz, kurulum gerektirir):

  • Tam özellikli açık kaynaklı yönetim sistemi;
  • Otomatik yedeklemeler, replikasyon, gelişmiş izleme;
  • Birden fazla hostun merkezi yönetimi;
  • Ayrı bir sanal makine oluşturulmasını ve manuel kurulumu (Ubuntu/Debian) gerektirir;
  • Bakım ve güncellemeler manuel olarak gerçekleştirilir;
  • Topluluk forumları aracılığıyla destek sağlanır.

Xen Orchestra Appliance (XOA) (ücretli abonelik, çalıştırma gerektirir):

  • Xen Orchestra önceden yüklenmiş hazır sanal makine;
  • XO Lite arayüzündeki Deploy XOA düğmesi ile çalıştırılır;
  • Vates'ten resmi teknik destek (7/24);
  • Otomatik güncellemeler ve SLA garantileri;
  • Küçük işletme planları: €2,000/year (ESSENTIAL, 3 hosta kadar) veya €4,000/year (ESSENTIAL+, tam erişim) – detaylar;
  • Destek gereksinimleri olan üretim ortamları için önerilir.

Seçenek tercihi, altyapı ölçeğine ve teknik destek gereksinimlerine bağlıdır. Yerleşik XO Lite başlangıç için yeterliyken, tam özellikli Xen Orchestra'yı kurarak daha gelişmiş özelliklere erişilebilir.

Çalıştırma Özellikleri

ID OS Name Alias Active BM GPU VPS VDS Family OS Group CloudInit Avilible
306 XCP-ng 8.3 - Yes + + + - XCP-ng Others No ORDER

Minimum Sunucu Gereksinimleri:

  • RAM: 8 GB;
  • HDD: 60 GB;
  • Virtualization: iç içe geçmiş (nested) sanallaştırma desteği.

XCP-ng ile Başlarken (Kurulum Sonrası)

Siparişiniz için ödeme yaptıktan sonra, kayıt sırasında verdiğiniz adrese sunucunuzun hazır olduğunu belirten bir e-posta bildirimi alacaksınız. Bu e-posta, VPS IP adresini ve giriş bilgilerini içerecektir. Şirketimizin müşterileri ekipmanlarını sunucu yönetim paneli ve API — Invapi — üzerinden yönetirler.

Yetkilendirme ayrıntılarını, sunucu yönetim panelindeki Configuration >> Tags bölümünde veya aldığınız e-postada bulabilirsiniz:

  • Login: root;
  • Password: Yazılım kurulumunun ardından sunucu kullanıma hazır olduğunda e-posta adresinize gönderilir.

Yetkilendirme

XCP-ng sunucusuna erişim için iki yöntem mevcuttur: XO Lite web arayüzü veya SSH üzerinden.

XO Lite ile Bağlanma

XO Lite, doğrudan host üzerinden erişilebilen, XCP-ng'yi yönetmek için yerleşik bir web arayüzüdür.

  • Bir tarayıcı açın ve https://<server_IP_address> adresine gidin:

  • root kullanıcı adını ve e-postadaki şifreyi girin, ardından Login düğmesine tıklayın.

Bilgi

Tarayıcı, güvenilmeyen bir sertifika hakkında uyarı gösterebilir - bu, kendinden imzalı (self-signed) sertifikalar için normaldir. Devam etmek için istisna ekleyin.

SSH ile Bağlanma

  • Bir terminal açın ve şu komutla sunucuya bağlanın:
ssh root@<server_IP_address>
  • İstendiğinde şifreyi girin. Başarılı bağlantının ardından XCP-ng komut satırında olacaksınız.

Native Console ile Bağlanma

Host konsoluna erişmek için Invapi kontrol panelindeki Native Console'u da kullanabilirsiniz:

Konsol; ağ parametrelerini, kimlik doğrulamayı, sanal makine yönetimini ve diğer sistem parametrelerini yapılandırmanıza olanak tanıyan bir yapılandırma menüsü sağlar.

xsconsole ile Çalışma

SSH veya VNC konsolu üzerinden bağlandığınızda, XCP-ng yapılandırması ve host yönetimi için yerleşik metin tabanlı yönetim konsolu olan xsconsole'u kullanabilirsiniz.

xsconsole'u başlatmak için şu komutu girin:

xsconsole

Başlatıldıktan sonra sistem yönetim menüsü açılacaktır:

Ana xsconsole Bölümleri

Status Display

  • Host durumu izleme (CPU, bellek, ağ, depolama);
  • Çalışan sanal makineleri görüntüleme;
  • Genel sistem bilgileri.

Network and Management Interface

  • Ağ arayüzü yapılandırması;
  • IP adresi yapılandırması (statik/DHCP);
  • Gateway ve DNS sunucusu yapılandırması.

Authentication

  • root şifresini değiştirme;
  • SSH erişim yönetimi;
  • Hesap yapılandırması.

Virtual Machines

  • Sanal makinelerin listesini görüntüleme;
  • Temel VM yönetimi (başlat, durdur);
  • Konuk sistem durumu kontrolü.

Disks and Storage Repositories

  • Bağlı diskleri görüntüleme;
  • Depolama Deposu (Storage Repository) yönetimi;
  • SR oluşturma ve silme.

Resource Pool Configuration

  • Birden fazla hosttan bir havuz oluşturma;
  • Mevcut bir havuza katılma;
  • Sunucu kümesi (cluster) yönetimi.

Hardware and BIOS Information

  • İşlemci ve bellek bilgileri;
  • Ağ kartı verileri;
  • BIOS ve firmware sürümleri.

Keyboard and Timezone

  • Klavye düzeni yapılandırması;
  • Sistem saat dilimi ayarı.

Remote Service Configuration

  • Uzaktan erişim yapılandırması;
  • SSH yapılandırması;
  • SSL sertifika yönetimi.

Backup, Restore and Update

  • Host yapılandırma yedeği;
  • Ayarların geri yüklenmesi;
  • Sistem güncelleme kontrolü ve kurulumu.

Technical Support

  • Teknik destek raporu oluşturma (hata raporu);
  • Sistem günlüklerini (log) toplama;
  • Tanılama bilgileri.

Local Command Shell

  • Standart bash komut satırına çıkış;
  • Herhangi bir komut ve betik çalıştırmak için.

Reboot or Shutdown

  • Host yeniden başlatma;
  • Düzgün sistem kapatma.

xsconsole İçinde Gezinme

  • Enter - menü öğesini seçer/işlemi onaylar;
  • ↑/↓ - menü öğeleri arasında hareket eder;
  • Tab - form öğeleri arasında geçiş yapar;
  • Esc veya q - önceki menüye döner/çıkış yapar.

İpucu

xsconsole, özellikle ilk sunucu kurulumu, acil durum erişim kurtarma veya XO Lite web arayüzünün kullanılamadığı ağ yapılandırmaları için çok kullanışlıdır. xsconsole'dan normal komut satırına çıkmak için Local Command Shell öğesini seçin.

XO Lite ile Çalışma

XO Lite'ta yetkilendirme yapıldıktan sonra ana yönetim paneli (Dashboard) açılır:

XO Lite arayüzü aşağıdaki bölümleri içerir:

  • DASHBOARD: host durumu, sanal makine durumu, depolama kullanımı ve bildirimlerin genel özeti;
  • ALARMS: sistem uyarılarını ve alarmlarını görüntüleme;
  • STATS: performans ve kaynak kullanımı istatistikleri;
  • SYSTEM: host sistem ayarları;
  • NETWORK: ağ arayüzü ve sanal ağ yönetimi;
  • STORAGE: veri depolama yönetimi (Storage Repositories);
  • TASKS: çalışan ve tamamlanan görevlerin günlüğü;
  • HOSTS: havuzdaki hostlar hakkında bilgi;
  • VMS: sanal makine yönetimi.

Ağ Yönetimi

NETWORK sekmesi mevcut ağları ve parametrelerini görüntüler:

Burada Havuz genelindeki ağları (havuzdaki tüm hostlar için geçerli) ve Host dahili ağlarını görüntüleyebilir, ayrıca yeni ağ bağlantıları oluşturabilirsiniz.

Sanal Makine Oluşturma

Hazırlık: ISO İmajı Yükleme

Bir sanal makine oluşturmadan önce, işletim sistemine ait bir ISO imajını Depolama Deposu'na (Storage Repository) yüklemeniz gerekir.

SSH ile ISO Yükleme

XO Lite, web arayüzü üzerinden ISO imajı yüklemeyi desteklemez. Bir ISO yüklemek için komut satırını kullanmalısınız:

  1. Sunucuya SSH ile bağlanın

        ssh root@<server_IP_address>
    
  2. Bağlantıdan sonra xsconsole açılırsa, Local Command Shell menü öğesini seçerek veya Ctrl+C tuşlarına basarak normal komut satırına çıkın.

  3. ISO depolama biriminin UUID'sini bulun

        xe sr-list content-type=iso
    
    "XCP-ng Tools" adlı depolamanın UUID'sini kopyalayın.

  4. ISO depolama dizinine gidin

        cd /opt/xensource/packages/iso
    
  5. ISO imajını indirin

    İnternetten indirmek için:

        wget https://repo.almalinux.org/almalinux/9/isos/x86_64/AlmaLinux-9-latest-x86_64-boot.iso
    

    Veya yerel bilgisayardan yüklemek için (kendi bilgisayarınızda çalıştırın)

        scp /path/to/file.iso root@<server_IP>:/opt/xensource/packages/iso/
    
  6. Depolamayı yeniden tarayın (rescan)

        xe sr-scan uuid=<UUID_SR>
    
    Burada <UUID_SR>, 3. adımda elde edilen UUID'dir.

    Bundan sonra, sanal makine oluştururken ISO imajı, mevcut imajlar listesinde görünecektir.

XO Lite ile VM Oluşturma

  • Arayüzün sağ üst köşesindeki New VM düğmesine tıklayın.

  • Açılan pencerede sanal makine parametrelerini doldurun:

    • Template: işletim sistemi şablonunu seçin (örneğin, AlmaLinux 9);
    • Install settings: kurulum yöntemini seçin:
      • ISO/DVD: ISO imajından kurulum (önerilir) - listeden yüklenen ISO'yu seçin;
      • PXE: ağ üzerinden kurulum (yapılandırılmış bir PXE sunucusu gerektirir).
    • System: VM adını, açıklamasını ve firmware türünü (BIOS/UEFI) belirtin;
    • Memory: vCPU sayısını ve RAM miktarını ayarlayın.
  • Ağ bağlantılarını ve depolamayı yapılandırın:

    • Network: VM bağlantısı için ağ arayüzünü seçin;
    • Storage: depolamayı seçin ve disk boyutunu belirtin;
    • Settings: açılışta otomatik VM başlatmayı etkinleştirin (isteğe bağlı).
  • Summary bölümünde son yapılandırmayı gözden geçirin ve Create düğmesine tıklayın.

Oluşturulduktan sonra sanal makine otomatik olarak başlayacak ve ISO imajından önyükleme (boot) işlemi başlayacaktır. XO Lite arayüzü, oluşturulan VM'in Dashboard sayfasını açacaktır:

Dashboard sayfası şunları görüntüler:

  • Quick info: temel VM bilgileri (durum, UUID, host, kaynaklar);
  • CPU usage: işlemci kullanımı grafiği;
  • RAM usage: bellek kullanımı grafiği;
  • Network throughput: ağ aktivitesi grafiği;
  • VDI throughput: disk aktivitesi grafiği;
  • Change state: VM durum yönetimi menüsü (start, pause, reboot, shutdown).

Sanal makine konsoluna erişmek ve işletim sistemi kurulumuna başlamak için CONSOLE sekmesine gidin.

İpucu

Ağ üzerinden kurulum (Boot ISO) için, kurulum paketleri depodan indirileceğinden, sanal makinenin yapılandırılan ağ üzerinden internet erişimi olduğundan emin olun.

ISO İmajı Seçimi

ISO imajı seçerken imaj türünü göz önünde bulundurun:

Linux için (AlmaLinux örneği kullanılarak):

  • DVD/Full ISO (~4-10 GB) - tam imaj, tüm paketleri içerir, internet gerektirmez
    • AlmaLinux-9-latest-x86_64-dvd.iso;
    • Ubuntu-22.04-server.iso.
  • Boot/Minimal ISO (~1 GB) - minimal imaj, paketleri indirmek için aktif internet bağlantısı gerektirir
    • AlmaLinux-9-latest-x86_64-boot.iso;
    • Ubuntu-22.04-live-server.iso.

Öneri: Güvenilir bir kurulum için, özellikle VM'in internet bağlantısı kararsızsa veya hiç yoksa, tam ISO imajlarını (DVD/Full) kullanın.

Firmware Seçimi Önerileri

  • UEFI - modern işletim sistemleri için önerilir:
    • Linux: AlmaLinux 9+, Ubuntu 20.04+, Debian 11+;
    • Windows: Windows Server 2016+, Windows 10/11.
  • BIOS - uyumluluk için:
    • Eski işletim sistemi sürümleri;
    • UEFI önyükleme sorunlarıyla karşılaşıldığında;
    • Belirli senaryolar (legacy uygulamalar).

Yazılım Seçimi Tercihi

XCP-ng'de Linux dağıtımları kurulurken çeşitli ortam seçenekleri mevcuttur:

  • Minimal Install - GUI olmayan temel sistem (~400-600 paket, 5-10 dakika kurulum)
    • Sunucular ve üretim ortamları için önerilir;
    • Minimum kaynak tüketimi.
  • Server with GUI - grafik arayüzlü tam sistem (~1000-1500 paket, 15-30 dakika kurulum)
    • Öğrenme ve test etme için uygundur;
    • Daha fazla kaynak (RAM, CPU, disk) gerektirir.

XCP-ng'daki üretim sunucuları için Minimal Install önerilir.

XCP-ng Guest Tools Kurulumu

İşletim sistemini kurduktan sonra, sanal makinenin düzgün çalışması için XCP-ng Guest Tools kurulumu yapılması kritik öneme sahiptir.

Guest Tools Neden Gereklidir?

Guest Tools şunları sağlar:

  • Doğru VM kapatma ve yeniden başlatma (soft shutdown);
  • XCP-ng arayüzünde IP adresi ve VM durumunun görüntülenmesi;
  • Geliştirilmiş ağ ve disk performansı;
  • Host ve konuk işletim sistemi arasında zaman senkronizasyonu;
  • Quiesce ile snapshot desteği (tutarlı snapshotlar);

Dikkat

Guest Tools kurulmadığında, sanal makine özellikle ağ bağlantıları ve durum yönetimi konusunda kararsız çalışabilir.

Guest Tools Kurulum Sırası

Adım 1: İşletim Sistemi Kurulumunu Tamamlama

İşletim sistemini kurduktan sonra, bir tamamlanma mesajı göründüğünde veya yeniden başlatma istemi geldiğinde:

Dikkat

Sanal makineyi hemen yeniden başlatmayın. Önce kurulum ISO'sunu guest-tools.iso ile değiştirmeniz gerekir.

İstisna: Eğer VM'i zaten yeniden başlattıysanız sorun değil; ISO, kurulu sistemin ilk önyüklemesinden sonra bağlanabilir.

Adım 2: ISO'yu Guest Tools ile Değiştirme (XCP-ng host üzerinde)

XCP-ng hostuna SSH ile bağlanın ve komutları çalıştırın.

VM'inizin UUID'sini bulun:

xe vm-list name-label="VM_NAME"

Veya çalışan tüm VM'lerin listesini alın:

xe vm-list power-state=running

Örnek çıktı:

uuid ( RO)           : 0218d2ca-bfb7-fdfb-0c78-7a115a69ecdc
     name-label ( RW): AlmaLinux 9
    power-state ( RO): running

Kurulum ISO'sunu çıkarın (eğer bağlıysa):

xe vm-cd-eject uuid=<UUID_VM>

Guest-tools ISO'sunu takın:

xe vm-cd-insert uuid=<UUID_VM> cd-name="guest-tools.iso"

ISO'nun değiştiğini doğrulayın:

xe vbd-list vm-uuid=<UUID_VM> type=CD

Örnek çıktı:

uuid ( RO)             : 5f644369-7b28-a39d-6bc0-2221ec2b92d3
          vm-uuid ( RO): 0218d2ca-bfb7-fdfb-0c78-7a115a69ecdc
    vm-name-label ( RO): AlmaLinux 9
         vdi-uuid ( RO): dd994bfa-83a6-482a-a2c4-f952a5d8ab81
            empty ( RO): false
           device ( RO): xvdd
device parametresine dikkat edin - bu, konuk sistemdeki aygıt adıdır (bu durumda xvdd).

Adım 3: VM'i Yeniden Başlatma

  • Eğer kurulumdan sonra henüz yeniden başlatmadıysanız: VM konsolunda "Reboot System" seçeneğine basın veya reboot komutunu çalıştırın;
  • Eğer zaten çalışan bir sistemdaysanız: Yeniden başlatma gerekmez, Adım 4'e geçin.

Adım 4: Konuk İşletim Sisteminde Guest Tools Kurulumu

Kurulum prosedürü işletim sistemine bağlıdır:

Linux İçin (RHEL tabanlı: AlmaLinux, Rocky, CentOS, RHEL)

Sisteme root olarak giriş yapın ve komutları çalıştırın.

Bir bağlama noktası (mount point) oluşturun:

mkdir -p /mnt/cdrom

Guest-tools ISO'sunu bağlayın (mount):

mount /dev/sr0 /mnt/cdrom

Eğer /dev/sr0 çalışmazsa, alternatif seçenekleri deneyin:

mount /dev/cdrom /mnt/cdrom

veya

mount /dev/xvdd /mnt/cdrom

İçeriği kontrol edin:

ls -la /mnt/cdrom/Linux/

Dizine gidin:

cd /mnt/cdrom/Linux

Kurulumu çalıştırın:

bash install.sh

Örnek çıktı:

Detected 'AlmaLinux release 9.7 (Moss Jungle Cat)' (almalinux version 9).

The following changes will be made to this Virtual Machine:
 * update arp_notify sysctl
 * packages to be installed/upgraded:
   - xe-guest-utilities-7.30.0-12.x86_64.rpm

Continue? [y/n] y

y tuşuna basın ve kurulumun tamamlanmasını bekleyin.

Not

Kurulum %100'de 30-60 saniye boyunca takılabilir - bu normaldir. Eğer 2 dakikadan fazla takılırsa Ctrl+C tuşlarına basın ve sonucu kontrol edin.

Kurulumu doğrulayın:

rpm -qa | grep xe-guest
Şuna benzer bir çıktı vermelidir:
xe-guest-utilities-7.30.0-12.legacy.x86_64

init.d betiğini kontrol edin:

ls /etc/init.d/ | grep xe

Şunu göstermelidir:

xe-linux-distribution

AlmaLinux 9 / RHEL 9 / Rocky 9 İçin Önemli:

modern dağıtımlarda systemd sorunu

install.sh betiği sadece init.d betiğini kurar, ancak bir systemd unit dosyası oluşturmaz. Bu, systemctl status xe-linux-distribution ve chkconfig komutlarının çalışmayacağı anlamına gelir.

Belirtiler:

systemctl status xe-linux-distribution
Unit xe-linux-distribution.service could not be found.

chkconfig xe-linux-distribution on
bash: chkconfig: command not found...

Çözüm: Systemd unit dosyasını manuel olarak oluşturun. Dosya oluşturma örneği:

cat > /etc/systemd/system/xe-linux-distribution.service << 'EOF'
[Unit]
Description=XCP-ng Guest Utilities
After=network.target

[Service]
Type=oneshot
ExecStart=/etc/init.d/xe-linux-distribution start
ExecStop=/etc/init.d/xe-linux-distribution stop
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
EOF
Servisi etkinleştirin ve başlatın:

systemctl daemon-reload
systemctl enable xe-linux-distribution
systemctl start xe-linux-distribution

Servis durumunu kontrol edin:

systemctl status xe-linux-distribution

ISO'yu ayırın (unmount):

cd ~
umount /mnt/cdrom

Değişiklikleri uygulamak için sistemi yeniden başlatın:

reboot

Linux İçin (Debian tabanlı: Ubuntu, Debian)

Sisteme root olarak giriş yapın veya sudo kullanın.

Bir bağlama noktası oluşturun:

sudo mkdir -p /mnt/cdrom

Guest-tools ISO'sunu bağlayın (mount):

sudo mount /dev/sr0 /mnt/cdrom

Dizine gidin:

cd /mnt/cdrom/Linux

Kurulumu çalıştırın:

sudo bash install.sh

Kurulumu doğrulayın:

dpkg -l | grep xe-guest

Servis durumunu kontrol edin:

sudo systemctl status xe-linux-distribution

ISO'yu ayırın (unmount):

cd ~
sudo umount /mnt/cdrom

Sistemi yeniden başlatın:

sudo reboot

Linux İçin Alternatif Yöntem: Depo (Repository) Üzerinden Kurulum

ISO bağlama (mount) çalışmazsa veya Guest Tools'u paket yöneticisi üzerinden kurmak isterseniz.

RHEL tabanlı (AlmaLinux, Rocky, CentOS) sistemler için EPEL deposunu kurun:

sudo dnf install -y epel-release

xe-guest-utilities paketini kurun:

sudo dnf install -y xe-guest-utilities

Servisi etkinleştirin:

sudo systemctl enable xe-linux-distribution

Servisi başlatın:

sudo systemctl start xe-linux-distribution

Durumu kontrol edin:

sudo systemctl status xe-linux-distribution

Not

Depo üzerinden kurulum, VM içinde aktif bir internet bağlantısı gerektirir.

Adım 5: Guest Tools Çalışma Durumunu Doğrulama

Yeniden başlatma ve Guest Tools kurulumundan sonra, çalıştıklarını doğrulayın.

Konuk işletim sisteminde (Linux) servis durumunu kontrol edin:

systemctl status xe-linux-distribution

Veya init.d üzerinden:

/etc/init.d/xe-linux-distribution status

Doğru çıktı örneği:

os_distro="almalinux"
os_majorver="9"
os_minorver="7"
os_uname="5.14.0-611.5.1.el9_7.x86_64"
os_name="AlmaLinux release 9.7 (Moss Jungle Cat)"

XCP-ng hostunda ağ bilgilerini kontrol edin:

xe vm-param-get uuid=<UUID_VM> param-name=networks

PV sürücü durumunu kontrol edin:

xe vm-param-get uuid=<UUID_VM> param-name=PV-drivers-version

Genel VM bilgilerini alın:

xe vm-param-list uuid=<UUID_VM> | grep -E "PV-drivers|networks"
XO Lite arayüzünde

xe-linux-distribution servisi başlatıldıktan sonra, VM Dashboard (10-30 saniye içinde güncellenir) şunları göstermelidir:

  • IP address: VM IP adresi;
  • Guest tools: kurulu Guest Tools sürümü (örneğin 7.30.0-12);
  • OS name: algılanan işletim sistemi (örneğin AlmaLinux release 9.7):

Sanal Makine Yönetimi

VMS sekmesi, yönetim yeteneklerine sahip tüm sanal makinelerin bir listesini görüntüler:

Mevcut eylemler:

  • Change state: VM'i başlat, durdur, yeniden başlat;
  • Migrate: VM'i başka bir hosta taşı;
  • Copy: Sanal makinenin bir kopyasını oluştur;
  • Edit config: VM yapılandırmasını düzenle;
  • Snapshot: Durum görüntüsü (snapshot) oluştur;
  • Export: VM'yi bir dosyaya aktar;
  • Delete: Sanal makineyi sil.

Depolama, ISO ve Ağlar ile Çalışma

Depolama Depolarını (SR) Yönetme

Tüm depolamayı görüntüleme:

Tüm SR'ları listeleyin

xe sr-list
Belirli bir SR hakkında ayrıntılı bilgi

xe sr-param-list uuid=<UUID_SR>
Disk alanı kullanımını görüntüleme

xe sr-list params=name-label,physical-size,physical-utilisation,uuid

ISO Depolaması ile Çalışma:

ISO SR'sini bulun

xe sr-list content-type=iso
ISO SR yolunu alın

xe pbd-list sr-uuid=<UUID_SR>
ISO dizinine gidin (genellikle /opt/xensource/packages/iso)

cd /opt/xensource/packages/iso
Mevcut ISO'ları görüntüleyin

ls -lh
İnternetten ISO indirin

wget https://example.com/os.iso
Yerel bilgisayardan ISO yükleyin

scp /path/to/file.iso root@<server_IP>:/opt/xensource/packages/iso/

Dikkat

ISO ekledikten sonra SR'yi yeniden taramanız (rescan) gerekir

xe sr-scan uuid=<UUID_SR>
ISO'nun göründüğünü doğrulayın

xe vdi-list sr-uuid=<UUID_SR>

Yerel Depolama Yönetimi

Sanal diskleri (VDI) görüntüleyin:

xe vdi-list sr-uuid=

Boş alanı kontrol edin:

df -h

Snapshot listesini görüntüleyin:

xe snapshot-list | grep snapshot

Snapshot silin:

xe snapshot-uninstall snapshot-uuid=

Ağ Yönetimi

Tüm ağları görüntüleyin:

xe network-list

Ayrıntılı ağ bilgisi:

xe network-param-list uuid=

Fiziksel arayüzleri (PIF) görüntüleyin:

xe pif-list

Belirli bir PIF ayrıntıları:

xe pif-param-list uuid=

Host IP adresini kontrol edin:

ip addr show

Dahili ağ oluşturun:

xe network-create name-label="Internal Network" name-description="Private VM network"

VLAN ağı oluşturun:

xe network-create name-label="VLAN100" name-description="VLAN 100" vlan=100 pif-uuid=

VM ağ arayüzlerini görüntüleyin:

xe vif-list vm-uuid=

VM için yeni bir ağ arayüzü oluşturun:

xe vif-create vm-uuid= network-uuid= device=0

Temel CLI Komutları

Sanal Makine Yönetimi

Tüm VM'leri listeleyin:

xe vm-list

Sadece çalışan VM'ler:

xe vm-list power-state=running

Ayrıntılı VM bilgisi:

xe vm-param-list uuid=<UUID_VM>

VM başlat:

xe vm-start uuid=<UUID_VM>

VM kapat (shutdown):

xe vm-shutdown uuid=<UUID_VM>

VM yeniden başlat:

xe vm-reboot uuid=<UUID_VM>

VM askıya al (suspend):

xe vm-suspend uuid=<UUID_VM>

VM'u zorla kapat:

xe vm-shutdown uuid=<UUID_VM> force=true

Snapshot oluştur:

xe vm-snapshot uuid=<UUID_VM> new-name-label="backup-$(date +%Y%m%d)"

Snapshotları listeleyin:

xe snapshot-list

Snapshot'tan geri yükle:

xe snapshot-revert snapshot-uuid=<UUID_snapshot>

Snapshot'ı sil:

xe snapshot-uninstall snapshot-uuid=<UUID_snapshot>

VM dışa aktar (export):

xe vm-export uuid=<UUID_VM> filename=/path/to/backup.xva

VM içe aktar (import):

xe vm-import filename=/path/to/backup.xva

İzleme ve Tanılama

Host bilgisi:

xe host-list params=all

Süreç izleme:

top

Gelişmiş süreç izleme:

htop

Bellek kullanımını kontrol edin:

free -h

Host boş belleği:

xe host-param-get uuid=<UUID_host> param-name=memory-free

Sanal makineler bazında CPU kullanımı:

xe vm-list params=name-label,power-state,VCPUs-utilisation

Ana XCP-ng günlüğünü görüntüleyin:

tail -f /var/log/xensource.log

Sistem günlükleri:

journalctl -xe

Sistem mesajlarını görüntüleyin:

tail -f /var/log/messages

Xen günlükleri:

xl dmesg

Hata raporu oluştur (tüm tanılama bilgilerini içerir):

xen-bugtool -y

Rapor Konumu

Sonuç /var/opt/xen/bug-report/ dizinine kaydedilecektir.

ISO İmajlarını ve CD Sürücülerini Yönetme

Mevcut ISO imajlarını listeleyin:

xe cd-list

SR içindeki ISO hakkında ayrıntılı bilgi:

xe vdi-list sr-uuid= content-type=iso

ISO'yu VM'e takın:

xe vm-cd-insert uuid= cd-name=".iso"

ISO'yu VM'den çıkarın:

xe vm-cd-eject uuid=

VM'e bağlı CD/ISO'yu kontrol edin:

xe vbd-list vm-uuid= type=CD

Host üzerindeki ISO dizinine gidin:

cd /opt/xensource/packages/iso

İnternetten ISO indirin:

wget https://example.com/os.iso

ISO yüklendikten sonra SR'yi yeniden tarayın:

xe sr-scan uuid=

Tekrar kontrol edin:

xe cd-list

Guest Tools Durumunu Kontrol Etme

PV sürücü sürümünü kontrol edin:

xe vm-param-get uuid= param-name=PV-drivers-version

PV sürücülerin güncel olup olmadığını kontrol edin:

xe vm-param-get uuid= param-name=PV-drivers-up-to-date

Konuk işletim sistemi bilgisini alın:

xe vm-param-get uuid= param-name=os-version

PV sürücü algılamasını kontrol edin:

xe vm-param-get uuid= param-name=PV-drivers-detected

VM ağ bilgilerini alın:

xe vm-param-get uuid= param-name=networks

Yaygın Sorunlar ve Çözümler

Sorun: VM Emergency/Recovery Modunda Açılıyor

Belirtiler:

"You are in emergency mode" veya "Welcome to emergency mode" mesajı görünür;

Tipik Nedenler:

  • Önyükleme (boot) yapılandırma hataları (Linux için fstab);
  • Dosya sistemi bozulması;
  • Sanallaştırma sorunları;
  • Yanlış VM kapatma.

Linux İçin Çözüm:

Sisteme root şifresiyle giriş yapın (veya devam etmek için Ctrl+D tuşlarına basın).

Sistem günlüklerini kontrol edin:

journalctl -xb | grep -i error

Çekirdek (kernel) mesajlarını kontrol edin:

dmesg | grep -i error

Dosya sistemini kontrol edin:

cat /etc/fstab

Disk kullanımını kontrol edin:

df -h

Blok aygıtlarını kontrol edin:

lsblk

Sorun fstab içindeyse (örneğin eksik swap veya disk), dosyayı düzenleyin:

nano /etc/fstab

Sorunlu satırı başına # ekleyerek yorum satırı yapın. Örnek:

# /dev/mapper/almalinux-swap none swap defaults 0 0

Dosya sistemini kontrol etmeniz gerekiyorsa, önce bölümü ayırın (unmount):

umount /dev/xvda2

Dosya sistemini kontrol edin ve onarın:

fsck -y /dev/xvda2

Sistemi yeniden başlatın:

systemctl reboot

Sorun: GRUB Yüklenmiyor veya Takılıyor

Belirtiler:

  • VM, TianoCore (UEFI) ekranında takılıyor;
  • "Welcome to GRUB" görünüyor ve hiçbir şey olmuyor;
  • BIOS/UEFI sonrası imleçli siyah ekran.

Tipik Nedenler:

  • Yanlış boot order;
  • ISO'nun hala ilk önyükleme aygıtı olarak bağlı olması;
  • GRUB önyükleyicisinin bozulması;
  • UEFI/BIOS uyumsuzluğu.

Çözüm 1: Önyükleme Sırasını Kontrol Edin ve Değiştirin

XCP-ng hostunda mevcut boot order durumunu kontrol edin:

xe vm-param-get uuid=<UUID_VM> param-name=HVM-boot-params

Olası sıralama değerleri: - cdn - HDD ©, CD (d), Network (n) - dcn - CD (d), HDD ©, Network (n) - c - Sadece HDD

İşletim sistemi kurulumu için CD'yi ilk sıraya ayarlayın:

xe vm-param-set uuid=<UUID_VM> HVM-boot-params:order=dcn

İşletim sistemi kurulumundan sonra, sadece HDD'den önyüklemeyi ayarlayın:

xe vm-param-set uuid=<UUID_VM> HVM-boot-params:order=c

ISO hala bağlıysa çıkarın:

xe vm-cd-eject uuid=<UUID_VM>

VM'i yeniden başlatın:

xe vm-reboot uuid=<UUID_VM> --force

Çözüm 2: GRUB Rescue Üzerinden Önyükleme (Linux için)

Eğer GRUB komut satırına düşerseniz (grub> istemi görünürse), şu komutları çalıştırın.

Mevcut bölümleri bulun:

ls
Çıktı şuna benzer olacaktır: (hd0) (hd0,msdos2) (hd0,msdos1)

/boot içeren bölümü bulun (genellikle msdos1 veya gpt1):

ls (hd0,msdos1)/

Önyükleme içeriğini kontrol edin:

ls (hd0,msdos1)/boot/

vmlinuz, initramfs dosyalarını ve grub2 klasörünü görmelisiniz.

BIOS sistemler için şunları çalıştırın:

set root=(hd0,msdos1)
set prefix=(hd0,msdos1)/grub2
insmod normal
normal

UEFI sistemler için şunları çalıştırın:

set root=(hd0,gpt1)
set prefix=(hd0,gpt1)/boot/grub2
insmod normal
normal

Sistem açıldıktan sonra GRUB'u geri yükleyin.

RHEL tabanlı (AlmaLinux, Rocky, CentOS) sistemler için:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

UEFI sistemler için:

sudo grub2-mkconfig -o /boot/efi/EFI/almalinux/grub.cfg

Debian tabanlı (Ubuntu, Debian) sistemler için:

sudo update-grub

Gerekirse GRUB'u yeniden kurun (BIOS için):

sudo grub2-install /dev/xvda

Çözüm 3: UEFI ve BIOS Arasında Geçiş Yapma

Sorunlar devam ederse, XCP-ng hostunda mevcut modu kontrol edin:

xe vm-param-get uuid=<UUID_VM> param-name=HVM-boot-params

BIOS moduna geçin (işletim sisteminin yeniden kurulmasını gerektirebilir):

xe vm-param-remove uuid=<UUID_VM> param-name=HVM-boot-params param-key=firmware

Veya açıkça BIOS olarak ayarlayın:

xe vm-param-set uuid=<UUID_VM> HVM-boot-params:firmware=bios

Sorun: Kurulumdan Sonra Ağ Çalışmıyor

Belirtiler:

  • VM IP adresi alamıyor;
  • Ağ arayüzü "disconnected" veya "no carrier" gösteriyor;
  • Ping çalışmıyor;
  • IP adresi XCP-ng arayüzünde görüntülenmiyor;

Tipik Nedenler:

  • Guest Tools kurulu değil (ana neden);
  • VM içinde yanlış ağ yapılandırması;
  • Sanal ağ adaptörü sorunları;
  • Bağlantıyı engelleyen güvenlik duvarı (firewall).

Çözüm:

  1. Guest Tools'u Kurun (yukarıdaki bölüme bakın) - bu, ağ sorunlarının %90'ını çözecektir.

  2. Konuk işletim sistemında ağ arayüzü durumunu kontrol edin

    Linux için arayüz durumunu kontrol edin:

    ip link show
    

    IP adreslerini kontrol edin:

    ip addr show
    

    NetworkManager olan sistemler için:

    nmcli device status
    

    Bağlantıları kontrol edin:

    nmcli connection show
    

    systemd-networkd olan sistemler için:

    networkctl status
    

    Yönlendirmeyi (routing) kontrol edin:

    ip route show
    

  3. Arayüzü etkinleştirin ve yapılandırın

    NetworkManager olan RHEL tabanlı sistemlerde arayüzü etkinleştirin:

    sudo nmcli device set eth0 managed yes
    

    Bağlantıyı başlatın:

    sudo nmcli connection up eth0
    

    Veya NetworkManager'ı yeniden başlatın:

    sudo systemctl restart NetworkManager
    

    Debian tabanlı sistemlerde yapılandırmayı kontrol edin (Ubuntu 18.04+):

    cat /etc/netplan/00-installer-config.yaml
    

    Debian/eski Ubuntu için:

    cat /etc/network/interfaces
    

    Arayüzü etkinleştirin:

    sudo ip link set eth0 up
    

    DHCP üzerinden IP isteyin:

    sudo dhclient eth0
    

  4. XCP-ng ayarlarını kontrol edin

    XCP-ng hostunda VM sanal ağ arayüzlerini kontrol edin:

    xe vif-list vm-uuid=<UUID_VM>
    

    Mevcut ağları kontrol edin:

    xe network-list
    

    Eğer VIF eksikse veya yanlışsa, ağ UUID'sini alın:

    xe network-list name-label="Pool-wide network associated with eth0"
    

    Yeni bir VIF oluşturun:

    xe vif-create vm-uuid=<UUID_VM> network-uuid=<UUID_NETWORK> device=0
    

  5. Güvenlik duvarını (firewall) kontrol edin

    Linux (firewalld) için durumu kontrol edin:

    sudo systemctl status firewalld
    

    Test için geçici olarak devre dışı bırakın:

    sudo systemctl stop firewalld
    

    Linux (iptables) için kuralları kontrol edin:

    sudo iptables -L -n
    

    Test için kuralları geçici olarak temizleyin:

    sudo iptables -F
    

Sorun: Çok Yavaş İşletim Sistemi Kurulumu

Belirtiler:

  • Kurulum 15-30 dakika yerine birkaç saat sürüyor;
  • Paket kopyalama çok yavaş;
  • VM, "Installing packages" veya "Configuring" aşamasında takılıyor.

Tipik Nedenler:

  • Yavaş host disk alt sistemi (SSD yerine HDD);
  • Aşırı yüklenmiş Depolama Deposu (Storage Repository);
  • Yetersiz VM kaynakları (CPU, RAM);
  • Host performans sorunları.

Çözümler:

  1. Linux için Minimal Install kullanın:

    • Minimal, 1000-1500 (GUI'li Sunucu) yerine ~400-600 paket içerir;
    • Kurulum saatler yerine 5-10 dakika sürer;
    • Üretim sunucuları için GUI genellikle gerekli değildir;
    • İhtiyaç duyulan paketleri kurulumdan sonra yükleyebilirsiniz.
  2. VM kaynaklarını geçici olarak artırın

    XCP-ng hostunda (başlatmadan önce veya kurulum sırasında) RAM miktarını artırın:

    xe vm-param-set uuid=<UUID_VM> memory-static-max=8GiB memory-dynamic-max=8GiB
    

    vCPU sayısını artırın:

    xe vm-param-set uuid=<UUID_VM> VCPUs-max=4 VCPUs-at-startup=4
    

  3. Disk performansını kontrol edin

    XCP-ng hostunda I/O durumunu kontrol edin:

    iostat -x 1
    

    Disk yükunu kontrol edin:

    iotop
    

    SR durumunu kontrol edin:

    xe sr-list
    

    SR ayrıntılarını alın:

    xe sr-param-list uuid=<UUID_SR>
    

  4. Daha hızlı depolama kullanın:

    • Birden fazla SR mevcutsa, SSD tabanlı depolama kullanın;
    • Başka bir SR'ye taşımayı (migrate) düşünin.

Sorun: ISO Bağlanamıyor

Belirtiler:

  • "The VM has no empty CD drive (VBD)" hatası;
  • "No matching VMs found" hatası;
  • ISO, mevcut listede görünmüyor.

Çözüm 1: VM'de boş CD sürücüsü yok

Mevcut VBD'leri (Sanal Blok Aygıtları) kontrol edin:

xe vbd-list vm-uuid=<UUID_VM>

Eğer CD sürücüsü başka bir ISO tarafından işgal edilmişse, onu çıkarın:

xe vm-cd-eject uuid=<UUID_VM>

Şimdi gerekli ISO'yu takın:

xe vm-cd-insert uuid=<UUID_VM> cd-name="guest-tools.iso"

Eğer CD sürücüsü tamamen yoksa, önce gerekli ISO UUID'sini bulun:

xe cd-list name-label="guest-tools.iso"

Manuel olarak VBD oluşturun:

xe vbd-create vm-uuid=<UUID_VM> vdi-uuid=<UUID_ISO> device=3 bootable=false mode=RO type=CD

Çözüm 2: No matching VMs found

Sorun: VM yerine Control Domain UUID'si kullanılması.

VM listesini doğru şekilde kontrol edin (Control Domain hariç):

xe vm-list is-control-domain=false

Doğru UUID kullandığınızdan emin olun:

xe vm-param-list uuid=<UUID_VM> | grep "is-control-domain"

Şöyle olmalıdır: is-control-domain ( RO): false

Çözüm 3: ISO listede görünmüyor

ISO'nun yüklendiğinden emin olun:

xe cd-list

ISO listede değilse, ISO için SR'yi bulun:

xe sr-list content-type=iso

ISO dizinine gidin:

cd /opt/xensource/packages/iso

Dosyanın varlığını kontrol edin:

ls -lh

Dosya eksikse, internetten indirin:

wget https://example.com/your-iso.iso

Veya yerel bilgisayardan (kendi bilgisayarınızda çalıştırın):

scp /local/path/file.iso root@<IP-host>:/opt/xensource/packages/iso/

SR'yi yeniden tarayın:

xe sr-scan uuid=<UUID_SR>

Tekrar kontrol edin:

xe cd-list

Sorun: VM Düzgün Kapanmıyor

Belirtiler:

  • xe vm-shutdown çalışmıyor veya takılıyor
  • VM sadece --force ile kapatılabiliyor
  • Günlüklerde zaman aşımı (timeout) hataları

Nedenler:

  • Guest Tools kurulu değil veya çalışmıyor
  • İşletim sistemi ACPI olaylarına yanıt vermiyor
  • Konuk işletim sisteminde takılı kalan süreçler

Çözüm:

  1. Guest Tools'u kurun/kontrol edin (ana neden)

  2. Guest Tools durumunu kontrol edin

    XCP-ng hostunda PV sürücü sürümünü kontrol edin:

    xe vm-param-get uuid=<UUID_VM> param-name=PV-drivers-version
    

    Sürücü güncelliğini kontrol edin:

    xe vm-param-get uuid=<UUID_VM> param-name=PV-drivers-up-to-date
    

  3. Doğru kapatma komutlarını kullanın

    Yumuşak kapatma (Guest Tools gerektirir):

    xe vm-shutdown uuid=<UUID_VM>
    

    Zorla kapatma (Güç düğmesine basmaya eşdeğerdir):

    xe vm-shutdown uuid=<UUID_VM> --force
    

Sert kapatma (Güç kablosunu çekmeye eşdeğerdir, yalnızca son çare olarak kullanın):

xe vm-destroy uuid=<UUID_VM>

Genel Tanılama İpuçları

Sorunlar oluştuğunda her zaman günlükleri (log) kontrol edin.

Konuk işletim sisteminde (Linux) son olayları kontrol edin:

journalctl -xe

Çekirdek mesajlarını kontrol edin:

dmesg | tail -50

Sistem günlüğünü görüntüleyin (RHEL tabanlı):

tail -f /var/log/messages

Sistem günlüğünü görüntüleyin (Debian tabanlı):

tail -f /var/log/syslog

XCP-ng hostunda ana günlüğü görüntüleyin:

tail -f /var/log/xensource.log

Xen hypervisor mesajlarını kontrol edin:

xl dmesg

Sistem olaylarını kontrol edin:

journalctl -xe

Tanılama raporu oluşturma (XCP-ng hostunda):

xen-bugtool -y

Sonuç /var/opt/xen/bug-report/ dizinine kaydedilecektir.

Not

XCP-ng yapılandırması ve yönetimi hakkında ayrıntılı bilgi resmi dokümanda mevcuttur.

Not

XCP-ng Forum - yardım almak için topluluk forumu.

API ile XCP-ng Sunucusu Sipariş Etme

API kullanarak RouterOS yüklü bir sunucu kurmak için bu talimatları izleyin.