Skip to content

دليل مستخدم Condensa

المقدمة

Condensa هو أداة قوية لترحيل الأجهزة الافتراضية، مصممة لتسهيل ترحيل الأجهزة الافتراضية من منصات متعددة (VMware، Nutanix، Sangfor، Windows Server) إلى منصة Awanio السحابية. تدعم الأداة أساليب ترحيل متعددة تشمل الترحيل الساخن (للأجهزة الافتراضية قيد التشغيل)، والترحيل البارد، والترحيل المعتمد على الملفات باستخدام صيغتَي OVA وVHD/VHDX.

الميزات الرئيسية

  • الترحيل الساخن: ترحيل الأجهزة الافتراضية قيد التشغيل مع تقليص وقت التوقف إلى أدنى حد (لـ VMware فحسب)
  • دعم مزودين متعددين: VMware vSphere، وملفات OVA، وملفات VHD/VHDX
  • تتبع الكتل المتغيرة (CBT): نقل بيانات تزايدي فعّال لبيئات VMware
  • واجهة مستخدم عبر الويب: واجهة سهلة الاستخدام لإدارة عمليات الترحيل
  • تتبع التقدم في الوقت الفعلي: مراقبة حالة الترحيل وتقدمه

التثبيت

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

قبل تثبيت Condensa، تأكد من توافر ما يلي:

  1. Awanio Dashboard

    • يجب استخدام حساب مستخدم يتمتع بصلاحية الوصول إلى لوحة التحكم
  2. Helm (الإصدار 3.0 أو أعلى)

    bash
    # Install Helm if not already installed
    curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
  3. Storage Pool مُهيَّأ في Awanio Dashboard الخاص بك

  4. الوصول إلى Awanio API

    • عنوان URL لنقطة نهاية API (مثال: https://192.168.1.2/v2)
    • بيانات اعتماد صالحة للمصادقة

التثبيت عبر Helm

  1. إضافة مستودع Condensa Helm:

    bash
    helm repo add condensa https://storage.awan.io/assets/charts
    helm repo update
  2. إنشاء ملف قيم (condensa-values.yaml):

    yaml
    # REQUIRED: Public URL for Condensa (must be accessible by CDI for data imports)
    publicUrl: "http://condensa.example.com:8080"
    
    # REQUIRED: Awanio API configuration
    awanio:
      apiEndpoint: "https://192.168.1.2/v2"
      username: "your-username"
      password: "your-password"
    
    # Image configuration
    image:
      repository: registry.awan.io/images/condensa
      tag: latest
      pullPolicy: IfNotPresent
    
    # Service configuration
    service:
      type: LoadBalancer  # or NodePort, ClusterIP
      port: 8080
    
    # Storage configuration
    persistence:
      enabled: true
      storageClass: "standard"  # Your storage class
      size: 100Gi  # Storage for uploaded OVA/VHD files
    
    # Resource limits
    resources:
      requests:
        memory: "512Mi"
        cpu: "500m"
      limits:
        memory: "2Gi"
        cpu: "2000m"
    
    # Upload directory configuration
    uploadDir: "/data/uploads"
    
    # Namespace for VM migrations
    migrationNamespace: "vm-migrations"
  3. تثبيت Condensa:

    bash
    # Create namespace
    kubectl create namespace condensa
    
    # Install with custom values
    helm install condensa condensa/condensa \
      --namespace condensa \
      --values condensa-values.yaml
  4. التحقق من التثبيت:

    bash
    # Check pod status
    kubectl get pods -n condensa
    
    # Check service
    kubectl get svc -n condensa
    
    # Get the external IP/URL
    kubectl get svc condensa -n condensa -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
  5. الوصول إلى واجهة المستخدم عبر الويب:

    افتح المتصفح وانتقل إلى عنوان URL الخاص بـ Condensa:

    http://<external-ip>:8080

خيارات الإعداد

المعاملالوصفالقيمة الافتراضيةمطلوب
publicUrlعنوان URL العام يمكن الوصول إليه من CDI-نعم
awanio.apiEndpointنقطة نهاية Awanio API-نعم
awanio.usernameاسم مستخدم Awanio-نعم
awanio.passwordكلمة مرور Awanio-نعم
persistence.enabledتفعيل التخزين الدائمtrueلا
persistence.sizeحجم التخزين للرفع100Giلا
service.typeنوع الخدمةLoadBalancerلا
uploadDirالدليل المخصص لرفع الملفات/data/uploadsلا

إعداد الأجهزة الافتراضية المصدر

يُعدّ الإعداد الصحيح للأجهزة الافتراضية المصدر أمرًا بالغ الأهمية لضمان نجاح عملية الترحيل. تتباين المتطلبات بحسب نوع المزوّد.

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

لبيئات VMware vSphere، ولا سيما عند إجراء الترحيل الساخن (ترحيل الأجهزة الافتراضية قيد التشغيل):

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

  • VMware vSphere 6.0 أو إصدار أحدث
  • إصدار عتاد الجهاز الافتراضي 8 أو أعلى
  • صلاحية المسؤول للوصول إلى vCenter
  • البصمة الرقمية (Thumbprint)، وهي بصمة SSL (SHA1) للخادم البعيد VMware، وهي مطلوبة عند إنشاء اتصال عن بُعد.

يطبع الأمر التالي بصمة خادم VMware المسمى SERVER-NAME:

openssl s_client -connect SERVER-NAME:443 </dev/null |
   openssl x509 -in /dev/stdin -fingerprint -sha1 -noout

تفعيل تتبع الكتل المتغيرة (CBT)

تنبيه مهم: يجب تفعيل CBT قبل إنشاء لقطات الحالة (Snapshots) للترحيل.

  1. الاتصال بـ vCenter باستخدام vSphere Client

  2. إيقاف تشغيل الجهاز الافتراضي (إن كان قيد التشغيل):

    Right-click VM → Power → Shut Down Guest OS
  3. تفعيل CBT:

    • انقر بزر الماوس الأيمن على الجهاز الافتراضي ← Edit Settings
    • انقر على تبويب "VM Options"
    • وسّع قسم "Advanced"
    • انقر على "Edit Configuration"
    • أضف المعامل التالي:
      ctkEnabled = true
    • انقر OK للحفظ
  4. تشغيل الجهاز الافتراضي:

    Right-click VM → Power → Power On
  5. إنشاء لقطة حالة (مطلوب بعد تفعيل CBT):

    Right-click VM → Snapshots → Take Snapshot
    Name: "Pre-Migration Snapshot"
    Description: "Snapshot for Condensa migration with CBT enabled"

    ⚠️ تحذير حرج: يجب إنشاء لقطة الحالة بعد تفعيل CBT حتمًا. فاللقطات المنشأة قبل تفعيل CBT ستؤدي إلى فشل الترحيل.

  6. التحقق من تفعيل CBT:

    • تحقق من ملفات .vmdk الخاصة بالجهاز الافتراضي
    • يجب أن ترى ملفات -ctk.vmdk لكل قرص

أفضل الممارسات لـ VMware

  • تأكد من تثبيت VM Tools وتحديثها
  • احذف اللقطات غير الضرورية قبل الترحيل
  • تحقق من الاتصال الشبكي بين Condensa وvCenter
  • للأجهزة الافتراضية ذات الحجم الكبير، فكّر في جدولة الترحيل خلال نوافذ الصيانة

أجهزة Nutanix الافتراضية (تصدير OVA)

لترحيل الأجهزة الافتراضية من Nutanix AHV:

  1. الوصول إلى Nutanix Prism:

    https://<nutanix-cluster-ip>:9440
  2. إعداد الجهاز الافتراضي:

    • أوقف تشغيل الجهاز الافتراضي بصورة سليمة
    • احذف أي لقطات حالة غير ضرورية
    • دوّن مواصفات الجهاز الافتراضي (وحدة المعالجة المركزية، الذاكرة، الأقراص)
  3. التصدير بصيغة OVA:

    أ. باستخدام Nutanix Move (موصى به):

    • ثبّت Nutanix Move على جهاز Windows/Linux
    • هيّئ المصدر بوصفه Nutanix AHV
    • اختر الأجهزة الافتراضية المراد تصديرها
    • اختر خيار "Export to OVA"
    • احفظ الملف في الدليل المحلي

    ب. باستخدام acli (Nutanix CLI):

    bash
    # SSH to Nutanix CVM
    ssh nutanix@<cvm-ip>
    
    # List VMs
    acli vm.list
    
    # Export VM
    acli vm.export <vm-name> format=ova path=/tmp/<vm-name>.ova
    
    # Download the OVA file
    scp nutanix@<cvm-ip>:/tmp/<vm-name>.ova .
  4. التحقق من ملف OVA:

    bash
    # Check OVA contents
    tar -tvf <vm-name>.ova
    
    # Should contain:
    # - .ovf file (VM descriptor)
    # - .vmdk file(s) (Virtual disks)
    # - .mf file (Manifest)

أجهزة Sangfor الافتراضية (تصدير OVA)

لترحيل الأجهزة الافتراضية من Sangfor HCI:

  1. الوصول إلى وحدة تحكم Sangfor HCI:

    https://<sangfor-hci-ip>
  2. إعداد الجهاز الافتراضي:

    • أوقف تشغيل الجهاز الافتراضي من وحدة تحكم Sangfor
    • احذف اللقطات إن وُجدت
    • وثّق إعداد الجهاز الافتراضي
  3. عملية التصدير:

    أ. انتقل إلى قسم Virtual Machines

    ب. اختر الجهاز الافتراضي المستهدف

    ج. انقر على More ActionsExport

    د. اختر صيغة التصدير:

    • اختر صيغة "OVA"
    • أدرج جميع الأقراص
    • أدرج إعداد الجهاز الافتراضي

    هـ. ابدأ التصدير:

    Export Location: Local Computer or Network Share
    Format: OVA 1.0
    Compression: None (for better compatibility)

    و. نزّل ملف OVA المُصدَّر

  4. التحقق بعد التصدير:

    bash
    # Verify OVA integrity
    sha256sum <vm-name>.ova
    
    # Extract and check OVF descriptor
    tar -xf <vm-name>.ova *.ovf
    cat *.ovf  # Review VM specifications

أجهزة Windows Server الافتراضية (تصدير VHD/VHDX)

لترحيل الأجهزة الافتراضية من Hyper-V على Windows Server:

من Windows Server 2012/2016/2019/2022

  1. فتح Hyper-V Manager:

    powershell
    # Run as Administrator
    virtmgmt.msc
  2. إعداد الجهاز الافتراضي:

    powershell
    # Stop the VM
    Stop-VM -Name "VMName"
    
    # Remove checkpoints (snapshots)
    Get-VMSnapshot -VMName "VMName" | Remove-VMSnapshot
  3. تصدير الجهاز الافتراضي:

    الطريقة الأولى: استخدام واجهة Hyper-V Manager الرسومية

    • انقر بزر الماوس الأيمن على الجهاز الافتراضي ← Export
    • اختر موقع التصدير
    • انتظر اكتمال عملية التصدير

    الطريقة الثانية: استخدام PowerShell

    powershell
    # Export entire VM
    Export-VM -Name "VMName" -Path "C:\VMExports"
    
    # Or export just the VHD/VHDX
    $vm = Get-VM -Name "VMName"
    $vhd = Get-VMHardDiskDrive -VM $vm
    Copy-Item $vhd.Path -Destination "C:\VMExports\VMName.vhdx"
  4. تحويل VHDX إلى VHD عند الحاجة (لضمان التوافق):

    powershell
    Convert-VHD -Path "C:\VMExports\VMName.vhdx" `
                -DestinationPath "C:\VMExports\VMName.vhd" `
                -VHDType Dynamic
  5. إعداد ملف البيانات الوصفية (إنشاء vm-info.json):

    json
    {
      "name": "VMName",
      "os_family": "windows",
      "os_version": "Windows Server 2019",
      "cpu": 4,
      "memory_mb": 8192,
      "disk_size_gb": 100,
      "architecture": "x86_64"
    }

من Azure Stack HCI

powershell
# Connect to cluster
Enter-PSSession -ComputerName <cluster-node>

# Export VM
Export-VM -Name "VMName" -Path "\\share\exports"

# Or use Windows Admin Center for GUI export

إعداد المزودين

المزودون هم المنصات المصدر التي سيجري ترحيل الأجهزة الافتراضية منها. يتطلب كل نوع مزوّد إعدادًا محددًا.

مزوّد VMware

  1. تسجيل الدخول إلى واجهة Condensa عبر الويب

  2. الانتقال إلى Providers:

    • انقر على "Providers" في القائمة الرئيسية
    • انقر على زر "Add Provider"
  3. إعداد مزوّد VMware:

    yaml
    Provider Type: VMware vSphere
    Name: vcenter-prod
    Description: Production vCenter Server
    
    Connection Details:
    - vCenter URL: https://vcenter.example.com
    - Username: administrator@vsphere.local
    - Password: ********
    - Allow Insecure: No (uncheck for production)
    
    Advanced Settings:
    - Port: 443
    - Datacenter: Datacenter-01 (optional, for filtering)
    - Concurrent Transfers: 4
  4. اختبار الاتصال:

    • انقر على "Test Connection"
    • تحقق من نجاح الاتصال
    • راجع الموارد المكتشفة
  5. حفظ المزوّد:

    • انقر على "Save"
    • يجب أن يعرض المزوّد حالة "Connected"

مزوّد OVA

يُعالج مزوّد OVA عمليات الترحيل المعتمدة على الملفات باستخدام ملفات OVA.

  1. الانتقال إلى ProvidersAdd Provider

  2. إعداد مزوّد OVA:

    yaml
    Provider Type: OVA
    Name: ova-imports
    Description: OVA File Imports
    
    Settings:
    - Upload Directory: /data/uploads/ova
    - Max File Size: 500GB
    - Supported Formats: .ova, .ovf
  3. رفع ملفات OVA:

    الخيار الأول: الرفع عبر واجهة الويب

    • انقر على زر "Upload OVA"
    • اختر ملف OVA من النظام المحلي
    • أضف البيانات الوصفية للجهاز الافتراضي:
      yaml
      VM Name: imported-vm-01
      OS Type: Ubuntu Linux 20.04
      CPUs: 4
      Memory: 8192 MB
    • انقر على "Upload"

    الخيار الثاني: الرفع عبر CLI (للملفات الكبيرة)

    bash
    # Copy to Condensa pod
    kubectl cp large-vm.ova condensa/condensa-pod:/data/uploads/ova/
    
    # Or use curl
    curl -X POST http://condensa.example.com:8080/api/v1/ova/upload \
         -H "Authorization: Bearer <token>" \
         -F "file=@large-vm.ova" \
         -F "metadata=@vm-info.json"
  4. التحقق من الرفع:

    • تحقق من قسم "OVA Uploads"
    • تحقق من سلامة الملف
    • راجع مواصفات الجهاز الافتراضي المستخرجة

مزوّد VHD/VHDX

يُعالج مزوّد VHD عمليات الترحيل من تصديرات Hyper-V.

  1. الانتقال إلى ProvidersAdd Provider

  2. إعداد مزوّد VHD:

    yaml
    Provider Type: VHD
    Name: hyperv-imports
    Description: Hyper-V VHD Imports
    
    Settings:
    - Upload Directory: /data/uploads/vhd
    - Supported Formats: .vhd, .vhdx, .avhdx
    - Auto-convert VHDX: Yes
  3. رفع ملفات VHD:

    الخطوة الأولى: رفع VHD/VHDX

    bash
    # Web UI for small files (<10GB)
    Navigate to "VHD Uploads" "Upload VHD"
    
    # For large files, use resumable upload
    curl -X POST http://condensa.example.com:8080/api/v1/vhd/uploads \
         -H "Content-Type: application/json" \
         -d '{
           "filename": "windows-server.vhdx",
           "vm_name": "WinServer2019",
           "os_family": "windows",
           "os_version": "Windows Server 2019",
           "num_cpu": 4,
           "memory_mb": 16384,
           "disk_size_gb": 200,
           "architecture": "x86_64"
         }'

    الخطوة الثانية: استخدام بروتوكول TUS لرفع الملفات الكبيرة

    bash
    # Install tus client
    npm install -g tus-js-client
    
    # Upload using resumable protocol
    tus-upload windows-server.vhdx \
      --endpoint http://condensa.example.com:8080/api/v1/tus \
      --metadata filename=d2luZG93cy1zZXJ2ZXIudmhkeA==,vm_id=<vm-uuid>
  4. التحقق من رفع VHD:

    • تحقق من حالة المعالجة
    • تحقق من توافق صيغة القرص
    • راجع مواصفات الجهاز الافتراضي

إنشاء عمليات الترحيل وتشغيلها

بعد إعداد المزودين وتجهيز الأجهزة الافتراضية المصدر، يمكنك إنشاء عمليات الترحيل وتنفيذها.

إنشاء عملية ترحيل

  1. الانتقال إلى MigrationsCreate Migration

  2. الإعداد الأساسي:

    yaml
    Migration Name: prod-to-awanio-batch1
    Description: Production VMs migration batch 1
    
    Source Provider: vcenter-prod (or ova-imports, hyperv-imports)
    Target Namespace: vm-migrations
    Organization: My Organization
  3. اختيار الأجهزة الافتراضية:

    لمزوّد VMware:

    • تصفح الأجهزة الافتراضية المتاحة
    • استخدم عوامل التصفية:
      • مركز البيانات (Datacenter)
      • المجلد (Folder)
      • حالة التشغيل (Power State)
      • نوع نظام التشغيل (OS Type)
    • اختر الأجهزة الافتراضية المراد ترحيلها
    • راجع تفاصيل الجهاز الافتراضي (وحدة المعالجة المركزية، الذاكرة، الأقراص)

    لمزوّد OVA:

    • اختر من ملفات OVA المرفوعة
    • تحقق من حالة "Ready"
    • راجع المواصفات المستخرجة

    لمزوّد VHD:

    • اختر من ملفات VHD المرفوعة
    • تحقق من حالة "Processed"
    • تأكد من توافق نظام التشغيل
  4. إعدادات الترحيل:

    yaml
    Migration Type:
    - Hot Migration (VMware only, VM stays running)
    - Cold Migration (VM powered off first)
    
    Network Mapping:
    - Source Network: VM Network → Target Network: default
    - Source Network: Management → Target Network: mgmt-net
    
    Storage Settings:
    - Storage Class: fast-ssd
    - Volume Mode: Filesystem
    - Access Mode: ReadWriteOnce
    
    Advanced Options:
    - Preserve MAC Addresses: Yes
    - Start VM after Migration: No
    - Delete Source after Success: No
  5. المراجعة والإنشاء:

    • راجع ملخص الترحيل
    • تحقق من متطلبات الموارد
    • انقر على "Create Migration"

بدء عملية الترحيل

  1. عرض تفاصيل الترحيل:

    Migrations → Select Migration → View Details
  2. الفحوصات الأولية:

    • تحقق من الاتصال بالمصدر
    • تأكد من وجود فضاء الأسماء (Namespace) المستهدف
    • تحقق من توفر مساحة التخزين
    • راجع تعيينات الشبكة
  3. بدء الترحيل:

    الخيار الأول: واجهة الويب

    • انقر على زر "Start Migration"
    • أكّد الإجراء في مربع الحوار

    الخيار الثاني: CLI

    bash
    curl -X POST http://condensa.example.com:8080/api/v1/migrations/<id>/start \
         -H "Authorization: Bearer <token>"
  4. مراحل الترحيل:

    المرحلة الأولى: التجهيز

    • إنشاء فضاء الأسماء المستهدف
    • إعداد DataVolumes
    • تهيئة مهام النقل

    المرحلة الثانية: نقل البيانات

    • لـ VMware: نقل VDDK مع CBT
    • لـ OVA/VHD: الاستيراد عبر HTTP بواسطة CDI
    • عرض التقدم في الوقت الفعلي

    المرحلة الثالثة: التحويل

    • تحويل الأقراص إلى QCOW2
    • تطبيق تحسينات نظام التشغيل
    • إعداد برامج التشغيل

    المرحلة الرابعة: إنشاء الجهاز الافتراضي

    • إنشاء VirtualMachine CR
    • إعداد الشبكات
    • تطبيق حدود الموارد

    المرحلة الخامسة: التحقق

    • التحقق من إنشاء الجهاز الافتراضي
    • فحص ارتباطات الأقراص
    • التحقق من صحة الإعداد

مراقبة التقدم

  1. التقدم في الوقت الفعلي:

    • عرض نسبة التقدم الإجمالية
    • مراقبة حالة كل جهاز افتراضي على حدة
    • فحص معدلات نقل البيانات
    • عرض السجلات في الوقت الفعلي
  2. مؤشرات التقدم:

    Overall Progress: 45%
    
    VMs Status:
    - vm-web-01: ✓ Completed (100%)
    - vm-app-01: ⟳ Transferring (67%)
    - vm-db-01: ⏸ Queued
  3. عرض السجلات:

    bash
    # View migration logs
    kubectl logs -n condensa condensa-pod -f
    
    # View specific VM transfer
    kubectl get datavolume -n vm-migrations vm-web-01-disk-0 -o yaml
  4. الإشعارات:

    • تنبيهات البريد الإلكتروني عند الاكتمال
    • إشعارات Webhook
    • تكامل مع Slack (إن كان مُهيَّأ)

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

المشكلات الشائعة وحلولها

فشل ترحيل VMware

المشكلة: خطأ "CBT not enabled"

الحل:
1. تفعيل CBT على الجهاز الافتراضي المصدر
2. إنشاء لقطة حالة جديدة بعد تفعيل CBT
3. إعادة محاولة الترحيل

المشكلة: "Cannot connect to vCenter"

الحل:
1. التحقق من الاتصال الشبكي
2. فحص قواعد جدار الحماية (المنفذ 443)
3. التحقق من بيانات الاعتماد
4. تجربة "Allow Insecure" عند استخدام شهادات موقّعة ذاتيًا

المشكلة: "Snapshot not found"

الحل:
1. إنشاء لقطة حالة على الجهاز الافتراضي المصدر
2. انتظار دمج اللقطة
3. تحديث اتصال المزوّد

مشكلات رفع OVA

المشكلة: "Invalid OVF descriptor"

الحل:
1. التحقق من سلامة ملف OVA:
   tar -tvf vm.ova
2. استخراج OVF والتحقق منه:
   tar -xf vm.ova *.ovf
   xmllint --noout *.ovf
3. إعادة التصدير من المصدر في حالة التلف

المشكلة: "Unsupported disk format"

الحل:
1. تحويل القرص إلى صيغة مدعومة:
   qemu-img convert -f vmdk -O qcow2 disk.vmdk disk.qcow2
2. إعادة تعبئة OVA مع القرص المحوَّل

مشكلات رفع VHD

المشكلة: "VHD file corrupted"

الحل:
1. التحقق من مجموع اختباري للملف
2. إعادة التصدير من Hyper-V
3. محاولة تحويل VHDX إلى VHD:
   Convert-VHD -Path source.vhdx -DestinationPath dest.vhd

المشكلة: "Metadata missing"

الحل:
1. إنشاء vm-info.json بالحقول المطلوبة
2. رفع البيانات الوصفية مع VHD
3. أو التحديث عبر API بعد الرفع

توقف DataVolume

المشكلة: DataVolume في حالة "Pending"

bash
# Check DataVolume status
kubectl describe datavolume -n vm-migrations <dv-name>

# Common solutions:
1. Check PVC bound status
2. Verify storage class exists
3. Check available storage capacity
4. Review CDI pod logs:
   kubectl logs -n cdi deployment/cdi-deployment

مشكلات أداء الترحيل

بطء معدلات النقل

الحلول:
1. تفعيل النقل المتوازي (VMware)
2. زيادة حدود موارد CDI
3. استخدام فئة تخزين أسرع
4. فحص عرض نطاق الشبكة
5. الجدولة خلال ساعات انخفاض الحمل

أوامر تشخيص الأخطاء

bash
# Check Condensa logs
kubectl logs -n condensa deployment/condensa -f

# Check migration status
curl http://condensa.example.com:8080/api/v1/migrations/<id>/status

# Check DataVolume progress
kubectl get datavolume -n vm-migrations -w

# Check CDI importer pods
kubectl get pods -n vm-migrations | grep importer

# View importer logs
kubectl logs -n vm-migrations <importer-pod-name>

# Check events
kubectl get events -n vm-migrations --sort-by='.lastTimestamp'

أفضل الممارسات

ما قبل الترحيل

  1. تخطيط السعة:

    • التحقق من توفر مساحة تخزين كافية في المجموعة المستهدفة
    • التخطيط لمضاعفة مساحة القرص خلال عملية التحويل
    • مراعاة متطلبات عرض نطاق الشبكة
  2. إعداد الأجهزة الافتراضية:

    • تحديث أدوات وبرامج تشغيل الأجهزة الافتراضية
    • حذف الملفات غير الضرورية
    • دمج لقطات الحالة
    • توثيق تبعيات الأجهزة الافتراضية
  3. الاختبار:

    • البدء بالأجهزة الافتراضية غير الحرجة
    • التحقق من عملية الترحيل من البداية إلى النهاية
    • توثيق إجراءات الاسترداد

أثناء الترحيل

  1. المعالجة الدُّفعية:

    • ترحيل الأجهزة الافتراضية في مجموعات منطقية
    • البدء بأحمال العمل الأقل أهمية
    • مراقبة استخدام الموارد
  2. اعتبارات الشبكة:

    • استخدام شبكة مخصصة للترحيل إن أمكن
    • تهيئة حدود عرض النطاق الترددي المناسبة
    • التخطيط لنوافذ صيانة الشبكة
  3. المراقبة:

    • مراقبة معدلات النقل
    • مراقبة حمل النظام المصدر
    • فحص موارد المجموعة المستهدفة

ما بعد الترحيل

  1. التحقق:

    • التحقق من عمل الأجهزة الافتراضية
    • اختبار اتصال التطبيقات
    • التحقق من مقاييس الأداء
  2. التنظيف:

    • حذف DataVolumes الخاصة بعمليات الترحيل الناجحة
    • تنظيف لقطات حالة المصدر
    • أرشفة سجلات الترحيل
  3. التوثيق:

    • توثيق مشكلات الترحيل
    • تحديث دفاتر التشغيل
    • تسجيل مقاييس الأداء

اعتبارات الأمان

  1. بيانات الاعتماد:

    • استخدام حسابات الخدمة للمزودين
    • تدوير بيانات الاعتماد بصفة منتظمة
    • تطبيق سياسات RBAC
  2. أمان الشبكة:

    • استخدام TLS لجميع الاتصالات
    • تطبيق سياسات الشبكة
    • تقييد الوصول إلى Condensa
  3. حماية البيانات:

    • تشفير البيانات أثناء النقل
    • تأمين أدلة الرفع
    • تطبيق سياسات الاحتفاظ بالبيانات

الملحق

الإعدادات المدعومة

المنصة المصدرنوع الترحيلالمتطلبات
VMware vSphere 6.0+ساخن/باردCBT، لقطات الحالة
Nutanix AHVتصدير OVAOVA 1.0/2.0
Sangfor HCIتصدير OVAOVA 1.0
Hyper-V 2012+تصدير VHDVHD/VHDX
Azure Stack HCIتصدير VHDVHD/VHDX

مرجع API

نقاط نهاية API الرئيسية للأتمتة:

bash
# Provider Management
GET    /api/v1/providers
POST   /api/v1/providers
DELETE /api/v1/providers/{id}

# Migration Management  
GET    /api/v1/migrations
POST   /api/v1/migrations
POST   /api/v1/migrations/{id}/start
POST   /api/v1/migrations/{id}/cancel
GET    /api/v1/migrations/{id}/status

# Upload Management
POST   /api/v1/ova/upload
POST   /api/v1/vhd/uploads
GET    /api/v1/uploads/status

متغيرات البيئة

إعداد Condensa باستخدام متغيرات البيئة:

bash
CONDENSA_PUBLIC_URL=http://condensa.example.com:8080
CONDENSA_UPLOAD_DIR=/data/uploads
AWANIO_API=https://api.awanio.com/v2
DB_PATH=/data/condensa.db
PORT=8080

الدعم والموارد


آخر تحديث: 2025الإصدار: 0.1.0