Les instances de Google Compute Engine disposent d'une mémoire hautes performances de classe entreprise que vous pouvez utiliser dans l'exécution de vos applications. Une partie de cette mémoire peut également être allouée à la création d'un disque RAM, garantissant une latence exceptionnellement faible et un débit élevé. Les disques RAM représentent une bonne solution lorsque l'application attend une structure de système de fichiers et ne peut pas stocker simplement ses données dans la mémoire. Dans la mesure où les disques RAM n'assurent pas à eux seuls la redondance ni la flexibilité du stockage, il est préférable de les utiliser en combinaison avec d'autres options de stockage d'instances.
Les disques RAM partagent la mémoire des instances avec vos applications. Si vos instances ne disposent pas de suffisamment de mémoire pour contenir à la fois les disques RAM et les applications, créez des instances dotées des types de machines highmem
, tels que N2 ou mettez à niveau les instances existantes pour ajouter de la mémoire.
Avant de commencer
- Prenez connaissance des différences entre les disques RAM et les autres options de stockage de Compute Engine.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
Créer un disque RAM
Vous pouvez créer un disque RAM avec le système de fichiers tmpfs
, qui est inclus par défaut dans la plupart des distributions Linux.
Si une instance ne présente pas suffisamment de mémoire disponible, vous pouvez éventuellement remplacer le type de machine de cette instance par un type de machine comportant plus de mémoire.
Connectez-vous à l'instance via SSH. Pour cet exemple, accédez à la page Instances de VM, puis cliquez sur le bouton SSH situé en regard de l'instance à laquelle vous souhaitez ajouter un disque RAM.
Créez un point d'installation pour votre disque RAM.
$ sudo mkdir /mnt/ram-disk
Créez un disque RAM
tmpfs
, puis installez-le. Pour la propriétésize
, vous devez spécifier une valeur qui couvre vos besoins de stockage sans empiéter sur les besoins en mémoire de vos applications ni consommer la totalité de la mémoire disponible. Pour cet exemple, l'instance est associée au type de machinen1-highmem-32
, qui est doté de 208 Go de mémoire. La valeur50g
représente donc une taille de disque RAM appropriée.$ sudo mount -t tmpfs -o size=50g tmpfs /mnt/ram-disk
Ajoutez le disque RAM au fichier
/etc/fstab
. Cela permet la réinstallation automatique de ce périphérique en cas de redémarrage de l'instance :$ echo 'tmpfs /mnt/ram-disk tmpfs nodev,nosuid,noexec,nodiratime,size=50G 0 0' | sudo tee -a /etc/fstab
Supprimer un disque RAM
Vous pouvez désinstaller un disque RAM tmpfs
comme n'importe quel autre volume. Cela supprime le disque RAM et toutes les données qui y sont stockées. Pour cet exemple, vous allez supprimer un disque RAM installé dans /mnt/ram-disk
:
$ sudo umount /mnt/ram-disk
Sauvegarder automatiquement les données d'un disque RAM entre les redémarrages d'une instance
Vous pouvez sauvegarder un disque RAM avant le redémarrage d'une instance afin de conserver les données qu'il contient jusqu'à ce que cette instance soit de nouveau active. Pour conserver ces données, sauvegardez-les sur un disque persistant.
Créez et installez un disque persistant à utiliser comme disque de sauvegarde pour votre disque RAM. Assurez-vous que ce disque est assez volumineux pour contenir les informations stockées sur le disque RAM.
Créez un script d'arrêt pour votre instance, en y insérant une commande
rsync
permettant d'écrire le contenu du disque RAM sur le volume de sauvegarde. Pour cet exemple, utilisez gcloud CLI pour ajouter les métadonnéesshutdown-script
à l'instance. Le disque RAM de cette instance est installé dans/mnt/ram-disk
, et le disque persistant dans/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"
Si vous le souhaitez, vous pouvez également créer un script de démarrage qui restaure les fichiers sur le disque RAM lorsque l'instance redémarre. Utilisez gcloud CLI pour ajouter les métadonnées
startup-script
à l'instance.gcloud compute instances add-metadata example-instance --metadata startup-script="#! /bin/bash rsync -a --recursive --force /mnt/ram-disk-backup/ /mnt/ram-disk/ EOF"