Cela peut être une question stupide, excusez mon ignorance.
J'ai une instance qui fonctionne comme ceci:
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: false
Qu'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)
amazon-ec2
storage
amazon-ebs
gideon
la source
la source
Réponses:
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):
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
la source
sysfs1
,devpt
et que non.xvda1 Xvdd xvdc xvdb
Ce sont des volumes EBS. Comment pouvez-vous dire que ce sont éphémères?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)
la source
sudo lsblk
devrait vous donner quelques indices. C'EST À DIREla source