Comment accéder au volume attaché dans Amazon EC2


34

Je viens de joindre un autre volume ebs à l'instance en cours d'exécution. Mais comment accéder au volume? Je ne trouve le /dev/sdarépertoire nulle part. Où devrais-je regarder?

Réponses:


40

Lorsque vous attachez un volume EBS, vous spécifiez le périphérique en tant que tel. Sous linux, ces périphériques sont /dev/xvd*- et sont liés symboliquement à/dev/sd*

Dans la console AWS, vous pouvez voir vos volumes EBS, les instances auxquelles ils sont connectés et le périphérique auquel chaque volume est connecté en tant que:

Console AWS

Vous pouvez obtenir la même chose à partir des outils de la CLI. Définissez les variables d'environnement nécessaires:

export EC2_PRIVATE_KEY=/root/pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem 
export EC2_CERT=/root/cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem

Exécutez la commande sur votre instance actuelle (sinon, spécifiez simplement l'instance-id):

ec2-describe-instances `curl -s http://169.254.169.254/latest/meta-data/instance-id` | grep BLOCKDEVICE

BLOCKDEVICE     /dev/sda1       vol-xxxxxxxx    2011-11-13T21:09:53.000Z
BLOCKDEVICE     /dev/sdf        vol-xxxxxxxx    2011-11-13T21:09:53.000Z
BLOCKDEVICE     /dev/sdg        vol-xxxxxxxx    2011-11-13T21:09:53.000Z

Il est à noter que dans les deux cas précédents - l'interface de ligne de commande et la console AWS - les périphériques sont décrits comme étant connectés à /dev/sd*- ce n'est toutefois pas le cas.

Regardez le contenu de / dev:

ls -l /dev/sd* /dev/xv*
lrwxrwxrwx 1 root root       5 Dec 12 18:32 /dev/sda1 -> xvda1
lrwxrwxrwx 1 root root       4 Dec 12 18:32 /dev/sdf -> xvdf
lrwxrwxrwx 1 root root       4 Dec 12 18:32 /dev/sdg -> xvdg
brw-rw---- 1 root disk 202,  1 Dec 12 18:32 /dev/xvda1
brw-rw---- 1 root disk 202, 80 Dec 12 18:32 /dev/xvdf
brw-rw---- 1 root disk 202, 96 Dec 12 18:32 /dev/xvdg

Les appareils sont en fait /dev/xvd*- et les /dev/sd*chemins sont des liens symboliques.

Une autre approche pour vérifier les périphériques actuellement disponibles consiste à utiliser fdisk -l, ou pour une sortie plus simple:

cat /proc/partitions
major minor  #blocks  name

 202        1    4194304 xvda1
 202       80    6291456 xvdf
 202       96    1048576 xvdg

Si vous devez déterminer quels périphériques ont été montés, utilisez mountet df- et vérifiez si vous /etc/fstabsouhaitez modifier les options de montage.


1
Sauvé mes fesses. Ils ont vraiment besoin de mettre à jour ces docs.
MBHNYC

9
FWIW, sur les dernières versions d'instances Ubuntu virtualisées Xen, les périphériques xvd * ne sont pas liés symboliquement avec sd *
cbare

1
@cbare Pouvez-vous confirmer. Quand je vais dans ma console, je vois un volume de 15 Go associé à / dev / sda1. Mais quand je vais dans mon serveur, la seule chose que je vois est / dev / xvda1. Il n'y a pas de / dev / sd * du tout! Aussi / dev / xvda1 est montré à 32 concerts avec 25 concerts utilisés. Puis-je être certain que ces 2 volumes sont les mêmes?
CMCDragonkai

@CMCDragonkai, Vous ne savez pas pourquoi vous voyez des tailles différentes, mais les périphériques xvd_ (Xen Virtual Device, je suppose) sont mappés via la couche de virtualisation vers le périphérique sd_ de manière équivalente. Voir: askubuntu.com/questions/166083/what-is-the-dev-xvda1-device
cbare

4
Comment se fait-il que mon lien n'existe pas sur mon serveur? Pourrais-je créer mon propre lien symbolique pour m'assurer que sda1 est lié à xvda1? L'interface EC2 dit sda1, mais le périphérique réel est xvda1, mais sans lien symbolique pour le moment.
CMCDragonkai

6

Pour utiliser un volume EBS connecté à l'EC2, vous devez d'abord monter le volume.

  1. Connectez-vous à votre instance à l'aide de SSH.
  2. Utilisez la commande lsblk pour afficher vos unités de disque disponibles et leurs points de montage.

[ec2-user@ip-172-31-86-46 ~]$ 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 8G 0 disk
xvdf 202:80 0 100G 0 disk

  1. créer un système de fichiers sur le volume, exemple -> sudo mkfs -t ext4 / dev / xvdf
  2. créer un répertoire de point de montage pour le volume -> sudo mkdir mount_point
  3. Pour monter ce volume EBS à l'emplacement que vous venez de créer -> sudo mount / dev / xvdf mount_point
  4. Pour vérifier, vous pouvez exécuter le point de montage ls

    https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html.

Cela fonctionne et c'est beaucoup plus facile
user159972

Cela devrait être la réponse acceptée
oneirois
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.