Cuttlefish: 스냅샷 및 복원

Android 15에서는 스냅샷을 생성하고 Cuttlefish 가상 기기의 스냅샷을 복원합니다. Kubernetes의 Cuttlefish 기기를 사용하면 디스크의 이미지에 기기 상태를 저장할 수 있습니다. 그런 다음 스냅샷을 복원하여 새 창에서 Cuttlefish 기기를 불러올 수 있습니다. 변경할 수 있습니다

스냅샷은 다양한 자동 또는 수동 워크플로에서 사용할 수 있습니다. 날짜 장치를 수정하는 절차를 수행하면서 해야 합니다. 예를 들어 기기 상태를 수정하는 테스트 도구 모음을 실행하는 경우 다음 테스트에서 문제나 불안정을 야기할 수 있습니다. 스냅샷을 생성한 다음 기기를 저장된 상태로 복원할 수 있습니다. 후속 테스트가 정상적으로 실행되도록 합니다.

스냅샷이 유용한 또 다른 워크플로 예는 앱 동작입니다. 앱 동작을 테스트하면서 앱이 실행되는 동안 작업 사이에 스냅샷을 만들 수 있습니다. 이 스냅샷으로 복원하는 데 사용할 수 있는 시작하겠습니다 예를 들어 게임 실행 시간이 긴 경우 기본 메뉴로 이동한 후 스냅샷을 촬영하여 원래 목록을 복원하고 불러오기 시간을 건너뜁니다.

Cuttlefish 기기의 스냅샷 촬영

기기의 스냅샷을 촬영할 때 Cuttlefish 기기를 정지해야 합니다. 를 호출하여 Cuttlefish 기기가 안정적인 상태인지 확인합니다. 기기가 정지되고 모든 vCPU와 기기가 중지되며 모든 버퍼가 상태를 VM에 전달합니다 그러면 스냅샷은 vCPU 상태, 메모리, 기기 상태를 지정된 대상 폴더의 디스크에 저장합니다

VirtiosFS는 지원되지 않으므로 스냅샷을 만들 때 사용 중지해야 합니다. 받는사람 VirtioFS를 사용 중지하고 인수 cvd start 실행 시 --enable_virtiofs=false

다음에는 SwiftShader (guest_swiftshader) GPU 모드만 지원됩니다. 살펴보겠습니다 기타 가속 그래픽 모드 지원되지 않습니다.

다음 단계에서는 Cuttlefish 기기를 실행하는 프로세스를 설명합니다. 스냅샷을 생성하는 것입니다.

  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
    

Cuttlefish 기기 복원

Cuttlefish 기기 스냅샷을 복원하면 중지되어야 합니다 인스턴스가 이미 중지되면 추가 조치가 필요하지 않으며 스냅샷을 복원할 수 있습니다.

Cuttlefish 기기의 스냅샷을 복원하려면 cvd start로 기기를 실행합니다. 스냅샷 경로를 포함합니다 Cuttlefish의 기본 인스턴스 번호가 스냅샷이 생성된 기기가 기본 인스턴스와 다른 경우 현재 Cuttlefish 인스턴스의 번호입니다. 기본 인스턴스를 전달합니다. --base_instance_num 플래그를 사용하여 숫자를 생성합니다.

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

Cuttlefish 기기 정지

스냅샷을 촬영하지 않고 Cuttlefish 기기를 정지할 수 있습니다 (디스크 공간 없음). 상태를 저장하는 데 사용됩니다). Cuttlefish 기기를 정지하려면 다음을 실행합니다.

cvd suspend

Cuttlefish 기기 재개

정지된 Cuttlefish 기기를 재개하려면 다음을 실행합니다.

cvd resume

스냅샷/복원 기능 유효성 검사

스냅샷/복원 기능은 다음 테스트를 실행하여 확인할 수 있습니다.

atest SnapshotTest