Les périphériques éphémères et ebs peuvent prendre à peu près n'importe quel nom de fichier de périphérique, donc ne vous fiez pas uniquement au nom du périphérique. Cependant, le nom de l'appareil est important pour déterminer s'il est éphémère ou non, comme je le soulignerai ci-dessous. S'appuyer sur un nom de point de montage avec les mots «éphémère» ou «ebs» n'est pas non plus fiable.
Bien que cela puisse être fait via l'interface graphique EC2, quelques commandes devraient encore être exécutées sur le serveur lui-même, alors ici, je vous donne juste une méthode `` toutes les lignes de commande ''. Je vais vous donner des exemples à partir d'une AMI sauvegardée par m3.medium CentOS minimal 6.5 (c'est-à-dire éphémère).
1) Installez l'utilitaire wget avec yum install -y wget
2) Courir wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ -O -
Dans cet exemple d'AMI sauvegardée par le magasin d'instances - la sortie de la commande # 2 ci-dessus est:
ami
ephemeral0
À des fins de comparaison, voici un exemple de sortie d'un serveur CentOS soutenu par EBS avec des volumes EBS uniquement (pas de lecteurs éphémères):
ami
ebs2
ebs3
Je reviendrai sur l'instance soutenue par EBS avec les volumes EBS plus tard. Pour l'instant, continuons avec l'exemple AMI d'origine basé sur le magasin d'instances qui nous montre un lecteur éphémère.
Pour savoir quel fichier de périphérique est mappé sur votre lecteur éphémère, exécutez à nouveau wget, cette fois en ajoutant le nom du lecteur éphémère découvert dans # 2 ci-dessus à l'URL:
3) wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0 -O -
et, dans cet exemple, la sortie est / était:
sdb
Cela souligne mon point ci-dessus que vous ne pouvez pas supposer que / dev / sdb à / dev / sde sont des périphériques ebs. Il est peut- être vrai que / dev / xvdb à / dev / xvde sont des ebs - mais mes systèmes commencent toujours par / dev / xvde1 , donc l'existence de ces lettres de périphérique dépend probablement du système d'exploitation, de la région, de l'AMI, etc. que vous utilisez. En passant, vous pouvez exécuter # 3 contre les noms 'ebs', le cas échéant (par exemple ebs2
), et vous obtiendrez une sortie similaire.
4) Ensuite, exécutez lsblk
Dans ce cas, la sortie ressemble à ceci:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvde1 202:65 0 8G 0 disk /
xvdf 202:80 0 4G 0 disk
Cela souligne mon point de vue ci-dessus selon lequel vous ne pouvez pas compter sur un point de montage pour vous dire si un appareil est éphémère ou non.
Vous remarquerez également que le mappage entre les lettres de volume du périphérique EC2 et les lettres de mappage du système d'exploitation ne correspond pas. Une petite tranche de bonnes nouvelles ici est que les lettres de lecteur incrémenteront dans le même ordre, même si les lettres elles-mêmes ne correspondent pas. Alors, récupérons la lettre de lecteur `` autre '' de nos métadonnées de mappages de périphériques. Comme vous l'avez vu ci-dessus, il y avait deux mappages de périphériques, l'un appelé ami
et l'autre appelé ephemeral0
. Nous avons déjà examiné ephemeral0, alors examinons ami:
5) wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ami -O -
La sortie est / était la suivante:
sda1
Nous pouvons conclure en toute confiance que la lettre la plus basse du mappage du système d'exploitation est la lettre la plus basse du mappage du périphérique de bloc EC2, et nous pouvons incrémenter vers le haut à partir de là. Donc:
/dev/sda1 = /dev/xvde1
et /dev/sdb = /dev/xvdf
Dernier point mais non le moindre - vous remarquerez que le mappage de périphérique de bloc ami
ne se prête pas immédiatement à savoir s'il est soutenu par EBS ou soutenu par Instance Store. Nous avons une commande de plus à exécuter.
6) wget -q 169.254.169.254/latest/meta-data/ami-manifest-path -O -
Je suis certain que les AMI soutenues par EBS n'ont pas de chemin de manifeste car seuls les volumes de stockage d'instance ont un manifeste (le manifeste répertorie les noms et le chemin des segments de l'AMI dans S3). Dans les cas que j'ai vérifiés, le résultat de # 6 ci-dessus lors de l'exécution et de l'instance de stockage ami est quelque chose de similaire à:
someamibucketname/someamidescription/someamidescription.manifest.xml
alors que lorsque # 6 est exécuté contre une AMI soutenue par EBS, vous obtenez:
(unknown)