Deneysel VM’ler
İş istasyonunuzda geliştirme ve test için yerel VM kümeleri oluşturun, harici bulut sağlayıcılarına gerek yok.
Gereksinimler
rdc ops yerel adaptör gerektirir. Bulut adaptörüyle kullanılamaz.
rdc ops check
Genel Bakış
rdc ops komutları, deneysel VM kümelerini yerel olarak oluşturmanıza ve yönetmenize olanak tanır. Bu, CI hattı tarafından entegrasyon testleri için kullanılan altyapının aynısıdır ve artık uygulamalı deneyler için kullanılabilir.
Kullanım senaryoları:
- Harici VM sağlayıcıları olmadan Rediacc dağıtımlarını test edin (Linode, Vultr, vb.)
- Depo yapılandırmalarını yerel olarak geliştirin ve hata ayıklayın
- Tamamen izole bir ortamda platformu öğrenin
- İş istasyonunuzda entegrasyon testleri çalıştırın
Platform Desteği
| Platform | Mimari | Arka Uç | Durum |
|---|---|---|---|
| Linux | x86_64 | KVM (libvirt) | CI’da test edildi |
| macOS | Intel | QEMU + HVF | CI’da test edildi |
| Linux | ARM64 | KVM (libvirt) | Destekleniyor (CI testi yok) |
| macOS | ARM (Apple Silicon) | QEMU + HVF | Destekleniyor (CI testi yok) |
| Windows | x86_64 / ARM64 | Hyper-V | Planlandı |
Linux (KVM), köprülü ağ ile yerel donanım sanallaştırması için libvirt kullanır.
macOS (QEMU), kullanıcı modu ağ ve SSH port yönlendirmesiyle neredeyse yerel performans için Apple’ın Hypervisor Framework (HVF) ile QEMU kullanır.
Windows (Hyper-V) desteği planlanmaktadır. Ayrıntılar için issue #380 sayfasına bakın. Windows Pro/Enterprise gerektirir.
Ön Koşullar ve Kurulum
Linux
# Ön koşulları otomatik kur
rdc ops setup
# Veya manuel olarak:
sudo apt install libvirt-daemon-system virtinst qemu-utils cloud-image-utils docker.io
sudo systemctl enable --now libvirtd
macOS
# Ön koşulları otomatik kur
rdc ops setup
# Veya manuel olarak:
brew install qemu cdrtools
Kurulumu Doğrulama
rdc ops check
Bu komut platforma özgü kontroller çalıştırır ve her ön koşul için başarı/başarısızlık raporlar.
Hızlı Başlangıç
# 1. Ön koşulları kontrol et
rdc ops check
# 2. Minimal küme hazırla (köprü + 1 çalışan)
rdc ops up --basic
# 3. VM durumunu kontrol et
rdc ops status
# 4. Köprü VM'ye SSH ile bağlan
rdc ops ssh --vm-id 1
# 4b. Veya doğrudan bir komut çalıştır
rdc ops ssh --vm-id 1 -c hostname
# 5. Kapat
rdc ops down
Küme Bileşimi
Varsayılan olarak rdc ops up şunları hazırlar:
| VM | Kimlik | Rol |
|---|---|---|
| Köprü | 1 | Birincil düğüm, Rediacc köprü servisini çalıştırır |
| Çalışan 1 | 11 | Depo dağıtımları için çalışan düğüm |
| Çalışan 2 | 12 | Depo dağıtımları için çalışan düğüm |
Yalnızca köprüyü ve ilk çalışanı hazırlamak için --basic bayrağını kullanın (kimlik 1 ve 11).
Rediacc servislerini başlatmadan VM’leri hazırlamak için --skip-orchestration kullanın, VM katmanını izole test etmek için kullanışlıdır.
Yapılandırma
Köprü VM, çalışan VM’lerden daha küçük varsayılanlar kullanır:
| VM Rolü | CPU | RAM | Disk |
|---|---|---|---|
| Köprü | 1 | 1024 MB | 8 GB |
| Çalışan | 2 | 4096 MB | 16 GB |
Ortam değişkenleri çalışan VM kaynaklarını geçersiz kılar:
| Değişken | Varsayılan | Açıklama |
|---|---|---|
VM_CPU | 2 | Çalışan VM başına CPU çekirdeği |
VM_RAM | 4096 | Çalışan VM başına MB cinsinden RAM |
VM_DSK | 16 | Çalışan VM başına GB cinsinden disk boyutu |
VM_NET_BASE | 192.168.111 | Ağ tabanı (yalnızca KVM) |
RENET_DATA_DIR | ~/.renet | VM diskleri ve yapılandırma için veri dizini |
Komut Referansı
| Komut | Açıklama |
|---|---|
rdc ops setup | Platform ön koşullarını kur (KVM veya QEMU) |
rdc ops check | Ön koşulların kurulu ve çalışır durumda olduğunu doğrula |
rdc ops up [seçenekler] | VM kümesi hazırla |
rdc ops down | Tüm VM’leri yok et ve temizle |
rdc ops status | Tüm VM’lerin durumunu göster |
rdc ops ssh <vm-id> [komut...] | Bir VM’ye SSH ile bağlan veya üzerinde komut çalıştır |
rdc ops up Seçenekleri
| Seçenek | Açıklama |
|---|---|
--basic | Minimal küme (köprü + 1 çalışan) |
--lite | VM hazırlamayı atla (yalnızca SSH anahtarları) |
--force | Mevcut VM’leri yeniden oluşturmaya zorla |
--parallel | VM’leri paralel olarak hazırla |
--skip-orchestration | Yalnızca VM’ler, Rediacc servisleri yok |
--backend <kvm|qemu> | Otomatik algılanan arka ucu geçersiz kıl |
--os <ad> | İşletim sistemi imajı (varsayılan: ubuntu-24.04) |
--debug | Ayrıntılı çıktı |
Platform Farklılıkları
Linux (KVM)
- VM yaşam döngüsü yönetimi için libvirt kullanır
- Köprülü ağ, VM’ler sanal ağda IP alır (192.168.111.x)
- VM IP’lerine doğrudan SSH
/dev/kvmve libvirtd servisi gerektirir
macOS (QEMU + HVF)
- PID dosyaları aracılığıyla yönetilen QEMU süreçleri kullanır
- SSH port yönlendirmeli kullanıcı modu ağ (localhost:222XX)
- Doğrudan IP değil, yönlendirilen portlar üzerinden SSH
mkisofsile oluşturulan Cloud-init ISO’ları
Sorun Giderme
Hata ayıklama modu
Ayrıntılı çıktı için herhangi bir komuta --debug ekleyin:
rdc ops up --basic --debug
Yaygın sorunlar
KVM mevcut değil (Linux)
/dev/kvmdosyasının var olduğunu kontrol edin:ls -la /dev/kvm- BIOS/UEFI’de sanallaştırmayı etkinleştirin
- Çekirdek modülünü yükleyin:
sudo modprobe kvm_intelveyasudo modprobe kvm_amd
libvirtd çalışmıyor (Linux)
sudo systemctl enable --now libvirtd
QEMU bulunamadı (macOS)
brew install qemu cdrtools
VM’ler başlamıyor
~/.renet/disks/dizinindeki disk alanını kontrol edin- Tüm ön koşulları doğrulamak için
rdc ops checkçalıştırın rdc ops downardındanrdc ops up --forcedeneyin