حبَّار: أخذ لقطة واستعادة للبيانات

يقدّم Android 15 طريقة لأخذ لقطات استعادة لقطة لجهاز افتراضي للحبار. أخذ لقطة من يتيح لك جهاز الحبار حفظ حالة الجهاز في صورة على القرص. ويمكنك بعد ذلك استعادة اللقطة لإحضار جهاز حبَّار إلى الحالة المحفوظة سابقًا.

ويمكنك استخدام اللقطات في العديد من عمليات سير العمل الآلية أو اليدوية. فعندما يؤدي إلى تعديل الجهاز، يمكنك أخذ لقطة الجهاز للتأكد من أنه يمكنك إعادة الجهاز إلى الحالة المحددة. على سبيل المثال، عند تشغيل مجموعات اختبار تُغيّر حالة الجهاز ويمكن أن تتسبب في حدوث مشاكل أو عدم استقرار في الاختبارات التالية، يمكنك أخذ لقطة كي تتمكّن من استعادة الجهاز إلى حالته المحفوظة بعد اختبار، لضمان إجراء الاختبارات اللاحقة بسلاسة.

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

التقاط لقطة لجهاز حبّار

عند أخذ لقطة من جهاز، يجب تعليق جهاز الحبار للتأكد من أن جهاز الحبار في حالة مستقرة. عندما يبدأ الجهاز معلّق، كما يتم إيقاف جميع وحدات المعالجة المركزية الافتراضية والأجهزة، وإرسال جميع الوحدات الاحتياطية. حالتها إلى الجهاز الافتراضي. تحفظ اللقطة حالة وحدة المعالجة المركزية الافتراضية (vCPU) والذاكرة وحالة الجهاز إلى القرص في مجلد وجهة محدد.

ملفات VirtiosFS غير متوافقة ويجب إيقافها عند أخذ لقطة. إلى إيقاف VirtioFS، وتمرير الوسيطة --enable_virtiofs=false عند تشغيل cvd start.

يتوافق وضع وحدة معالجة الرسومات SwiftShader (guest_swiftshader) فقط مع لقطات. أوضاع الرسومات المسرّعة الأخرى غير مدعومة.

توضح الخطوات التالية عملية إطلاق جهاز حبّار وأخذ لقطة.

  1. تشغيل جهاز أثناء إيقاف VirtioFS (يمكنك بعد ذلك استخدام الجهاز).

    cvd start --enable_virtiofs=false --gpu_mode=guest_swiftshader
    
  2. يمكنك أخذ لقطة عن طريق تشغيل cvd snapshot_take باستخدام العلامات التالية:

    • --force: إذا كان هناك مجلد في مسار اللقطة المحدد، فإن هذا تضمن حذف المجلد الحالي، وإنشاء مجلد جديد يتم إنشاؤه في مسار اللقطة الذي يحتوي على اللقطة

    • --auto_suspend: يتم تعليق الجهاز قبل أخذ اللقطة يستأنف الجهاز بعد أخذ اللقطة.

    • --snapshot_path: المسار المحدّد الذي يتم فيه إنشاء المجلد الجديد باللقطة.

    cvd snapshot_take --force --auto_suspend \
    --snapshot_path=PATH
    

استعادة جهاز حبّار

عند استعادة لقطة جهاز حبّار، فإن مثيل الحبار هو الذي تم أخذ تلك اللقطة فيه. إذا كان المثيل موجودًا بالفعل توقف، لا يلزم اتخاذ أي إجراء إضافي ويمكن استعادة اللقطة.

لاستعادة لقطة لجهاز حبّار، عليك تشغيل جهاز باستخدام "cvd start". وتضمين مسار اللقطة. إذا كان رقم المثيل الأساسي للحبار اختلاف الجهاز الذي تم أخذ اللقطة عليه عن المثيل الأساسي عدد مثيل الحبار الحالي، تجاوز مثيل القاعدة هذا باستخدام العلامة --base_instance_num.

cvd start --snapshot_path=PATH \
--base_instance_num=ID

تعليق جهاز حبَّار

يمكنك تعليق جهاز حبَّار بدون أخذ لقطة (بدون مساحة على القرص) يُستخدم لحفظ الحالة). لتعليق جهاز حبَّار، شغِّل:

cvd suspend

استئناف تشغيل جهاز حبَّار

لاستئناف تشغيل جهاز حبّار معلق، شغِّل:

cvd resume

التحقق من صحة الميزة لقطة أو استعادة

يمكن التحقّق من صحة ميزة اللقطة/الاستعادة عن طريق إجراء الاختبار التالي:

atest SnapshotTest