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
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe 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.
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.
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.
Crea un punto di montaggio per il disco RAM.
$ sudo mkdir /mnt/ram-diskCrea e monta un nuovo disco RAM
tmpfs. Devi determinare un valore per la proprietàsizeche 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 unn1-highmem-32tipo di macchina con 208 GB di memoria, quindi una dimensione del disco RAM di50gè appropriata.$ sudo mount -t tmpfs -o size=50g tmpfs /mnt/ram-diskAggiungi il disco RAM al file
/etc/fstabin 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.
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.
Crea uno script di arresto per l'istanza con un comando
rsyncche scriva i contenuti del disco RAM nel volume di backup. Per questo esempio, utilizza gcloud CLI per aggiungere ishutdown-scriptmetadati all'istanza con il disco RAM montato su/mnt/ram-diske 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"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-scriptall'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"