İçeriğe geç

Ürün belgeleriSanallaştırma ve VDS

Linux VDS'te libvirt ile KVM sanal makineleri oluşturun

Linux VDS içinde KVM konukları çalıştırın: libvirt'i kurun, NAT ağını başlatın, bulut imajından cloud-init ile Ubuntu sanal makinesi oluşturup SSH ile bağlanın.

  • İleri
  • 30 dk okuma
  • Güncellendi
Bu sayfada
  1. Başlamadan önce
  2. 1. adım: Araçları kurun
  3. 2. adım: Varsayılan ağı başlatın
  4. 3. adım: Bulut imajını indirin
  5. 4. adım: Konuğun diskini oluşturun
  6. 5. adım: Sanal makineyi oluşturun ve başlatın
  7. 6. adım: Konuğa bağlanın
  8. 7. adım: Günlük yönetim
  9. Sorun giderme
  10. Sonraki adımlar

İç içe sanallaştırması olan bir Linux VDS, libvirt ile yönetilen kendi KVM sanal makinelerini çalıştırabilir. Bu; yalıtılmış test ortamları, CI makineleri veya laboratuvarlar için kullanışlıdır. Bu rehber Ubuntu'nun resmi bulut imajından bir Ubuntu konuk oluşturur; cloud-init SSH anahtarınızı ona yerleştirir, böylece tıklanacak bir kurulum yoktur. VDS ve iç içe sanallaştırma rehberindeki kontrol ve paket kurulumunun üzerine kuruludur.

Başlamadan önce

  • kvm-ok komutunun (paket cpu-checker) KVM acceleration can be used yazdığı bir Ubuntu veya Debian VDS, nested dedicated ya da dedicated sunucu.
  • sudo yetkili bir kullanıcı ve kendi bilgisayarınızda bir SSH anahtar çifti; bkz. SSH anahtarları.
  • /var/lib/libvirt/images altında konuklar için boş disk alanı.

1. adım: Araçları kurun

Bash
sudo apt update
sudo apt install qemu-system-x86 qemu-utils libvirt-daemon-system virtinst
sudo usermod -aG libvirt $USER

Grup üyeliğinin uygulanması için oturumu kapatıp yeniden açın.

Doğrulama: virsh list --all izin hatası vermeden çalışır.

2. adım: Varsayılan ağı başlatın

libvirt'in default ağı konuklara 192.168.122.0/24 içinde adres ve internete NAT verir:

Bash
virsh net-list --all
sudo virsh net-start default
sudo virsh net-autostart default

Doğrulama: virsh net-list, default ağını active ve autostart yes olarak gösterir.

3. adım: Bulut imajını indirin

Ubuntu 24.04 bulut imajını ve sağlama toplamı listesini indirin, dosyayı denetleyin:

Bash
cd /var/lib/libvirt/images
sudo wget https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img
sudo wget https://cloud-images.ubuntu.com/noble/current/SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing

Doğrulama: denetim noble-server-cloudimg-amd64.img: OK yazar.

4. adım: Konuğun diskini oluşturun

İmajı yeni konuk için kopyalayın ve büyümesi için yer verin; cloud-init ilk açılışta dosya sistemini büyütür:

Bash
sudo cp noble-server-cloudimg-amd64.img vm1.qcow2
sudo qemu-img resize vm1.qcow2 20G

5. adım: Sanal makineyi oluşturun ve başlatın

libvirt'in Ubuntu 24.04 için bildiği işletim sistemi adını bulun:

Bash
sudo apt install libosinfo-bin
osinfo-query os | grep -i ubuntu24

Konuğu oluşturun, diski içe aktarın ve genel SSH anahtarınızı cloud-init'e verin. Önce genel anahtarınızı sunucuya kopyalayın (örneğin ~/id_ed25519.pub olarak):

Bash
virt-install --name vm1 --memory 2048 --vcpus 2 --disk /var/lib/libvirt/images/vm1.qcow2 --import --osinfo ubuntu24.04 --network network=default --cloud-init clouduser-ssh-key=$HOME/id_ed25519.pub --graphics none --noautoconsole

--import bir kurulum çalıştırmak yerine sanal makineyi mevcut diskin etrafında kurar; clouduser-ssh-key ise imajın varsayılan kullanıcısı ubuntu olarak oturum açmanızı sağlar.

Doğrulama: virsh list, vm1 sanal makinesini running olarak gösterir.

6. adım: Konuğa bağlanın

İlk açılış için bir dakika bekleyin, ardından konuğun adresine bakın ve sunucudan bağlanın:

Bash
virsh domifaddr vm1
ssh ubuntu@192.168.122.50

Kendi bilgisayarınızdan sunucu üzerinden tek komutla atlayın:

Bash
ssh -J siz@203.0.113.10 ubuntu@192.168.122.50

SSH henüz çalışmıyorsa seri konsolu virsh console vm1 ile açın ve Ctrl + ] ile çıkın.

7. adım: Günlük yönetim

Bash
virsh list --all
virsh shutdown vm1
virsh start vm1
virsh autostart vm1

virsh autostart konuğu sunucu her açıldığında başlatır. Bir konuğu ve diskini silmek için virsh destroy vm1 ve virsh undefine vm1 --remove-all-storage çalıştırın.

Sorun giderme

virt-install KVM'nin kullanılamadığını söylüyor veya yavaş emülasyona düşüyor. Sanallaştırma uzantıları görünmüyor; bkz. iç içe sanallaştırma sorunları.

virt-install bir işletim sistemi adının gerektiğini bildiriyor veya adı tanımıyor. Sunucunuzda osinfo-query os komutunun listelediği bir ad kullanın; eski sistemler yalnızca eski Ubuntu sürümlerini bilebilir.

virsh domifaddr hiçbir şey göstermiyor. Konuk hâlâ açılıyor ya da cloud-init ağı henüz yapılandırmadı. Bekleyin veya açılış çıktısını virsh console vm1 ile kontrol edin.

Bağlanırken Permission denied (publickey). clouduser-ssh-key ile verilen dosya genel anahtarınız değildi ya da yanlış kullanıcıyla bağlandınız. Konuğu doğru anahtarla yeniden oluşturun ve ubuntu olarak bağlanın.

Konuğun interneti yok. Varsayılan ağın etkin olduğunu (virsh net-list) ve sunucu güvenlik duvarınızın virbr0 için yönlendirmeye izin verdiğini kontrol edin.

Sonraki adımlar

Sık sorulan sorular

Sanal makineleri yönetmek için grafik masaüstü gerekir mi?

Hayır. virsh ve virt-install SSH üzerinden çalışır. Grafik bir araç tercih ederseniz kendi Linux bilgisayarınızdaki virt-manager sunucuya SSH ile bağlanabilir.

Konuklar internete nasıl çıkar?

libvirt'in varsayılan ağı üzerinden; bu ağ konuklara DHCP ile özel adresler verir ve sunucunun genel adresinin arkasında NAT uygular.

Bir konuğun web hizmetini nasıl herkese açarım?

Sunucuda Caddy veya Nginx gibi bir ters vekil (reverse proxy) çalıştırın ve siteyi konuğun özel adresine yönlendirin. Diğer portlar için sunucudaki güvenlik duvarı kurallarıyla yönlendirme yapın.

Windows konukları çalıştırabilir miyim?

Evet; bir kurulum ISO'sundan virt-install'un --cdrom seçeneği ve SSH tüneli üzerinden VNC gibi grafik bir konsolla. Bu rehberdeki adımlar kurulum gerektirmediği için bir Linux bulut imajı kullanır.

Şifre Oluştur

Lütfen onaylayın