# 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.

Zorluk: İleri

İç 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](/guides/vds-nested-virtualization) 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ı](/guides/ssh-keys).
- `/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ı](/guides/nested-virtualization-problems).

**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

- Çok sayıda konuk için web arayüzü: [Debian 13'e Proxmox VE](/guides/proxmox-ve-on-debian).
- Bir konuğun web sitesini yayınlayın: [Caddy ters vekil](/guides/caddy-reverse-proxy).

## 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.

---

Kaynak: <https://hyperdc.com/tr/guides/products/kvm-virtual-machines-libvirt>\
Son güncelleme: 2026-10-15
