Creazione di dischi RAM in memoria


Le istanze di Compute Engine dispongono di memoria di livello enterprise ad alte prestazioni, che puoi utilizzare per eseguire le tue applicazioni. Puoi allocare parte di questa memoria e crea un disco RAM con latenza eccezionalmente bassa e velocità effettiva elevata. Dischi RAM funzionano bene quando l'applicazione prevede una struttura di file system e non può archivia semplicemente i suoi dati in memoria. I dischi RAM da soli non forniscono ridondanza dello spazio di archiviazione o flessibilità, quindi è meglio usare dischi RAM combinazione con altri 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 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 già fatto, configura l'autenticazione. Autenticazione è la procedura di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione 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 di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci 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 mediante SSH. Per questo esempio, vai alla sezione Pagina Istanze VM e fai clic sul pulsante SSH accanto all'istanza in cui vuoi aggiungere una RAM disco.

  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 size proprietà che soddisfa i requisiti di spazio di archiviazione senza competere con le applicazioni per la memoria o di spendere tutta la memoria disponibile. Per questo esempio, l'istanza ha n1-highmem-32 di tipo di macchina con 208 GB di memoria, quindi è appropriata una dimensione del disco RAM pari a 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. Questa operazione elimina disco RAM e tutti i dati archiviati al suo interno. Per questo esempio, rimuovi un disco RAM montato in /mnt/ram-disk:

$ sudo umount /mnt/ram-disk

Backup automatico dei dati del disco RAM tra i riavvii delle istanze

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

  1. Crea e monta un disco permanente da usare come disco di backup per il disco RAM. Assicurati che il disco sia abbastanza grande per contenere le informazioni nel 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 a l'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"