انتقل إلى المحتوى الرئيسي انتقل إلى الملاحة انتقل إلى التذييل

الأجهزة الافتراضية التجريبية

إنشاء مجموعات أجهزة افتراضية محلية للتطوير والاختبار باستخدام rdc ops.

الأجهزة الافتراضية التجريبية

أنشئ مجموعات أجهزة افتراضية محلية على محطة عملك للتطوير والاختبار, دون الحاجة إلى مزوّدي سحابة خارجيين.

المتطلبات

يتطلب rdc ops المحوّل المحلي. غير متاح مع محوّل السحابة.

rdc ops check

نظرة عامة

تتيح لك أوامر rdc ops إنشاء وإدارة مجموعات VM التجريبية محلياً. هذه هي نفس البنية التحتية المستخدمة بواسطة خط أنابيب CI لاختبارات التكامل، وهي متاحة الآن للتجربة العملية.

حالات الاستخدام:

  • اختبار نشر Rediacc بدون مزوّدي VM خارجيين (Linode، Vultr، إلخ.)
  • تطوير تكوينات المستودعات وتصحيح أخطائها محلياً
  • تعلّم المنصة في بيئة معزولة تماماً
  • تشغيل اختبارات التكامل على محطة عملك

دعم المنصات

المنصةالمعماريةالخلفيةالحالة
Linuxx86_64KVM (libvirt)مختبر في CI
macOSIntelQEMU + HVFمختبر في CI
LinuxARM64KVM (libvirt)مدعوم (غير مختبر في CI)
macOSARM (Apple Silicon)QEMU + HVFمدعوم (غير مختبر في CI)
Windowsx86_64 / ARM64Hyper-Vمخطط

Linux (KVM) يستخدم libvirt للمحاكاة الافتراضية للأجهزة الأصلية مع الشبكات الجسرية.

macOS (QEMU) يستخدم QEMU مع إطار عمل Hypervisor (HVF) من Apple للحصول على أداء شبه أصلي، مع شبكات وضع المستخدم وإعادة توجيه منافذ SSH.

Windows (Hyper-V) الدعم مخطط. راجع issue #380 للتفاصيل. يتطلب Windows Pro/Enterprise.

المتطلبات الأساسية والإعداد

Linux

# تثبيت المتطلبات الأساسية تلقائياً
rdc ops setup

# أو يدوياً:
sudo apt install libvirt-daemon-system virtinst qemu-utils cloud-image-utils docker.io
sudo systemctl enable --now libvirtd

macOS

# تثبيت المتطلبات الأساسية تلقائياً
rdc ops setup

# أو يدوياً:
brew install qemu cdrtools

التحقق من الإعداد

rdc ops check

يُشغّل هذا الأمر فحوصات خاصة بالمنصة ويُبلّغ عن نجاح/فشل كل متطلب أساسي.

البدء السريع

# 1. التحقق من المتطلبات الأساسية
rdc ops check

# 2. تجهيز مجموعة بسيطة (جسر + عامل واحد)
rdc ops up --basic

# 3. التحقق من حالة VM
rdc ops status

# 4. الاتصال بـ VM الجسر عبر SSH
rdc ops ssh --vm-id 1

# 4b. أو تشغيل أمر مباشرة
rdc ops ssh --vm-id 1 -c hostname

# 5. إيقاف التشغيل
rdc ops down

تكوين المجموعة

بشكل افتراضي، يُجهّز rdc ops up:

VMالمعرّفالدور
Bridge1العقدة الأساسية, تشغّل خدمة Rediacc bridge
Worker 111عقدة عاملة لنشر المستودعات
Worker 212عقدة عاملة لنشر المستودعات

استخدم خيار --basic لتجهيز الجسر والعامل الأول فقط (المعرّفان 1 و 11).

استخدم --skip-orchestration لتجهيز الأجهزة الافتراضية بدون بدء خدمات Rediacc, مفيد لاختبار طبقة VM بمعزل.

الإعداد

يستخدم VM الجسر إعدادات افتراضية أصغر من VMs العاملة:

دور VMوحدات المعالجذاكرة الوصول العشوائيالقرص
Bridge11024 MB8 GB
Worker24096 MB16 GB

تتجاوز متغيرات البيئة موارد VM العاملة:

المتغيرالافتراضيالوصف
VM_CPU2أنوية المعالج لكل VM عاملة
VM_RAM4096ذاكرة الوصول العشوائي بالميغابايت لكل VM عاملة
VM_DSK16حجم القرص بالغيغابايت لكل VM عاملة
VM_NET_BASE192.168.111قاعدة الشبكة (KVM فقط)
RENET_DATA_DIR~/.renetمجلد البيانات لأقراص VM والإعداد

مرجع الأوامر

الأمرالوصف
rdc ops setupتثبيت متطلبات المنصة الأساسية (KVM أو QEMU)
rdc ops checkالتحقق من تثبيت المتطلبات الأساسية وعملها
rdc ops up [options]تجهيز مجموعة VM
rdc ops downتدمير جميع VMs وتنظيف الموارد
rdc ops statusعرض حالة جميع VMs
rdc ops ssh <vm-id> [command...]الاتصال بـ VM عبر SSH، أو تشغيل أمر عليها

خيارات rdc ops up

الخيارالوصف
--basicمجموعة بسيطة (جسر + عامل واحد)
--liteتخطي تجهيز VM (مفاتيح SSH فقط)
--forceفرض إعادة إنشاء الأجهزة الافتراضية الموجودة
--parallelتجهيز VMs بالتوازي
--skip-orchestrationVMs فقط، بدون خدمات Rediacc
--backend <kvm|qemu>تجاوز الخلفية المكتشفة تلقائياً
--os <name>صورة نظام التشغيل (الافتراضي: ubuntu-24.04)
--debugمخرجات مفصّلة

الفروق بين المنصات

Linux (KVM)

  • يستخدم libvirt لإدارة دورة حياة VM
  • شبكات جسرية, تحصل VMs على عناوين IP على شبكة افتراضية (192.168.111.x)
  • اتصال SSH مباشر بعناوين IP للـ VM
  • يتطلب /dev/kvm وخدمة libvirtd

macOS (QEMU + HVF)

  • يستخدم عمليات QEMU تُدار عبر ملفات PID
  • شبكات وضع المستخدم مع إعادة توجيه منافذ SSH (localhost:222XX)
  • SSH عبر المنافذ المُعاد توجيهها، وليس عناوين IP المباشرة
  • إنشاء ISOs لـ Cloud-init عبر mkisofs

استكشاف الأخطاء وإصلاحها

وضع التصحيح

أضف --debug إلى أي أمر للحصول على مخرجات مفصّلة:

rdc ops up --basic --debug

المشاكل الشائعة

KVM غير متاح (Linux)

  • تحقق من وجود /dev/kvm: ls -la /dev/kvm
  • فعّل المحاكاة الافتراضية في BIOS/UEFI
  • حمّل وحدة النواة: sudo modprobe kvm_intel أو sudo modprobe kvm_amd

libvirtd لا يعمل (Linux)

sudo systemctl enable --now libvirtd

QEMU غير موجود (macOS)

brew install qemu cdrtools

VMs لا تبدأ

  • تحقق من مساحة القرص في ~/.renet/disks/
  • شغّل rdc ops check للتحقق من جميع المتطلبات الأساسية
  • جرّب rdc ops down ثم rdc ops up --force