A possibilidade de ter vários locatários no Cuttlefish permite que sua máquina host inicie vários dispositivos virtuais convidados com uma única invocação de inicialização.
Essas várias máquinas virtuais do Cuttlefish podem compartilhar alguns recursos do
disco do host, permitindo economizar espaço no disco. Cada máquina virtual recebe uma
cobertura de sobreposição de disco distinta, que inclui as partições do Android (como super
,
userdata
, boot
). Qualquer modificação no disco do convidado é colocada em uma
sobreposição de disco específica do convidado, permitindo que cada máquina virtual do Cuttlefish tenha uma
visualização copy-on-write das partições do disco. À medida que cada dispositivo virtual grava mais
dados na visualização do disco, os arquivos de sobreposição no disco do host aumentam de
tamanho, porque capturam o delta entre o estado original e o
atual.
Os arquivos de sobreposição podem ser redefinidos para retornar o disco do Cuttlefish ao estado original. Esse processo é conhecido como Powerwash.
Números de instância
Os dispositivos Cuttlefish criam e consomem recursos no host vinculado ao
número da instância. Por exemplo, uma conexão adb
é exposta por um soquete de servidor
TCP na porta 6520
para o dispositivo Cuttlefish com número de instância 1
.
Quando várias instâncias são iniciadas, ele cria um soquete de servidor TCP na porta
6520
para o primeiro dispositivo, 6521
para o segundo dispositivo e aumenta
o número da porta para cada dispositivo extra.
Como modificar o número máximo de instâncias compatíveis
Os recursos do host, como os dispositivos de rede TAP, precisam ser pré-alocados para
máquinas virtuais do Cuttlefish. Por padrão, o
pacote Debian cuttlefish-base (link em inglês)
provisiona recursos para os números de instância de 1
a 10
.
Isso pode ser mudado ao modificar num_cvd_accounts
em
/etc/default/cuttlefish-host-resources
e reiniciar o
serviço cuttlefish-host-resources
executando o seguinte comando:
sudo systemctl restart cuttlefish-host-resources
Como controlar instâncias com vários locatários
Esta seção descreve como iniciar e parar dispositivos. Isso se aplica a
invocações de launch_cvd
com um e com vários locatários.
Como iniciar
Para iniciar vários dispositivos Cuttlefish de uma vez, use a
flag --num_instances=N
, em que N é o número
de dispositivos a serem iniciados. Por padrão, os dispositivos começam pelo número de instância 1
.
launch_cvd --num_instances=N
Para mudar o número de instância inicial, siga um destes procedimentos:
Adicione a flag
--base_instance_num=N
, com N como o primeiro número de instância.launch_cvd --base_instance_num=N
Inicie o Cuttlefish com uma conta de usuário correspondente a
vsoc-NN
, em que NN é o número de instância base com dois dígitos. Por exemplo, para iniciar o Cuttlefish com uma conta de usuáriovsoc-01
, execute:launch_cvd --base_instance_num=1
Como parar
Para interromper todos os dispositivos iniciados pela última invocação de launch_cvd
, execute:
stop_cvd