דיונון ריבוי דירות מאפשר למכונה המארח שלך להפעיל מספר התקני אורח וירטואליים עם הפקת הפעלה אחת.
מכונות וירטואליות מרובות אלה של Cuttlefish יכולות לשתף חלק ממשאבי הדיסק המארח, מה שמאפשר לך לחסוך בדיסק. כל מכונה וירטואלית מקבלת שכבת דיסק נפרדת המכסה את מחיצות האנדרואיד (כגון super
, userdata
, boot
). כל שינוי בדיסק האורח ממוקם בשכבת-על של דיסק ספציפי לאורח, מה שנותן לכל מכונה וירטואלית של Cuttlefish תצוגת העתק-על-כתיבה של מחיצות הדיסק שלו. ככל שכל מכשיר וירטואלי כותב יותר נתונים לתצוגה שלו על הדיסק, קובצי השכבה בדיסק המארח גדלים בגודלם מכיוון שהם לוכדים את הדלתא בין המצב המקורי למצבם הנוכחי.
ניתן לאפס את קבצי השכבה כדי להחזיר את הדיסק Cuttlefish למצבו המקורי. תהליך זה מכונה Powerwashing .
מספרי מופעים
התקני דיונון יוצרים וצורכים משאבים על המארח הקשורים למספר המופע שלהם. לדוגמה, חיבור adb
נחשף דרך שקע שרת TCP ביציאה 6520
עבור התקן Cuttlefish עם מופע מספר 1
. כאשר מופעים מרובים מופעלים, הוא יוצר שקע שרת TCP ביציאה 6520
עבור ההתקן הראשון, 6521
עבור ההתקן השני, ומגדיל את מספר היציאה עבור כל התקן נוסף.
שנה את המספר המרבי של מופעים נתמכים
יש להקצות מראש משאבים בצד המארח, כגון התקני רשת TAP, עבור מכונות וירטואליות של Cuttlefish. כברירת מחדל, חבילת Debian מבוססת דיונון מספקת משאבים למשל מספרים 1
עד 10
.
ניתן לשנות זאת באמצעות שינוי num_cvd_accounts
ב- /etc/default/cuttlefish-host-resources
והפעלה מחדש של שירות cuttlefish-host-resources
על ידי הפעלת הפקודה הבאה:
sudo systemctl restart cuttlefish-host-resources
תצורות קנוניות
תצורות קנוניות מייצגות את התצורה עבור התקני Cuttlefish בפורמט JSON. אתה יכול ליצור קובצי JSON תצורה קנונית כדי לתאר את התצורה של התקני Cuttlefish מרובים בתרחיש מרובה דיירים.
להלן מתאר את הפורמט המשמש עבור קובצי JSON בתצורה קנונית (החלף מצייני מיקום בתצורות התקן).
{
"common": {
CONFIGURATIONS_APPLYING_TO_ALL_DEVICES
},
"instances": [
{
FIRST_DEVICE_CONFIGURATION
},
{
NTH_DEVICE_CONFIGURATION
}
]
}
להלן דוגמה לקובץ תצורה של הגדרה עם שני מכשירים, מכשיר טלפון ומכשיר לביש:
{
"instances": [
{
"@import": "phone",
"vm": {
"memory_mb": 8192,
"setupwizard_mode": "OPTIONAL",
"cpus": 4
},
"disk": {
"default_build": "/home/username/devices/cf_x86_64_phone-userdebug"
}
},
{
"@import": "wearable",
"vm": {
"memory_mb": 8192,
"setupwizard_mode": "REQUIRED",
"cpus": 4
},
"disk": {
"default_build": "/home/username/devices/cf_gwear_x86-userdebug"
}
}
]
}
טבלה זו מתארת את האלמנטים המשמשים בתצורה לדוגמה עם שני התקנים:
אֵלֵמֶנט | סוּג | תיאור |
---|---|---|
instances | מַעֲרָך | מערך אובייקטי JSON, כל אחד מתאר מכשיר בודד בקבוצת המכשירים מרובי הדיירים שיושקו. |
@import | חוּט | מציין את סוג ההתקן ומגדיר ערכי ברירת מחדל עבור תצורת המכשיר. סוגי המכשירים הנתמכים הם phone ומכשירים wearable . |
vm | לְהִתְנַגֵד | מציין מאפיינים החלים על סביבת ה-VM הספציפית למופע המכשיר. |
memory_mb | מספר | כמות הזיכרון להקצאה עבור VM ספציפי במגה-בייט. |
setupwizard_mode | חוּט | מציין אם אשף הגדרת ההתקן יופעל עבור המשתמש בהפעלה הראשונה של המכשיר. האפשרויות הנתמכות עבור מצב אשף ההגדרה הן DISABLED , OPTIONAL REQUIRED . |
cpus | מספר | מספר המעבדים הווירטואליים שהוקצו ל-VM. |
disk | לְהִתְנַגֵד | מציין מאפיינים הרלוונטיים לאיתור חפצי מערכת קבצים המשמשים להפעלת מופע VM יחיד. |
default_build | חוּט | נתיב מערכת קבצים מקומית לתיקיה המכילה תמונת מכשיר וירטואלי של דיונון. |
לדוגמאות נוספות של קובצי תצורה המופצים עם cvd
, ראה את התיקיה cvd_test_configs
בעץ הקוד Cuttlefish.
שליטה במופעי ריבוי דיירים
סעיף זה מתאר כיצד להפעיל ולעצור מכשירים בתרחיש מרובה דיירים. אתה יכול להפעיל התקני דיונון מרובים באמצעות האפשרויות הבאות:
- תצורה קנונית : הפעל תצורות מותאמות אישית עבור כל מכשיר באמצעות קובץ תצורה של JSON המתאר את רשימת המופעים להפעלה.
- תמונת אורח בודדת : הפעל מספר מכשירים מתמונת אורח אחת.
הפעל מספר VMs מתצורה קנונית
כדי להפעיל מערכות VM מרובות באמצעות תצורה קנונית המתארת את תרחיש ריבוי הדיירים, הפעל את פקודת cvd start
עם קידומת הדגל --config_file=
באופן הבא:
cvd start --config_file=CONFIG_FILE
להלן דוגמה לקריאת טלפון המפנה לקובץ תצורה קנוני בשם /etc/phone.json
.
cvd start --config_file=/etc/phone.json
התחל מספר VMs מתמונת אורח בודדת
כדי להפעיל התקני דיונון מרובים באמצעות תמונת אורח אחת, השתמש בדגל --num_instances= N
, כאשר N הוא מספר המכשירים שיש להפעיל. כברירת מחדל, התקנים מתחילים מהמופע מספר 1
.
cvd start --num_instances=N
כדי לשנות את מספר המופע ההתחלתי, בצע אחת מהפעולות הבאות:
הוסף את הדגל
--base_instance_num= N
עם N כמספר המופע הראשון.cvd start --base_instance_num=N
הפעל את Cuttlefish עם חשבון משתמש תואם
vsoc- NN
, כאשר NN הוא מספר המופע הבסיסי בצורת שתי ספרות. לדוגמה, כדי להפעיל את Cuttlefish עם חשבון משתמשvsoc- 01
, הפעל:cvd start --base_instance_num=1
איך לעצור מכשירים
כדי לעצור את כל המכשירים שהושקו על ידי cvd start
האחרונה, הפעל:
cvd stop