Creazione di dischi RAM in memoria


Le istanze Compute Engine dispongono di 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 latenza eccezionalmente bassa e velocità effettiva elevata. I dischi RAM funzionano bene quando l'applicazione prevede una certa struttura del file system e non può semplicemente archiviare i dati in memoria. I dischi RAM da soli non forniscono alcuna ridondanza o flessibilità dell'archiviazione, quindi è meglio utilizzarli in combinazione con altre opzioni di archiviazione delle istanze.

I dischi RAM condividono la memoria dell'istanza con le tue applicazioni. Se le tue istanze memoria sufficiente per contenere dischi RAM e le tue applicazioni, crea di istanze VM con highmem tipi di macchina, come N2 o eseguire l'upgrade delle istanze esistenti per aggiungere più memoria.

Prima di iniziare

  • Scopri la differenza tra i dischi RAM e altri Opzioni di archiviazione di Compute Engine.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine come segue.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

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 dispone di memoria sufficiente, puoi facoltativamente modificare il tipo di macchina di istanza a 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 in 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 tuoi requisiti di archiviazione senza competere con le tue applicazioni per la memoria o utilizzare tutta la memoria disponibile. Per questo esempio, l'istanza ha un tipo di macchina n1-highmem-32 con 208 GB di memoria, quindi è appropriata una dimensione del disco RAM di 50g.

    $ 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 automaticamente monta di nuovo 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. Verrà eliminato il disco RAM e tutti i dati memorizzati al suo interno. Per questo esempio, rimuovi un disco RAM mounted at /mnt/ram-disk:

$ sudo umount /mnt/ram-disk

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

Puoi eseguire il backup di un disco RAM prima del riavvio dell'istanza per preservare i dati del disco RAM fino al successivo riavvio dell'istanza. Esegui il backup dei dati su un disco permanente per conservarlo.

  1. Crea e monta un disco permanente da utilizzare come disco di backup per il disco RAM. Assicurati che il disco sia sufficientemente grande per contenere le informazioni del disco RAM.

  2. Crea uno script di chiusura per l'istanza con un comando rsync che scrive i contenuti del disco RAM sul backup volume. Per questo esempio, utilizza gcloud CLI per aggiungere shutdown-script i metadati sull'istanza con il disco RAM montato in /mnt/ram-disk e del disco permanente montato in /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 crea uno script di avvio che ripristina i file sul disco RAM all'avvio dell'istanza di nuovo. 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"