Créer des disques RAM en mémoire

Les instances de Google Compute Engine disposent d'une mémoire hautes performances de classe entreprise que vous pouvez utiliser pour exécuter 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 d'un type de machine à haute capacité de mémoire ou mettez à niveau les instances existantes pour ajouter de la mémoire.

Avant de commencer

Créer un disque RAM

Vous pouvez créer un disque RAM à l'aide de l'outil tmpfs, qui est installé par défaut sur de nombreux systèmes d'exploitation Linux.

  1. 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.

  2. 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.

  3. Créez un point d'installation pour votre disque RAM.

    $ sudo mkdir /mnt/ram-disk
    
  4. 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 machine n1-highmem-32 doté de 208 Go de mémoire. 50g est donc une taille de disque RAM appropriée.

    $ sudo mount -t tmpfs -o size=50g tmpfs /mnt/ram-disk
    
  5. Ajoutez le disque RAM au fichier /etc/fstab, afin que ce périphérique soit automatiquement installé à nouveau si vous redémarrez 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, supprimez 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.

  1. 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.

  2. 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 l'outil gcloud pour ajouter les métadonnées shutdown-script à l'instance. Le disque RAM 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"
    
  3. 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 l'outil gcloud 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"
    
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine