Comment identifier les volumes attachés à mon instance Linux Amazon EC2 qui sont des volumes de stockage d'instances (éphémères) ?
Date de la dernière mise à jour : 19/12/2019
Brève description
Pour identifier les volumes de stockage d'instances sur les instances Linux Amazon EC2, commencez par vérifier si le type d'instance prend en charge les volumes de stockage d'instances. Si l'instance prend en charge les volumes de stockage d'instance, vérifiez alors le type de volumes de stockage d'instance compatibles et consultez les informations du volume à partir du système d'exploitation.
Solution
1. Vérifiez le type de volume de stockage d'instances (HDD, SSD ou SSD NVMe) que, le cas échéant, votre instance prend en charge. Consultez Volumes de stockage d'instances pour voir la quantité, la taille, le type et les optimisations des performances des volumes de stockage d'instances disponibles pour chaque type d'instance pris en charge.
2. Déterminez quels volumes attachés à votre instance sont des volumes de stockage d'instance. La méthode d'identification utilisée varie selon que vous disposez de volumes de stockage d'instance SSD NVMe ou HDD/SSD.
Volumes de stockage d'instance SSD NVMe
1. Connectez-vous à votre instance.
2. Installez le package de ligne de commande NVMe, nvme-cli, à l'aide des outils de gestion de package de votre distribution Linux. Pour les instances Amazon Linux, installez le package nvme-cli à l'aide de la commande yum install. Pour les instructions de téléchargement et d'installation d'autres distributions, consultez la documentation GitHub de nvme-cli ou la documentation spécifique à votre distribution.
3. Exécutez la commande nvme list en tant qu'utilisateur privilégié.
$ sudo nvme list
La colonne Model (Modèle) de l'exemple suivant indique si chaque appareil attaché est de type Amazon Elastic Block Store ou Amazon EC2 NVMe Instance Storage. L'exemple provient d'un type d'instance qui prend en charge un appareil SSD NVMe.
$ sudo nvme list
Node SN Model Namespace Usage Format FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1 vol0923757ba05df9515 Amazon Elastic Block Store 1 0.00 B / 8.59 GB 512 B + 0 B 1.0
/dev/nvme1n1 AWS1A4FC25FB16B79F76 Amazon EC2 NVMe Instance Storage 1 50.00 GB / 50.00 GB 512 B + 0 B 0
Volumes de stockage d'instance HDD ou SSD
Pour les volumes de stockage d'instance HDD ou SSD, obtenez du système d'exploitation la liste des périphériques de stockage en mode Bloc attachés, puis récupérez la section de mappage des périphériques de stockage en mode Bloc figurant dans les métadonnées de l'instance.
1. Connectez-vous à votre instance.
2. Exécutez la commande lsblk. Si la commande lsblk n'est pas présente, installez le package util-linux à l'aide des outils de gestion de packages de votre distribution Linux. Pour les instances Amazon Linux, installez le package util-linux à l'aide de la commande yum install. Pour les instructions de téléchargement et d'installation d'autres distributions, reportez-vous à la documentation spécifique à votre distribution.
$ sudo lsblk
L'exemple suivant présente la liste des périphériques de stockage en mode bloc extraits d'une instance qui compte de nombreux lecteurs et s'exécute sur un type d'instance qui prend en charge les volumes de stockage d'instances SSD.
$ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 745.2G 0 disk
xvdc 202:32 0 745.2G 0 disk
xvdd 202:48 0 745.2G 0 disk
xvde 202:64 0 745.2G 0 disk
3. Pour déterminer si xvdb, dans l'exemple précédent, est un lecteur éphémère, récupérez les métadonnées de mappage d'appareil de stockage en mode bloc à l'aide de l'URL de base pour toutes les demandes de métadonnées d'instance : http://169.254.169.254/latest/meta-data/block-device-mapping.
$ curl http://169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0
sdb
$ ls -l /dev/sdb
lrwxrwxrwx 1 root root 4 Aug 27 13:07 /dev/sdb -> xvdb
Dans l'exemple précédent, le mappage de périphérique de stockage en mode bloc d'ephemeral0 pointe sur sdb, qui est un lien symbolique vers xvdb. Dans cet exemple, xvdb est un appareil éphémère.
Vous pouvez également automatiser la vérification et afficher les appareils éphémères attachés à votre instance à l'aide de l'ensemble de commandes suivant.
Identifiez les périphériques de stockage en mode Bloc du système d'exploitation.
OSDEVICE=$(sudo lsblk -o NAME -n | grep -v '[[:digit:]]' | sed "s/^sd/xvd/g")
Définissez l'URL de mappage des périphériques de stockage en mode Bloc.
BDMURL="http://169.254.169.254/latest/meta-data/block-device-mapping/"
Parcourez en boucle les périphériques du système d'exploitation et identifiez le mappage dans le mappage des périphériques de stockage en mode Bloc.
for bd in $(curl -s ${BDMURL}); do MAPDEVICE=$(curl -s ${BDMURL}/${bd}/ | sed "s/^sd/xvd/g"); if grep -wq ${MAPDEVICE} <<< "${OSDEVICE}"; then echo "${bd} is ${MAPDEVICE}"; fi; done | grep ephemeral
Voici un exemple des trois commandes décrites précédemment, ainsi qu'un exemple de résultat.
$ OSDEVICE=$(sudo lsblk -o NAME -n | grep -v '[[:digit:]]' | sed "s/^sd/xvd/g")
$ BDMURL="http://169.254.169.254/latest/meta-data/block-device-mapping/"
$ for bd in $(curl -s ${BDMURL}); do MAPDEVICE=$(curl -s ${BDMURL}/${bd}/ | sed "s/^sd/xvd/g"); if grep -wq ${MAPDEVICE} <<< "${OSDEVICE}"; then echo "${bd} is ${MAPDEVICE}"; fi; done | grep ephemeral
ephemeral0 is xvdb
ephemeral1 is xvdc
ephemeral2 is xvdd
ephemeral3 is xvde
Cet article vous a-t-il été utile ?
Besoin d'aide pour une question technique ou de facturation ?