Seppia: istantanea e ripristino

Android 15 spiega come acquisire istantanee e ripristinare uno snapshot di un dispositivo virtuale Cuttlefish. L'acquisizione di un'istantanea di un Il dispositivo Seppia ti consente di salvare lo stato del dispositivo in un'immagine su disco. Puoi quindi ripristinare l'istantanea per far apparire un dispositivo Seppia sulla stato salvato in precedenza.

Puoi utilizzare gli snapshot in vari flussi di lavoro automatici o manuali. Quando eseguendo una procedura che modifica il dispositivo, puoi acquisire un'istantanea per assicurarti di poter ripristinare lo stato specificato per il dispositivo. Ad esempio, durante l'esecuzione di suite di test che modificano lo stato del dispositivo e potrebbero causare problemi o instabilità nei seguenti test, puoi scattare una foto per ripristinare lo stato salvato del dispositivo dopo un test per garantire che i test successivi vengano eseguiti correttamente.

Un altro flusso di lavoro di esempio in cui gli snapshot sono utili è quello di testare comportamento di un'app. Quando testi il comportamento di un'app in base a un insieme di azioni, puoi creare un'istantanea tra un'azione e l'altra mentre l'app è in esecuzione per consentirti di ripristinare lo snapshot senza dover riavviare partendo da zero. Ad esempio, se l'avvio di un gioco richiede un tempo di avvio lungo, può acquisire un'istantanea dopo aver raggiunto il menu principale per poter ripristinare il dispositivo a quello stato, saltando il tempo di richiamo.

Scatta un'istantanea di un dispositivo Seppia

Quando scatti una foto di un dispositivo, il dispositivo Seppia deve essere sospeso. per assicurarti che il dispositivo Seppia sia in uno stato stabile. Quando il dispositivo viene sospesa, tutte le vCPU e i dispositivi vengono arrestati e tutti i buffer eseguono il push il proprio stato alla VM. Lo snapshot salva quindi lo stato, la memoria e lo stato del dispositivo su disco in una cartella di destinazione specificata.

VirtiosFS non è supportato e deve essere disabilitato quando si acquisisce uno snapshot. A disabilita VirtioFS, passa l'argomento --enable_virtiofs=false con cvd start in esecuzione.

Per cui è supportata solo la modalità GPU SwiftShader (guest_swiftshader) snapshot. Altre modalità grafiche accelerate non sono supportati.

I passaggi seguenti descrivono la procedura di avvio di un dispositivo Seppia. e scattare una foto.

  1. Avvia un dispositivo disattivando VirtioFS. Dopodiché potrai utilizzare il dispositivo.

    cvd start --enable_virtiofs=false --gpu_mode=guest_swiftshader
    
  2. Acquisisci uno snapshot eseguendo cvd snapshot_take con i seguenti flag:

    • --force: se esiste una cartella nel percorso dello snapshot specificato, questa assicura che la cartella esistente venga eliminata e che venga creata una nuova viene creato nel percorso contenente lo snapshot

    • --auto_suspend: il dispositivo viene sospeso prima dell'acquisizione dello snapshot e ripristina il dispositivo dopo l'acquisizione dello snapshot.

    • --snapshot_path: il percorso specificato in cui viene creata una nuova cartella con l'istantanea.

    cvd snapshot_take --force --auto_suspend \
    --snapshot_path=PATH
    

Ripristinare un dispositivo Seppia

Quando ripristini uno snapshot del dispositivo Cuttlefish, l'istanza Cuttlefish di cui è stato acquisito lo snapshot. Se l'istanza è già interrotto, non sono necessarie ulteriori azioni e lo snapshot può essere ripristinato.

Per ripristinare un'istantanea di un dispositivo Seppia, avvia un dispositivo con cvd start e includi il percorso dello snapshot. Se il numero di istanza base della Seppia Il dispositivo su cui è stato acquisito lo snapshot è diverso dall'istanza di base numero dell'istanza Cuttlefish attuale, passa quell'istanza di base utilizzando il flag --base_instance_num.

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

Sospendere un dispositivo Seppia

Puoi sospendere un dispositivo Seppia senza acquisire uno snapshot (senza spazio su disco) viene utilizzato per salvare lo stato). Per sospendere un dispositivo Seppia, esegui:

cvd suspend

Riprendere un dispositivo Seppia

Per ripristinare un dispositivo Seppia sospeso, esegui:

cvd resume

Convalida la funzionalità Snapshot/Ripristina

La funzionalità Snapshot/Ripristino può essere convalidata eseguendo questo test:

atest SnapshotTest