오징어: 멀티테넌시

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

Cuttlefish 다중 테넌시를 사용하면 호스트 시스템이 단일 시작 호출로 여러 가상 게스트 장치를 시작할 수 있습니다.

이러한 여러 Cuttlefish 가상 머신은 일부 호스트 디스크 리소스를 공유할 수 있으므로 디스크 공간을 절약할 수 있습니다. 각 가상 머신은 Android 파티션(예: super , userdata , boot )을 포함하는 고유한 디스크 오버레이를 가져옵니다. 게스트 디스크에 대한 모든 수정 사항은 게스트별 디스크 오버레이에 배치되어 각 Cuttlefish 가상 머신에 디스크 파티션의 기록 중 복사 보기를 제공합니다. 각 가상 장치가 디스크 보기에 더 많은 데이터를 쓸수록 원래 상태와 현재 상태 사이의 델타를 캡처하기 때문에 호스트 디스크의 오버레이 파일 크기가 증가합니다.

오버레이 파일을 재설정하여 Cuttlefish 디스크를 원래 상태로 되돌릴 수 있습니다. 이 프로세스를 powerwashing 이라고 합니다.

인스턴스 번호

Cuttlefish 장치는 해당 인스턴스 번호 에 연결된 호스트에서 리소스를 생성하고 소비합니다. 예를 들어 adb 연결은 인스턴스 번호가 1 인 Cuttlefish 기기의 포트 6520 에서 TCP 서버 소켓을 통해 노출됩니다. 여러 인스턴스가 시작되면 첫 번째 장치의 경우 포트 6520 , 두 번째 장치의 경우 포트 6521 에 TCP 서버 소켓을 생성하고 각 추가 장치의 포트 번호를 증가시킵니다.

지원되는 최대 인스턴스 수 수정

TAP 네트워크 장치와 같은 호스트 측 리소스는 Cuttlefish 가상 머신에 미리 할당되어야 합니다. 기본적으로 오징어 기반 Debian 패키지는 인스턴스 번호 1 ~ 10 에 대한 리소스를 프로비저닝합니다.

이것은 /etc/default/cuttlefish-host-resources 에서 num_cvd_accounts 를 수정하고 다음 명령을 실행하여 cuttlefish-host-resources 서비스를 다시 시작하여 변경할 수 있습니다.

sudo systemctl restart cuttlefish-host-resources

다중 테넌트 인스턴스 제어

이 섹션에서는 장치를 시작하고 중지하는 방법에 대해 설명합니다. 이는 단일 테넌트 및 다중 테넌트 launch_cvd 호출 모두에 적용됩니다.

시작

한 번에 여러 Cuttlefish 장치를 시작하려면 --num_instances= N 플래그를 사용합니다. 여기서 N 은 시작할 장치 수입니다. 기본적으로 장치는 인스턴스 번호 1 에서 시작합니다.

launch_cvd --num_instances=N

시작 인스턴스 번호를 변경하려면 다음 중 하나를 수행하십시오.

  • N 이 첫 번째 인스턴스 번호인 --base_instance_num= N 플래그를 추가합니다.

    launch_cvd --base_instance_num=N
    
  • vsoc- NN 과 일치하는 사용자 계정으로 Cuttlefish를 시작합니다. 여기서 NN 은 두 자리 형식의 기본 인스턴스 번호입니다. 예를 들어 사용자 계정 vsoc- 01 로 Cuttlefish를 시작하려면 다음을 실행합니다.

    launch_cvd --base_instance_num=1
    

멎는

마지막 launch_cvd 호출로 시작된 모든 장치를 중지하려면 다음을 실행하십시오.

stop_cvd