Creazione di dischi RAM in memoria

Le istanze di Compute Engine hanno una memoria di classe enterprise ad alte prestazioni che puoi utilizzare per eseguire le tue applicazioni. Puoi allocare parte di questa memoria per creare un disco RAM con una latenza eccezionalmente bassa e un throughput elevato. I dischi RAM funzionano bene quando l'applicazione prevede una struttura del file system e non può semplicemente archiviare i dati in memoria. I dischi RAM da soli non forniscono alcuna ridondanza o flessibilità di archiviazione, quindi è consigliabile utilizzare i dischi RAM in combinazione con altre opzioni di archiviazione dell'istanza.

I dischi RAM condividono la memoria dell'istanza con le tue applicazioni. Se le tue istanze non hanno memoria sufficiente per contenere i dischi RAM e le applicazioni, crea istanze con tipi di macchine highmem, come N2, o esegui l'upgrade delle istanze esistenti per aggiungere altra memoria.

Prima di iniziare

  • Scopri la differenza tra i dischi RAM e le altre opzioni di archiviazione di Compute Engine.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Seleziona la scheda relativa alla modalità di utilizzo degli esempi in questa pagina:

    Console

    Quando utilizzi la Google Cloud console per accedere a Google Cloud servizi e API, non devi configurare l'autenticazione.

    gcloud

    1. Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  • Imposta una regione e una zona predefinite.
  • REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI.

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticati per usare REST nella Google Cloud documentazione sull'autenticazione di.

Creazione di un disco RAM

Puoi creare un disco RAM con il file system tmpfs, incluso per impostazione predefinita nella maggior parte delle distribuzioni Linux.

  1. Se l'istanza non ha memoria disponibile sufficiente, puoi facoltativamente modificare il tipo di macchina dell'istanza in un tipo di macchina con più memoria.

  2. Connettiti all'istanza tramite SSH. Per questo esempio, vai alla pagina Istanze VM e fai clic sul pulsante SSH accanto all'istanza a cui vuoi aggiungere un disco RAM.

  3. Crea un punto di montaggio per il disco RAM.

    $ sudo mkdir /mnt/ram-disk
    
  4. Crea e monta un nuovo disco RAM tmpfs. Devi determinare un valore per la proprietà size che soddisfi i requisiti di archiviazione senza competere con le applicazioni per la memoria o utilizzare tutta la memoria disponibile. In questo esempio, l'istanza ha un n1-highmem-32 tipo di macchina con 208 GB di memoria, quindi una dimensione del disco RAM di 50g è appropriata.

    $ sudo mount -t tmpfs -o size=50g tmpfs /mnt/ram-disk
    
  5. Aggiungi il disco RAM al file /etc/fstab in modo che il dispositivo venga montato di nuovo automaticamente se riavvii l'istanza:

    $ echo 'tmpfs /mnt/ram-disk tmpfs nodev,nosuid,noexec,nodiratime,size=50G 0 0' | sudo tee -a /etc/fstab
    

Eliminazione di un disco RAM

Puoi smontare un disco RAM tmpfs come qualsiasi altro volume. In questo modo vengono eliminati il disco RAM e tutti i dati in esso archiviati. Per questo esempio, rimuovi un disco RAM montato su /mnt/ram-disk:

$ sudo umount /mnt/ram-disk

Eseguire automaticamente il backup dei dati del disco RAM tra i riavvii dell'istanza

Puoi eseguire il backup di un disco RAM prima del riavvio dell'istanza per conservare i dati del disco RAM fino al riavvio dell'istanza. Esegui il backup dei dati in un volume Google Cloud Hyperdisk o in un volume Persistent Disk se il tipo di macchina della VM non supporta Hyperdisk.

  1. Crea e monta un volume Hyperdisk da utilizzare come disco di backup per il disco RAM. Assicurati che il disco sia abbastanza grande da contenere le informazioni nel disco RAM.

  2. Crea uno script di arresto per l'istanza con un comando rsync che scriva i contenuti del disco RAM nel volume di backup. Per questo esempio, utilizza gcloud CLI per aggiungere i shutdown-script metadati all'istanza con il disco RAM montato su /mnt/ram-disk e il volume Hyperdisk montato su /mnt/ram-disk-backup.

    gcloud compute instances add-metadata example-instance --metadata shutdown-script="#! /bin/bash
    rsync -a --delete --recursive --force /mnt/ram-disk/ /mnt/ram-disk-backup/
    EOF"
    
  3. Facoltativamente, puoi anche creare uno script di avvio che ripristini i file nel disco RAM al riavvio dell'istanza. Utilizza gcloud CLI per aggiungere i metadati startup-script all'istanza.

    gcloud compute instances add-metadata example-instance --metadata startup-script="#! /bin/bash
    rsync -a --recursive --force /mnt/ram-disk-backup/ /mnt/ram-disk/
    EOF"