comment savoir quelle partie de mon stockage ec2 est éphémère


10

Cela peut être une question stupide, excusez mon ignorance.

J'ai une instance qui fonctionne comme ceci: Console AWs

Est-ce que Root Device: EBS signifie que tout mon système est sur EBS?

J'ai configuré Apache et une application Perl ici, toute ma configuration et mes fichiers ne disparaîtront pas non?

Comment savoir ce qui s'exécute sur le stockage éphémère et ce qui s'exécute sur EBS? Si je clique sur l'instance dans la console de gestion et regarde les détails en bas, cela dit: EBS Optimized: falseQu'est-ce que cela signifie exactement?

Voici à quoi ressemble mon stockage:

[ec2-user@<MY_IP> ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1            7.9G  1.7G  6.2G  22% /
tmpfs                 298M     0  298M   0% /dev/shm

[ec2-user@<MY_IP> ~]$ mount
/dev/xvda1 on / type ext4 (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

2
L'instance t1.micro n'a pas de stockage éphémère, seulement m1.small ou supérieur.
number5

Ah bien. Je ne le savais pas. Pas étonnant que je ne vois aucune option.
gideon

Réponses:


4

Le périphérique racine est votre «/». Dans ce cas, c'est / dev / xvda1 et c'est le lecteur EBS.

Les dispositifs éphémères sont (comme je le sais):

  • sdb (xvdb)
  • sdc (xvdc)
  • sdd (xvdd)
  • sde (xvde)

Vous pouvez toujours vérifier quels périphériques sont des lecteurs EBS, en utilisant AWS UI: EC2 -> Instances -> [choisissez la vôtre] -> Bloquer les périphériques


Impressionnant. Merci :) Ce qui est tout le sysfs1, devptet que non.
gideon

1
tmpfs est similaire à ramfs et permet de conserver les fichiers en RAM rapide. devpts et sysfs sont des systèmes de fichiers linux "virtuels", qui donnent accès à certaines données du noyau. Vous pouvez vérifier plus sur Google - il y a beaucoup d'articles à leur sujet.
Tomasz Olszewski

xvda1 Xvdd xvdc xvdbCe sont des volumes EBS. Comment pouvez-vous dire que ce sont éphémères?

3
La réponse ci-dessus n'est pas correcte et ne doit pas être vérifiée comme 'la réponse'
Andrew S

C'est faux!!
eyeApps LLC

12

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é amiet 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 amine 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)


1

sudo lsblkdevrait vous donner quelques indices. C'EST À DIRE

[ec2-user@ec2-host ~]$ 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   4G  0 disk /media/ephemeral0
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.