Google стремится продвигать расовую справедливость для черных сообществ. Смотри как.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Каракатицы: мультитенантность и Powerwashing

Мультитенантность Cuttlefish позволяет вашей хост-машине запускать несколько виртуальных гостевых устройств за один запуск.

Эти несколько виртуальных машин Cuttlefish могут совместно использовать некоторые дисковые ресурсы хоста, что позволяет сэкономить дисковое пространство. Каждая виртуальная машина получает отдельный оверлей диска, охватывающий разделы Android (например, 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-common и перезапустив службу num_cvd_accounts cuttlefish-common с помощью следующей команды:

sudo systemctl restart cuttlefish-common

Управление мультитенантными экземплярами

В этом разделе описывается, как запускать, останавливать и стирать устройства. Это относится как к launch_cvd с одним, так и с несколькими launch_cvd .

начало

Чтобы запустить несколько устройств --num_instances= N одновременно, используйте флаг --num_instances= N , где N - количество устройств для запуска. По умолчанию устройства запускаются с экземпляра № 1 .

launch_cvd --num_instances= N

Чтобы изменить начальный номер экземпляра, выполните одно из следующих действий:

  • Добавьте флаг --base_instance_num= N с N в качестве первого номера экземпляра.

    launch_cvd --base_instance_num= N
    
  • Запустите Cuttlefish с учетной записью, совпадающей с vsoc- NN , где NN - номер базового экземпляра в двухзначной форме. Например, чтобы запустить Cuttlefish с учетной записью пользователя vsoc- 01 , выполните:

    launch_cvd --base_instance_num= 1
    

остановка

Чтобы остановить все устройства, запущенные последним launch_cvd , выполните:

stop_cvd

Powerwashing

Чтобы запустить устройство в исходном состоянии (состояние из сборки), добавьте флаг --resume=false с launch_cvd команды launch_cvd .

// Launch and interact with your devices
launch_cvd --num_devices= N --daemon
// Stop all your devices
stop_cvd
// Restart devices in their original states
launch_cvd --daemon --num_devices= N --resume=false