Ana içeriğe atla Navigasyona atla Alt bilgiye atla

Deneysel VM'ler

rdc ops ile geliştirme ve test için yerel VM kümeleri oluşturma.

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

PlatformMimariArka UçDurum
Linuxx86_64KVM (libvirt)CI’da test edildi
macOSIntelQEMU + HVFCI’da test edildi
LinuxARM64KVM (libvirt)Destekleniyor (CI testi yok)
macOSARM (Apple Silicon)QEMU + HVFDestekleniyor (CI testi yok)
Windowsx86_64 / ARM64Hyper-VPlanlandı

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:

VMKimlikRol
Köprü1Birincil düğüm, Rediacc köprü servisini çalıştırır
Çalışan 111Depo dağıtımları için çalışan düğüm
Çalışan 212Depo 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üCPURAMDisk
Köprü11024 MB8 GB
Çalışan24096 MB16 GB

Ortam değişkenleri çalışan VM kaynaklarını geçersiz kılar:

DeğişkenVarsayılanAçıklama
VM_CPU2Çalışan VM başına CPU çekirdeği
VM_RAM4096Çalışan VM başına MB cinsinden RAM
VM_DSK16Çalışan VM başına GB cinsinden disk boyutu
VM_NET_BASE192.168.111Ağ tabanı (yalnızca KVM)
RENET_DATA_DIR~/.renetVM diskleri ve yapılandırma için veri dizini

Komut Referansı

KomutAçıklama
rdc ops setupPlatform ö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 downTüm VM’leri yok et ve temizle
rdc ops statusTü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çenekAçıklama
--basicMinimal küme (köprü + 1 çalışan)
--liteVM hazırlamayı atla (yalnızca SSH anahtarları)
--forceMevcut VM’leri yeniden oluşturmaya zorla
--parallelVM’leri paralel olarak hazırla
--skip-orchestrationYalnı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)
--debugAyrı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/kvm ve 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
  • mkisofs ile 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/kvm dosyası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_intel veya sudo 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 down ardından rdc ops up --force deneyin