¿Cómo accedo al volumen adjunto en Amazon EC2?


34

Acabo de adjuntar otro volumen ebs a la instancia en ejecución. ¿Pero cómo accedo al volumen? No puedo encontrar el /dev/sdadirectorio en ningún lado. ¿Dónde debería mirar?

Respuestas:


40

Cuando adjunta un volumen EBS, especifica el dispositivo para adjuntarlo como. En linux, estos dispositivos están /dev/xvd*y están enlazados simbólicamente a/dev/sd*

En la consola de AWS, puede ver sus volúmenes de EBS, a qué instancias están conectados y el dispositivo en el que está conectado cada volumen como:

Consola AWS

Puede lograr lo mismo con las herramientas CLI. Establezca las variables de entorno necesarias:

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

Ejecute el comando en su instancia actual (de lo contrario, solo especifique el id de instancia):

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

Vale la pena señalar que en los dos casos anteriores, la CLI y la consola de AWS, los dispositivos se describen como conectados en /dev/sd*, sin embargo, este no es realmente el caso.

Mira los contenidos 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

Los dispositivos son en realidad /dev/xvd*, y las /dev/sd*rutas son enlaces simbólicos.

Otro enfoque para verificar los dispositivos disponibles actualmente es usar fdisk -l, o para una salida más simple:

cat /proc/partitions
major minor  #blocks  name

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

Si necesita determinar qué dispositivos se han montado, use mounty df, y verifique /etc/fstabpara cambiar las opciones de montaje.


1
Salvó mi trasero. Realmente necesitan actualizar esos documentos.
MBHNYC

99
FWIW, en versiones recientes de instancias de Ubuntu virtualizadas Xen, los dispositivos xvd * no están vinculados a sd *
cbare

1
@cbare ¿Puedes confirmar? Cuando entro en mi consola, veo un volumen de 15 conciertos adjunto como / dev / sda1. Pero cuando entro en mi servidor, lo único que veo es / dev / xvda1. ¡No hay / dev / sd * en absoluto! También se muestra que / dev / xvda1 tiene 32 gigas con 25 gigas usadas. ¿Puedo estar seguro de que estos 2 son los mismos volúmenes?
CMCDragonkai

@CMCDragonkai, no estoy seguro de por qué verías diferentes tamaños, pero los dispositivos xvd_ (dispositivo virtual Xen, supongo) se asignan a través de la capa de virtualización al dispositivo sd_ de nombre equivalente. Ver: askubuntu.com/questions/166083/what-is-the-dev-xvda1-device
cbare

44
¿Cómo es que en mi servidor el enlace simbólico no existe? ¿Podría crear mi propio enlace simbólico para asegurarme de que sda1 se vincule a xvda1? La interfaz EC2 dice sda1, pero el dispositivo real es xvda1, pero actualmente no tiene enlace simbólico.
CMCDragonkai

6

Para usar un volumen EBS conectado en el EC2, primero debe montar el volumen.

  1. Conéctese a su instancia utilizando SSH.
  2. Use el comando lsblk para ver sus dispositivos de disco disponibles y sus puntos de montaje.

[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. crear un sistema de archivos en el volumen, ejemplo -> sudo mkfs -t ext4 / dev / xvdf
  2. crear una directoty de punto de montaje para el volumen -> sudo mkdir mount_point
  3. Para montar este volumen EBS en la ubicación que acaba de crear -> sudo mount / dev / xvdf mount_point
  4. Para verificar puede realizar ls mount_point

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

Esto funciona y es mucho más fácil
user159972

Esta debería ser la respuesta aceptada
oneirois
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.