Sotong: Multi-tenancy dan Powerwashing

Multi-tenancy Sotong memungkinkan mesin host Anda meluncurkan beberapa perangkat tamu virtual dengan satu permintaan peluncuran.

Beberapa mesin virtual Sotong ini dapat berbagi beberapa sumber daya disk host, memungkinkan Anda menghemat ruang disk. Setiap mesin virtual mendapatkan overlay disk berbeda yang mencakup partisi Android (seperti super , userdata , boot ). Setiap modifikasi pada disk tamu ditempatkan dalam overlay disk khusus tamu, memberikan setiap mesin virtual Sotong tampilan copy-on-write dari partisi disknya. Karena setiap perangkat virtual menulis lebih banyak data ke tampilan disk, file overlay pada disk host bertambah besar karena mereka menangkap delta antara status asli dan status saat ini.

File overlay dapat diatur ulang untuk mengembalikan disk Sotong ke keadaan semula. Proses ini dikenal sebagai powerwashing .

Nomor Instance

Perangkat sotong membuat dan menggunakan sumber daya pada host yang terkait dengan nomor instansnya . Misalnya, koneksi adb diekspos melalui soket server TCP pada port 6520 untuk perangkat Sotong dengan nomor instans 1 . Ketika beberapa instans diluncurkan, itu membuat soket server TCP di port 6520 untuk perangkat pertama, 6521 untuk perangkat kedua, dan menambah nomor port untuk setiap perangkat tambahan.

Memodifikasi jumlah maksimum instance yang didukung

Sumber daya sisi host, seperti perangkat jaringan TAP, harus dialokasikan sebelumnya untuk mesin virtual Sotong. Secara default, paket Debian sotong-umum menyediakan sumber daya untuk contoh nomor 1 hingga 10 .

Ini dapat diubah dengan memodifikasi num_cvd_accounts di /etc/default/cuttlefish-common dan memulai kembali layanan cuttlefish-common dengan menjalankan perintah berikut:

sudo systemctl restart cuttlefish-common

Mengontrol instans multi-penyewa

Bagian ini menjelaskan cara memulai, menghentikan, dan melakukan powerwash pada perangkat. Ini berlaku untuk pemanggilan launch_cvd penyewa tunggal dan multi penyewa.

mulai

Untuk meluncurkan beberapa perangkat Sotong sekaligus, gunakan --num_instances= N , di mana N adalah jumlah perangkat yang akan diluncurkan. Secara default, perangkat dimulai dari instance nomor 1 .

launch_cvd --num_instances=N

Untuk mengubah nomor instans awal, lakukan salah satu hal berikut:

  • Tambahkan --base_instance_num= N dengan N sebagai nomor instance pertama.

    launch_cvd --base_instance_num=N
    
  • Luncurkan Cuttlefish dengan akun pengguna yang cocok dengan vsoc- NN , di mana NN adalah nomor instance dasar dalam bentuk dua digit. Misalnya, untuk meluncurkan Sotong dengan akun pengguna vsoc- 01 , jalankan:

    launch_cvd --base_instance_num=1
    

Henti

Untuk menghentikan semua perangkat yang diluncurkan oleh pemanggilan launch_cvd terakhir, jalankan:

stop_cvd

Powerwashing

Untuk memulai perangkat dalam status aslinya (status dari build), tambahkan --resume=false dengan perintah 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