Como acesso o volume anexado no Amazon EC2


34

Acabei de anexar outro volume ebs à instância em execução. Mas como faço para acessar o volume? Não consigo encontrar o /dev/sdadiretório em nenhum lugar. Onde devo procurar?

Respostas:


40

Ao anexar um volume EBS, você especifica o dispositivo para anexá-lo como. No linux, esses dispositivos são /dev/xvd*- e estão vinculados a/dev/sd*

No console da AWS, você pode ver seus volumes EBS, em quais instâncias eles estão conectados e o dispositivo em que cada volume está conectado como:

Console da AWS

Você pode conseguir o mesmo com as ferramentas da CLI. Defina as variáveis ​​de ambiente necessárias:

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

Execute o comando na sua instância atual (caso contrário, basta especificar o ID da instância):

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 ressaltar que, nos dois casos acima - a CLI e o Console da AWS - os dispositivos são descritos como anexados /dev/sd*-, no entanto, esse não é o caso.

Veja o conteúdo 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

Os dispositivos são realmente /dev/xvd*- e os /dev/sd*caminhos são links simbólicos.

Outra abordagem para verificar os dispositivos atualmente disponíveis é usar fdisk -lou obter uma saída mais simples:

cat /proc/partitions
major minor  #blocks  name

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

Se você precisar determinar quais dispositivos foram montados, use mounte df- e marque /etc/fstabpara alterar as opções de montagem.


11
Salvou minha bunda. Eles realmente precisam atualizar esses documentos.
precisa saber é o seguinte

9
FWIW, em versões recentes do Xen virtualizado instâncias do Ubuntu, os * dispositivos XVD não são simbolicamente para sd *
cbare

11
@ cbare Você pode confirmar. Quando entro no console, vejo um volume de 15 GB anexado como / dev / sda1. Mas quando eu entro no meu servidor, a única coisa que vejo é / dev / xvda1. Não existe / dev / sd *! Também / dev / xvda1 mostra 32 shows com 25 shows esgotados. Posso ter certeza de que esses 2 são os mesmos volumes?
precisa saber é o seguinte

@CMCDragonkai, Não sei por que você veria tamanhos diferentes, mas os dispositivos xvd_ (dispositivo virtual Xen, suponho) são mapeados pela camada de virtualização para o dispositivo sd_ de nome equivalente. Veja: askubuntu.com/questions/166083/what-is-the-dev-xvda1-device
cbare

4
Como é que no meu servidor o link simbólico não existe? Posso criar meu próprio link simbólico para garantir que os links sda1 para xvda1? A interface do EC2 diz sda1, mas o dispositivo real é xvda1, mas atualmente não há nenhum link simbólico.
precisa saber é o seguinte

6

Para usar um volume EBS anexado no EC2, você precisa primeiro montar o volume.

  1. Conecte-se à sua instância usando SSH.
  2. Use o comando lsblk para visualizar seus dispositivos de disco disponíveis e seus pontos de montagem.

[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. crie um sistema de arquivos no volume, exemplo -> sudo mkfs -t ext4 / dev / xvdf
  2. crie um ponto de montagem diretamente para o volume -> sudo mkdir mount_point
  3. Para montar este volume EBS no local que você acabou de criar -> sudo mount / dev / xvdf mount_point
  4. Para verificar, você pode executar ls mount_point

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

Isso funciona e muito mais fácil
user159972 09/02

Esta deve ser a resposta aceita
oneirois 29/10
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.