Amazon Elastic Compute Cloud
Guide de l'utilisateur pour les instances Linux

Volumes d'échange de stockage d'instance

L'espace d'échange de Linux peut être utilisé quand un système nécessite plus de mémoire que celle qui lui a été allouée physiquement. Quand l'espace d'échange est activé, les systèmes peuvent échanger exceptionnellement les pages mémoire utilisées entre la mémoire physique et l'espace d'échange (partition dédiée ou fichier d'échange d'un système de fichiers existant) et libérer cet espace pour les pages mémoire qui nécessitent un accès à haute vitesse.

Note

L'utilisation de l'espace d'échange pour la pagination mémoire n'est pas aussi rapide ou efficace que celle de la RAM. Si votre charge de travail pagine régulièrement la mémoire dans l'espace d'échange, envisagez de migrer vers un type d'instance plus grand avec plus de RAM. Pour plus d'informations, consultez Modification du type d'instance.

Les types d'instance c1.medium et m1.small ont une quantité limitée de mémoire physique à utiliser et bénéficient d'un volume d'échange de 900 Mio au moment du lancement qui fait office de mémoire virtuelle pour les AMIs Linux. Même si le noyau Linux considère cet espace d'échange comme une partition du périphérique racine, il s'agit réellement d'un volume de stockage d'instance distinct, quel que soit votre type de périphérique racine.

Amazon Linux active et utilise automatiquement cet espace d'échange et l'utilisent, mais il se peut que votre AMI nécessite quelques étapes supplémentaires pour reconnaître et utiliser cet espace d'échange. Pour vérifier si votre instance utilise un espace d'échange, vous pouvez utiliser la commande swapon -s.

[ec2-user ~]$ swapon -s Filename Type Size Used Priority /dev/xvda3 partition 917500 0 -1

L'instance ci-dessus possède un volume d'échange de 900 Mio attaché et activé. Si vous ne voyez aucun volume d'échange apparaître avec cette commande, vous devez peut-être activer l'espace d'échange pour le périphérique. Vérifiez vos disques disponibles à l'aide de la commande lsblk.

[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda1 202:1 0 8G 0 disk / xvda3 202:3 0 896M 0 disk

Ici, le volume d'échange xvda3 est accessible à l'instance, mais il n'est pas activé (notez que le champ MOUNTPOINT est vide). Vous pouvez activer le volume d'échange avec la commande swapon.

Note

Vous devez préfixer par /dev/ le nom du périphérique affiché par lsblk. Votre périphérique peut avoir un nom différent, tel que sda3, sde3 ou xvde3. Utilisez le nom de périphérique pour votre système dans la commande ci-après.

[ec2-user ~]$ sudo swapon /dev/xvda3

L'espace d'échange apparaît désormais dans la sortie lsblk et swapon -s.

[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda1 202:1 0 8G 0 disk / xvda3 202:3 0 896M 0 disk [SWAP] [ec2-user ~]$ swapon -s Filename Type Size Used Priority /dev/xvda3 partition 917500 0 -1

Vous devez aussi modifier votre fichier /etc/fstab de telle sorte que cet espace d'échange soit automatiquement activé à chaque démarrage système.

[ec2-user ~]$ sudo vim /etc/fstab

Ajoutez la ligne suivante à votre fichier /etc/fstab (à l'aide du nom du périphérique d'échange de votre système) :

/dev/xvda3 none swap sw 0 0

Pour utiliser un volume de stockage d'instance comme espace d'échange

Tout volume de stockage d'instance peut être utilisé comme espace d'échange. Par exemple, le type d'instance m3.medium inclut un volume de stockage d'instance SSD de 4 Go, qui convient à l'espace d'échange. Si votre volume de stockage d'instance est beaucoup plus grand (par exemple, 350 Go), vous pouvez envisager de partitionner le volume avec une partition d'échange plus petite de 4 à 8 Go, le reste étant affecté à un volume de données.

Note

Cette procédure s'applique uniquement aux types d'instance prenant en charge ce stockage d'instance. Pour obtenir la liste des types d'instances, consultez Volumes de stockage d'instance.

  1. Affichez les périphériques de stockage en mode bloc attachés à votre instance pour obtenir le nom de périphérique de votre volume de stockage d'instance.

    [ec2-user ~]$ lsblk -p NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/xvdb 202:16 0 4G 0 disk /media/ephemeral0 /dev/xvda1 202:1 0 8G 0 disk /

    Dans cet exemple, le volume de stockage d'instance est /dev/xdvb. Comme il s'agit d'une instance Amazon Linux, le volume de stockage d'instance est formaté et monté à /media/ephemeral0 ; certains systèmes d'exploitation Linux n'opèrent pas ainsi automatiquement.

  2. (Facultatif) Si votre volume de stockage d'instance est monté (il affiche un MOUNTPOINT dans la sortie de la commande lsblk), vous devez le démonter à l'aide de la commande suivante.

    [ec2-user ~]$ sudo umount /dev/xvdb
  3. Configurez une zone d'échange Linux sur le périphérique avec la commande mkswap.

    [ec2-user ~]$ sudo mkswap /dev/xvdb mkswap: /dev/xvdb: warning: wiping old ext3 signature. Setting up swapspace version 1, size = 4188668 KiB no label, UUID=b4f63d28-67ed-46f0-b5e5-6928319e620b
  4. Activez le nouvel espace d'échange.

    [ec2-user ~]$ sudo swapon /dev/xvdb
  5. Vérifiez que le nouvel espace d'échange est en cours d'utilisation.

    [ec2-user ~]$ swapon -s Filename Type Size Used Priority /dev/xvdb partition 4188668 0 -1
  6. Modifiez votre fichier /etc/fstab de telle sorte que cet espace d'échange soit automatiquement activé à chaque démarrage système.

    [ec2-user ~]$ sudo vim /etc/fstab

    Si votre fichier /etc/fstab a une entrée pour /dev/xvdb (ou /dev/sdb), modifiez-la pour qu'elle corresponde à la ligne ci-dessous ; dans le cas contraire, ajoutez la ligne suivante à votre fichier /etc/fstab (à l'aide du nom de périphérique d'échange de votre système) :

    /dev/xvdb none swap sw 0 0

    Important

    Les données du volume de stockage d'instance sont perdues quand une instance est arrêtée, y compris le formatage de l'espace d'échange du volume de stockage créé dans Étape 3. Si vous arrêtez et redémarrez une instance qui a été configurée pour utiliser un espace d'échange de stockage d'instance, vous devez répéter Étape 1 via Étape 5 sur le nouveau volume de stockage d'instance.