Ambiente guest


Quando avvii un'istanza di una macchina virtuale (VM) utilizzando le immagini pubbliche fornite da Google, un ambiente guest viene installato automaticamente nell'istanza VM. L'ambiente guest è un insieme di script, demoni e binari che leggono i contenuti del server di metadati per consentire a una VM di funzionare correttamente su Compute Engine. Un server di metadati è un canale di comunicazione per il trasferimento di informazioni da un client al sistema operativo guest.

Questo documento fornisce una panoramica dei componenti dell'ambiente guest, dei sistemi operativi supportati e spiega come sapere quando è necessario installare o aggiornare manualmente l'ambiente guest.

Quando installare o aggiornare manualmente l'ambiente guest

Le istanze VM create utilizzando le immagini pubbliche fornite da Google includono un ambiente guest installato per impostazione predefinita.

Per verificare se l'ambiente guest è in esecuzione nella tua istanza, consulta Convalidare l'ambiente guest.

In alcuni casi, l'ambiente guest installato può diventare obsoleto. Se l'ambiente guest è disponibile nella tua istanza, ma è obsoleto, aggiornalo.

In caso contrario, potrebbe essere necessario installare manualmente l'ambiente guest nelle seguenti condizioni:

  • Importi un'immagine personalizzata o un disco virtuale nella piattaforma Compute Engine e scegli di non consentire un'installazione automatica dell'ambiente guest.

    Quando importi dischi virtuali o immagini personalizzate, hai la possibilità di lasciare che sia Compute Engine a installare l'ambiente guest per te. Tuttavia, se scegli di non installare l'ambiente guest durante la procedura di importazione, devi seguire i passaggi manuali.

  • Hai eseguito la migrazione delle VM a Compute Engine utilizzando Migrate to Virtual Machines.

  • Stai utilizzando un'immagine che non dispone delle ottimizzazioni dell'ambiente guest per i dischi SSD locali.

  • Esistono istanze che utilizzano un'immagine precedente al giorno v20141218.

Se devi installare manualmente l'ambiente guest, consulta Installazione dell'ambiente guest.

Sistemi operativi supportati

Ogni sistema operativo supportato disponibile su Compute Engine richiede pacchetti di ambienti guest specifici. Questi pacchetti vengono creati da Google o dal proprietario del sistema operativo. Per informazioni su chi compila i pacchetti dell'ambiente guest, consulta le sezioni Differenze significative rispetto alle immagini standard nel documento Dettagli del sistema operativo.

L'ambiente guest Linux

Indipendentemente dal fatto che l'ambiente guest Linux sia creato da Google o dal proprietario del sistema operativo, esistono alcuni componenti chiave applicabili a tutte le build.

I componenti di base di un ambiente guest Linux vengono forniti come pacchetti deb o rpm creati con le configurazioni appropriate per le distribuzioni supportate.

Il seguente elenco riassume gli script, i demoni e i pacchetti principali che vengono impacchettati nell'ambiente guest Linux:

  • Il pacchetto google-compute-engine contiene i seguenti componenti:

    • Script di inizializzazione di sistema per systemd.
    • Configurazioni di sistema, come regole udev, regole sysctl, configurazioni rsyslog e configurazioni dhcp, utilizzate per l'impostazione del nome host.
    • Script bash eseguiti durante l'avvio dell'istanza.

    Questo pacchetto dipende dai pacchetti google-guest-agent e google-compute-engine-oslogin.

    Per esaminare il codice sorgente di questo pacchetto, consulta guest-configs su GitHub.

  • Il pacchetto google-guest-agent contiene gli script eseguibili dell'agente guest e dei metadati che vengono eseguiti sul sistema operativo guest per supportare le funzionalità di Compute Engine. L'agente guest Linux supporta le seguenti funzionalità:

    L'agente guest Linux comunica con i servizi Compute Engine come segue:

    L'agente guest Linux raccoglie anche i dati di telemetria dal sistema operativo guest da utilizzare per l'analisi e il debug. I dati di telemetria includono: nome del sistema operativo, versione del sistema operativo, release del kernel del sistema operativo, versione del kernel del sistema operativo e versione dell'agente del sistema operativo. Per disattivare la raccolta dei dati di telemetria, imposta i seguenti metadati a livello di VM o di progetto: disable-guest-telemetry=TRUE.

    A partire da dicembre 2024, l'agente guest installa un'unità systemd secondaria chiamata google-guest-agent-manager. Questa unità gestisce il ciclo di vita dei plug-in on demand.

    Per esaminare il codice sorgente di questo pacchetto, consulta guest-agent su GitHub.

  • Il pacchetto google-compute-engine-oslogin contiene i binari, i moduli e gli script per Accesso al sistema operativo. Puoi utilizzare OS Login per gestire l'accesso alle istanze VM utilizzando i ruoli IAM (Identity and Access Management).

    Il pacchetto include quanto segue:

    • Comando chiavi autorizzate che fornisce le chiavi SSH dal profilo di OS Login al sistema operativo dell'utente a sshd per l'autenticazione degli utenti al momento dell'accesso.
    • Moduli Name Service Switch (NSS) che forniscono il supporto per rendere disponibili al sistema le informazioni su gruppi e utenti di accesso al OS Login.
    • I moduli di autenticazione plug-in (PAM) che forniscono l'autorizzazione (e l'autenticazione se è attivato il supporto di autenticazione di due fattori) supportano il sistema per utilizzare le autorizzazioni IAM di Google Cloud per controllare la possibilità di accedere a un'istanza o di eseguire operazioni come utente root (tramite sudo).
    • google_oslogin_nss_cache, un'utilità per aggiornare la cache locale degli utenti e dei gruppi.
    • selinux contiene file di definizione dei criteri SELinux e un pacchetto di criteri compilato per configurare SELinux in modo da supportare lOS Login.

    I componenti di OS Login comunicano con i servizi Compute Engine come segue:

    Per esaminare il codice sorgente di questo pacchetto, consulta guest-oslogin su GitHub.

  • I componenti gce-disk-expand comunicano con i servizi Compute Engine come segue:

    • Invia i log alla porta seriale

    Per esaminare il codice sorgente di questo pacchetto, consulta guest-diskexpand su GitHub.

  • Il pacchetto google-osconfig-agent contiene l'agente di configurazione del sistema operativo utilizzato da VM Manager per gestire l'inventario, le patch e i criteri del sistema operativo.

    Gli script comunicano con i servizi Compute Engine come segue:

    Per esaminare il codice sorgente di questo agente, consulta osconfig su GitHub.

L'ambiente guest Windows

L'elenco seguente riassume i pacchetti che fanno parte dell'ambiente guest Windows:

  • Il pacchetto google-compute-engine-windows contiene l'agente guest di Windows. L'agente ospite di Windows viene utilizzato per supportare le seguenti procedure:

    L'agente guest di Windows comunica con i servizi Compute Engine come segue: + Legge i dati e li scrive nei metadati della VM + Invia i log al Log eventi delle applicazioni di Windows, alla porta seriale e Cloud Logging

    L'agente guest di Windows raccoglie anche i dati di telemetria dal sistema operativo guest da utilizzare per l'analisi e il debug. I dati di telemetria includono: nome del sistema operativo, versione del sistema operativo, release del kernel del sistema operativo, versione del kernel del sistema operativo e versione dell'agente del sistema operativo. Per disattivare la raccolta dei dati di telemetria, imposta i seguenti metadati a livello di VM o di progetto: disable-guest-telemetry=TRUE.

    A partire da dicembre 2024, l'agente ospite installa un servizio di sistema secondario chiamato GCEAgentManager. Questo servizio gestisce il ciclo di vita dei plug-in on demand.

    Per esaminare il codice sorgente di questo agente, consulta guest-agent su GitHub.

  • Il pacchetto google-compute-engine-sysprep contiene script per la generalizzazione di un'istanza Windows in preparazione alla creazione di un'immagine. Il pacchetto include anche lo script instance_setup.ps1, utilizzato al primo avvio per configurare la nuova istanza.

    Gli script comunicano con i servizi Compute Engine come segue:

    • Legge e scrive dati nei metadati della VM
    • Invia i log al log eventi dell'applicazione di Windows e alla porta seriale

    Per esaminare il codice sorgente di questo agente, consulta compute-image-windows su GitHub

  • Il pacchetto google-compute-engine-metadata-scripts contiene script e file binari utilizzati per l'esecuzione degli script Compute Engine, sysprep-specialize, startup e shutdown.

    Gli script comunicano con i servizi Compute Engine come segue:

    • Legge e scrive dati nei metadati della VM
    • Letture dalle posizioni Cloud Storage quando vengono utilizzati sysprep-specialize-script-url e windows-startup-script-url
    • Invia i log al log eventi dell'applicazione di Windows, alla porta seriale e Cloud Logging

    Per esaminare il codice sorgente di questo agente, consulta compute-image-windows su GitHub

  • Il pacchetto google-compute-engine-powershell contiene un modulo PowerShell. Questo modulo contiene funzioni comuni utilizzate dagli script di PowerShell negli altri script dell'ambiente guest di Windows.

    Gli script comunicano con i seguenti servizi Compute Engine:

    • Per impostazione predefinita, la funzione di registrazione nel modulo PowerShell invia i log al log eventi delle applicazioni di Windows e alla porta seriale.

    Per esaminare il codice sorgente di questo agente, consulta compute-image-windows su GitHub.

  • Il pacchetto google-compute-engine-auto-updater contiene script che vengono utilizzati per aggiornare quotidianamente i pacchetti Compute Engine. Questo pacchetto non viene più installato per impostazione predefinita.

    Gli script comunicano con i servizi Compute Engine come segue:

    • Legge i dati dai metadati della VM
    • Chiama l'agente Googet per inviare i log al Registro eventi e alla console delle applicazioni Windows

    Per esaminare il codice sorgente di questo agente, consulta compute-image-windows su GitHub.

  • Il pacchetto google-compute-engine-diagnostics contiene un file binario utilizzato per ottenere informazioni di diagnostica dall'istanza e salva le informazioni in un bucket Cloud Storage. Il file binario viene eseguito dall'agente ospite di Windows.

    Gli script comunicano con i servizi Compute Engine come segue:

    • Salva i dati in un bucket Cloud Storage

    Per esaminare il codice sorgente di questo agente, consulta compute-image-tools su GitHub

  • Il pacchetto certgen contiene un file binario che crea un certificato sull'istanza.

    Per esaminare il codice sorgente di questo agente, consulta compute-image-windows su GitHub.

  • Il pacchetto googet contiene un file binario che è un gestore di pacchetti utilizzato per installare e gestire l'ambiente guest.

    Gli script comunicano con i servizi Compute Engine leggendo i dati dai repository Google Cloud all'indirizzo packages.cloud.google.com.

    Per esaminare il codice sorgente di questo agente, consulta googet su GitHub.

  • Il pacchetto google-compute-engine-vss installa l'agente e il provider VSS di Compute Engine utilizzati per acquisire uno snapshot del disco permanente utilizzando il Volume Shadow Copy Service (VSS) di Microsoft.

    Gli script comunicano con i servizi Compute Engine come segue:

    • Comunica con il servizio di snapshot di Google Cloud

    Per esaminare il codice sorgente di questo agente, consulta compute-image-windows su GitHub

  • Il pacchetto google-osconfig-agent contiene l'agente di configurazione del sistema operativo, che viene utilizzato da VM Manager per gestire l'inventario, le patch e i criteri del sistema operativo.

    Gli script comunicano con i servizi Compute Engine come segue:

    Per esaminare il codice sorgente di questo agente, consulta osconfig su GitHub.

Driver Windows di Compute Engine

I seguenti driver Compute Engine vengono gestiti per le immagini Windows:

Tipo di driver Nome pacchetto
Adattatore Ethernet google-compute-engine-driver-netkvm
Disco SCSI google-compute-engine-driver-vioscsi
Adattatore display google-compute-engine-driver-gga
Gestione degli arresti anomali google-compute-engine-driver-pvpanic
Driver Virtuio memory balloon google-compute-engine-driver-balloon
Scheda NIC virtuale di Google google-compute-engine-driver-gvnic

Ogni driver viene pacchettizzato utilizzando GooGet e pubblicato nei repository Google Cloud. Il codice sorgente dei driver è disponibile su compute-windows-drivers su GitHub. Tutte le immagini Windows di Google Cloud sono preconfigurate con lo strumento GooGet e i repository Google Cloud. Se devi installare GooGet e configurare i repository autonomamente, consulta Pacchettizzazione e distribuzione dei pacchetti.

Per installare o eseguire l'upgrade di un driver specifico, esegui il seguente comando:

googet install DRIVER_PACKAGE_NAME

Passaggi successivi

Per istruzioni dettagliate sull'installazione dell'ambiente guest, consulta Installazione dell'ambiente guest.