Adicionar EBS à instância do Ubuntu EC2

140

Estou tendo problemas para conectar o volume EBS à minha instância do Ubuntu EC2.

Aqui está o que eu fiz:

  1. No Amazon AWS Console, criei um volume EBS 150GB e o anexei a uma instância do Ubuntu 11.10 EC2. Nas propriedades do volume EBS, "Anexo" mostra: "[minha identificação de instância do Ubuntu]: / dev / sdf (anexado)"

  2. Tentei montar a unidade na caixa Ubuntu e ele me disse "mount: / dev / sdf não é um dispositivo de bloco"

    sudo mount /dev/sdf /vol

  3. Por isso, verifiquei com o fdisk e tentei montar a partir do novo local e ele me disse que não era o sistema de arquivos certo.

    sudo fdisk -l

    sudo mount -v -t ext4 /dev/xvdf /vol

    o erro:

    mount: tipo fs errado, opção incorreta, superbloqueio incorreto em / dev / xvdf, página de código ausente ou programa auxiliar, ou outro erro Em alguns casos, informações úteis são encontradas no syslog - tente dmesg | cauda mais ou menos

    "dmesg | tail" me disse que deu o seguinte erro:

    EXT4-fs (sda1): VFS: Não é possível encontrar o sistema de arquivos ext4

Também tentei colocar as configurações no arquivo / etc / fstab, conforme as instruções em http://www.webmastersessions.com/how-to-attach-ebs-volume-to-amazon-ec2-instance , mas ainda assim não dava o direito erro no sistema de arquivos.

Questões:

Q1: Com base no ponto 1 (acima), por que o volume foi mapeado para 'dev / sdf' quando realmente foi mapeado para '/ dev / xvdf'?

P2: O que mais preciso fazer para carregar o volume do EBS? Eu pensei que isso apenas cuidaria de tudo quando eu o anexasse a uma instância.

JackDev
fonte
Isso pode pertencer a um site StackExchange orientado a sysadmin. No entanto, exatamente o que eu precisava encontrar. Obrigado por perguntar isso!
pcurry

Respostas:

325

Como este é um novo volume, você precisa formatar o volume EBS (dispositivo de bloco) com um sistema de arquivos entre as etapas 1 e 2. Portanto, todo o processo com seu ponto de montagem de amostra é:

  1. Crie um volume EBS.

  2. Anexe o volume EBS a /dev/sdf(nome externo do EC2 para esse número de dispositivo específico).

  3. Formate o sistema de arquivos /dev/xvdf(nome interno do Ubuntu para este número de dispositivo específico):

    sudo mkfs.ext4 /dev/xvdf
    

    Formate o sistema de arquivos apenas se este for um novo volume sem dados. A formatação tornará difícil ou impossível recuperar quaisquer dados que estavam nesse volume anteriormente.

  4. Monte o sistema de arquivos (com atualização para / etc / fstab para que fique montado na reinicialização):

    sudo mkdir -m 000 /vol
    echo "/dev/xvdf /vol auto noatime 0 0" | sudo tee -a /etc/fstab
    sudo mount /vol
    
Eric Hammond
fonte
3
Para ser explícito, o / dev / xvdf não existe antes da sua montagem / dev / sdf.
quer
2
Muito obrigado por isso! Fiquei totalmente confuso com o diretório / mnt e assumi erroneamente que meu volume extra do EBS (/ dev / xvdf) que eu disse à AWS para anexar na criação da instância já estava montado. Além disso, o mapeamento entre o que a AWS mostra (/ dev / sdf) e (/ dev / xvdf) que existe no ubuntu me atrapalhou.
Ankimal # /
7
@ scrapcodes: Felizmente, essas são definitivamente as etapas certas para a pergunta do pôster original (novo volume EBS não formatado). Eles certamente podem não ser as etapas corretas se você tiver uma situação completamente diferente (volume EBS criado a partir do instantâneo que contém o sistema de arquivos existente).
Eric Hammond
9
Por que a etapa quatro inclui a bandeira -m 000?
21813 Joe Mornin
25
@JosephMornin Desativar todos os bits no modo é um indicador simples de que ninguém deve ter permissão para fazer nada neste diretório até que um novo sistema de arquivos seja montado aqui. É uma mensagem que este diretório foi criado como um ponto de montagem. Não é necessário para a funcionalidade, mas às vezes evita os erros de criação de arquivos quando o volume desejado não está montado.
Eric Hammond
-3

Etapa 1: criar volume
etapa 2: anexar ao volume raiz da instância
etapa 3: executar sudo redimensionar 2fs -p / dev / xvde
etapa 4: reiniciar apache2 serviço sudo apache2 reiniciar
etapa 4: executar df -h

Você pode ver o volume total anexado à sua instância.

Ramesh Sinha
fonte