Come posso accedere al volume allegato in Amazon EC2


34

Ho appena allegato un altro volume ebs all'istanza corrente. Ma come accedo al volume? Non riesco a trovare la /dev/sdadirectory da nessuna parte. Dove dovrei guardare?

Risposte:


40

Quando si collega un volume EBS, si specifica il dispositivo per collegarlo come. Sotto Linux, questi dispositivi sono /dev/xvd*- e sono collegati simbolicamente a/dev/sd*

Nella console AWS puoi vedere i tuoi volumi EBS, a quali istanze sono collegati e il dispositivo a cui ciascun volume è collegato come:

Console AWS

Puoi ottenere la stessa cosa dagli strumenti della CLI. Impostare le variabili d'ambiente necessarie:

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

Esegui il comando sull'istanza corrente (altrimenti, specifica semplicemente l'ist-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

Vale la pena notare che in entrambi i casi di cui sopra - l'interfaccia della riga di comando e la console AWS - i dispositivi sono descritti come collegati a /dev/sd*, ma in realtà non è così.

Guarda i contenuti di / 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

I dispositivi sono in realtà /dev/xvd*- e i /dev/sd*percorsi sono collegamenti simbolici.

Un altro approccio per verificare i dispositivi attualmente disponibili è utilizzare fdisk -lo per un output più semplice:

cat /proc/partitions
major minor  #blocks  name

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

Se è necessario determinare quali dispositivi sono stati montati, utilizzare mounte df- e selezionare /etc/fstabper modificare le opzioni di montaggio.


1
Mi ha salvato il culo. Hanno davvero bisogno di aggiornare quei documenti.
MBHNYC,

9
FWIW, nelle recenti versioni di istanze Ubuntu virtualizzate Xen, i dispositivi xvd * non sono collegati a sd *
cbare,

1
@cbare Puoi confermare. Quando entro nella mia console vedo un volume di 15 concerti collegato come / dev / sda1. Ma quando entro nel mio server, l'unica cosa che vedo è / dev / xvda1. Non c'è affatto / dev / sd *! Anche / dev / xvda1 ha 32 concerti con 25 concerti esauriti. Posso essere sicuro che questi 2 abbiano gli stessi volumi?
CMCDragonkai,

@CMCDragonkai, Non sono sicuro del motivo per cui vedresti dimensioni diverse ma i dispositivi xvd_ (Xen Virtual Device, suppongo) sono mappati attraverso il livello di virtualizzazione al dispositivo equivalente chiamato sd_. Vedi: askubuntu.com/questions/166083/what-is-the-dev-xvda1-device
cbare

4
Come mai nel mio server non esiste il collegamento simbolico? Potrei creare il mio link simbolico per assicurarmi che sda1 si colleghi a xvda1? L'interfaccia EC2 dice sda1, ma il dispositivo effettivo è xvda1, ma al momento non è presente alcun collegamento simbolico.
CMCDragonkai

6

Per utilizzare un volume EBS collegato in EC2, è necessario innanzitutto montare il volume.

  1. Connettiti alla tua istanza utilizzando SSH.
  2. Utilizzare il comando lsblk per visualizzare i dispositivi disco disponibili e i relativi punti di montaggio.

[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. creare un file system sul volume, esempio -> sudo mkfs -t ext4 / dev / xvdf
  2. creare un punto di montaggio diretto per il volume -> sudo mkdir mount_point
  3. Per montare questo volume EBS nella posizione appena creata -> sudo mount / dev / xvdf mount_point
  4. Per verificare puoi eseguire ls mount_point

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

Funziona in modo molto più semplice
user159972

Questa dovrebbe essere la risposta accettata
oneirois
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.