# كيفية توفير أجهزة افتراضية محلية باستخدام Rediacc

اختبار البنية التحتية محليًا قبل النشر في بيئة الإنتاج يوفر الوقت ويمنع الأخطاء في التكوين. في هذا الدرس، ستقوم بتوفير مجموعة أجهزة افتراضية بسيطة على محطة العمل الخاصة بك، والتحقق من الاتصال، وتشغيل الأوامر عبر SSH، وإزالة كل شيء. عند الانتهاء، سيكون لديك بيئة تطوير محلية قابلة للتكرار.

## المتطلبات الأساسية

- محطة عمل Linux أو macOS مع تفعيل المحاكاة الافتراضية للأجهزة
- تثبيت `rdc` CLI وتهيئة التكوين باستخدام المحول المحلي
- تثبيت KVM/libvirt (Linux) أو QEMU (macOS), راجع [الأجهزة الافتراضية التجريبية](/ar/docs/experimental-vms) لتعليمات الإعداد

## التسجيل التفاعلي

![Tutorial: rdc ops provisioning](/assets/tutorials/ops-tutorial.cast)

### الخطوة 1: التحقق من متطلبات النظام

قبل التوفير، تأكد من أن محطة العمل الخاصة بك تدعم المحاكاة الافتراضية وأن الحزم المطلوبة مثبتة.

```bash
rdc ops check
```

يتحقق Rediacc من المحاكاة الافتراضية للأجهزة (VT-x/AMD-V)، والحزم المطلوبة (libvirt وQEMU)، وتكوين الشبكة. يجب أن تنجح جميع الفحوصات قبل أن تتمكن من إنشاء الأجهزة الافتراضية.

### الخطوة 2: توفير مجموعة أجهزة افتراضية بسيطة

```bash
rdc ops up --basic --skip-orchestration
```

ينشئ مجموعة من جهازين افتراضيين: جهاز **جسر** افتراضي (1 CPU، 1024 MB RAM، 8 GB قرص) وجهاز **عامل** افتراضي (2 CPU، 4096 MB RAM، 16 GB قرص). يتخطى خيار `--skip-orchestration` توفير منصة Rediacc، مما يمنحك أجهزة افتراضية عارية مع وصول SSH فقط.

> **ملاحظة:** يقوم التوفير الأول بتنزيل الصور الأساسية، مما يستغرق وقتًا أطول. تستخدم عمليات التشغيل اللاحقة الصور المخزنة مؤقتًا.

### الخطوة 3: التحقق من حالة المجموعة

```bash
rdc ops status
```

يعرض حالة كل جهاز افتراضي في المجموعة, عناوين IP، وتخصيص الموارد، وحالة التشغيل. يجب أن يظهر كلا الجهازين الافتراضيين كقيد التشغيل.

### الخطوة 4: تشغيل الأوامر على جهاز افتراضي

```bash
rdc ops ssh --vm-id 1 -c hostname
rdc ops ssh --vm-id 1 -c "uname -a"
```

يشغّل الأوامر على جهاز الجسر الافتراضي (المعرف `1`) عبر SSH. استخدم `-c` لتمرير أمر. للحصول على واجهة تفاعلية، احذف `-c`: `rdc ops ssh --vm-id 1`.

### الخطوة 5: إزالة المجموعة

عند الانتهاء، قم بتدمير جميع الأجهزة الافتراضية وتحرير الموارد.

```bash
rdc ops down
```

يزيل جميع الأجهزة الافتراضية وينظف الشبكة. يمكن إعادة توفير المجموعة في أي وقت باستخدام `rdc ops up`.

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

**"KVM not available" أو "hardware virtualization not supported"**
تحقق من تفعيل المحاكاة الافتراضية في إعدادات BIOS/UEFI. على Linux، تحقق باستخدام `lscpu | grep Virtualization`. على WSL2، تتطلب المحاكاة الافتراضية المتداخلة علامات نواة محددة.

**"libvirt daemon not running"**
ابدأ خدمة libvirt: `sudo systemctl start libvirtd`. على macOS، تحقق من تثبيت QEMU عبر Homebrew: `brew install qemu`.

**"Insufficient memory for VM allocation"**
تتطلب المجموعة الأساسية 6 GB على الأقل من ذاكرة RAM الحرة (1 GB جسر + 4 GB عامل + حمل إضافي). أغلق التطبيقات كثيفة الموارد أو قلل مواصفات الأجهزة الافتراضية.

## الخطوات التالية

لقد قمت بتوفير مجموعة أجهزة افتراضية محلية، وتشغيل الأوامر عبر SSH، وإزالتها. لنشر بنية تحتية حقيقية:

- [الأجهزة الافتراضية التجريبية](/ar/docs/experimental-vms), مرجع كامل لأوامر `rdc ops`، وتكوين الأجهزة الافتراضية، ودعم المنصات
- [درس: إعداد الأجهزة](/ar/docs/tutorial-setup), تسجيل الأجهزة البعيدة وتكوين البنية التحتية
- [البدء السريع](/ar/docs/quick-start), نشر خدمة حاوية من البداية إلى النهاية