Disponibilizar um volume do Amazon EBS para uso no Linux - Amazon Elastic Compute Cloud

Disponibilizar um volume do Amazon EBS para uso no Linux

Depois que você associar um volume do Amazon EBS à instância , ele será exposto como um dispositivo de blocos. Você pode formatar o volume com qualquer sistema de arquivos e então montá-lo. Após disponibilizar o volume do EBS para uso, você poderá acessá-lo das mesmas maneiras que acessa qualquer outro volume. Todos os dados gravados nesse sistema de arquivos são gravados no volume do EBS e são transparentes para aplicativos que usam o dispositivo.

Você pode tirar snapshots do volume do EBS para fins de backup ou para usar como linha de base quando criar outro volume. Para obter mais informações, consulte Snapshots do Amazon EBS.

Você pode obter instruções sobre volumes em uma instância Windows em Disponibilização de um volume para uso no Windows no Guia do usuário do Amazon EC2 para instâncias do Windows.

Formatar e montar um volume anexado

Suponha que você tenha uma instância do EC2 com um volume do EBS para o dispositivo raiz, /dev/xvda, e que tenha anexado um volume do EBS vazio à instância usando o /dev/sdf. Use o procedimento a seguir para disponibilizar o volume recém-anexado para uso.

Para formatar e montar um volume do EBS no Linux

  1. Conecte-se à sua instância usando SSH. Para obter mais informações, consulte Conecte-se à sua instância do Linux.

  2. O dispositivo pode ser anexado à instância com um nome de dispositivo diferente do especificado no mapeamento de dispositivos de blocos. Para obter mais informações, consulte Nomes de dispositivos em instâncias do Linux.. Use o comando lsblk para visualizar os dispositivos de disco disponíveis e seus pontos de montagem (se aplicável) para ajudá-lo a determinar o nome de dispositivo correto a usar. A saída de lsblk remove o prefixo /dev/ dos caminhos completos do dispositivo.

    Veja a seguir um exemplo de saída para uma instância criada no Sistema Nitro, que expõe os volumes do EBS como dispositivos de blocos NVMe. O dispositivo raiz é /dev/nvme0n1. O volume anexado é /dev/nvme1n1, que ainda não está montado.

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 10G 0 disk nvme0n1 259:1 0 8G 0 disk -nvme0n1p1 259:2 0 8G 0 part / -nvme0n1p128 259:3 0 1M 0 part

    Este é um exemplo de saída de uma instância T2. O dispositivo raiz é /dev/xvda. O volume anexado é /dev/xvdf, que ainda não está montado.

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk -xvda1 202:1 0 8G 0 part / xvdf 202:80 0 10G 0 disk
  3. Determine se existe um sistema de arquivos no volume. Os novos volumes são dispositivos de blocos raw, e você deve criar um sistema de arquivos neles antes que possa montá-los e usá-los. Os volumes que foram criados de snapshots provavelmente já têm um sistema de arquivos neles. Se você criar um sistema de arquivos sobre o sistema de arquivos existente, a operação sobrescreverá seus dados.

    Use um ou ambos os métodos a seguir para determinar se há um sistema de arquivos no volume:

    • Use o comando file -s para obter informações sobre o dispositivo específico, como o tipo de sistema de arquivos. Se a saída mostrar simplesmente data, como no exemplo de saída a seguir, não há sistema de arquivos no dispositivo

      [ec2-user ~]$ sudo file -s /dev/xvdf /dev/xvdf: data

      Se o dispositivo tiver um sistema de arquivos, o comando mostrará informações sobre o tipo de sistema de arquivos. Por exemplo, a saída a seguir mostra um dispositivo raiz com o sistema de arquivos XFS.

      [ec2-user ~]$ sudo file -s /dev/xvda1 /dev/xvda1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
    • Use o comando lsblk -f para obter informações sobre todos os dispositivos vinculados à instância.

      [ec2-user ~]$ sudo lsblk -f

      Por exemplo, a saída a seguir mostra que existem três dispositivos vinculados às instâncias—nvme1n1nvme0n1 e nvme2n1. A primeira coluna lista os dispositivos e suas partições. A coluna FSTYPE exibe o tipo de sistema de arquivos para cada dispositivo. Se a coluna estiver vazia para um dispositivo específico, isso significa que o dispositivo não possui um sistema de arquivos. Neste caso, nvme1n1, nvme0n1 são ambos formatados usando o sistema de arquivos XFS, enquanto nvme2n1 não tem um sistema de arquivos.

      NAME FSTYPE LABEL UUID MOUNTPOINT nvme1n1 xfs 7f939f28-6dcc-4315-8c42-6806080b94dd nvme0n1 ├─nvme0n1p1 xfs / 90e29211-2de8-4967-b0fb-16f51a6e464c / └─nvme0n1p128 nvme2n1

    Se a saída destes comandos mostrar que não há nenhum sistema de arquivos no dispositivo, você deverá criar um.

  4. (Condicional) Se você descobriu que há um sistema de arquivos no dispositivo na etapa anterior, ignore esta etapa. Se você tiver um volume vazio, use o comando mkfs -t para criar um sistema de arquivos no volume.

    Atenção

    Não use esse comando se você estiver montando um volume que já contenha dados (por exemplo, um volume que foi criado de um snapshot). Caso contrário, você formatará o volume e excluirá os dados existentes.

    [ec2-user ~]$ sudo mkfs -t xfs /dev/xvdf

    Se você receber um erro de que mkfs.xfs não foi encontrado, use o seguinte comando para instalar as ferramentas do XFS e repita o comando anterior:

    [ec2-user ~]$ sudo yum install xfsprogs
  5. Use o comando mkdir para criar um diretório de ponto de montagem para o volume. O ponto de montagem é o local onde o volume está localizado na árvore do sistema de arquivos e onde você lê e grava arquivos depois de montar o volume. O exemplo a seguir cria um diretório denominado /data.

    [ec2-user ~]$ sudo mkdir /data
  6. Use o comando a seguir para montar o volume no diretório que você criou na etapa anterior.

    [ec2-user ~]$ sudo mount /dev/xvdf /data
  7. Revise as permissões de arquivo da montagem do seu novo volume para assegurar-se de que os usuários e aplicativos podem gravar no volume. Para mais informações sobre as permissões de arquivos, consulte Segurança de arquivos no Projeto de documentação do Linux.

  8. O ponto de montagem não é preservado automaticamente após a reinicialização da instância. Para montar automaticamente esse volume do EBS após a reinicialização, consulte Montar automaticamente um volume anexado após a reinicialização.

Montar automaticamente um volume anexado após a reinicialização

Para montar um volume anexado do EBS em cada reinicialização do sistema, adicione uma entrada para o dispositivo ao arquivo /etc/fstab.

Você pode usar o nome do dispositivo, como /dev/xvdf, no /etc/fstab, mas recomendamos o uso do identificador universal exclusivo (UUID) de 128 bits do dispositivo. Os nomes dos dispositivos podem mudar, mas o UUID persiste durante todo o ciclo de vida da partição. Usando o UUID, você reduz as possibilidades de o sistema se tornar não inicializável após uma reconfiguração de hardware. Para obter mais informações, consulte Identificar o dispositivo EBS.

Para montar um volume anexado automaticamente após a reinicialização

  1. (Opcional) Crie um backup do seu arquivo /etc/fstab para usar se você destruir ou excluir acidentalmente esse arquivo quando for editá-lo.

    [ec2-user ~]$ sudo cp /etc/fstab /etc/fstab.orig
  2. Use o comando blkid para encontrar o UUID do dispositivo. Anote o UUID do dispositivo que você deseja montar após a reinicialização. Você vai precisar dele na etapa seguinte.

    Por exemplo, o comando a seguir mostra que existem dois dispositivos montados na instância e mostra os UUIDs para ambos os dispositivos.

    [ec2-user ~]$ sudo blkid /dev/xvda1: LABEL="/" UUID="ca774df7-756d-4261-a3f1-76038323e572" TYPE="xfs" PARTLABEL="Linux" PARTUUID="02dcd367-e87c-4f2e-9a72-a3cf8f299c10" /dev/xvdf: UUID="aebf131c-6957-451e-8d34-ec978d9581ae" TYPE="xfs"

    Para Ubuntu 18.04, use o comando lsblk.

    [ec2-user ~]$ sudo lsblk -o +UUID
  3. Abra o arquivo /etc/fstab usando qualquer editor de texto (como nano ou vim).

    [ec2-user ~]$ sudo vim /etc/fstab
  4. Adicione a entrada a seguir ao /etc/fstab para montar o dispositivo no ponto de montagem especificado. Os campos são o valor de UUID retornado pelo blkid (ou lsblk, para Ubuntu 18.04), ponto de montagem, sistema de arquivos e opções recomendadas de montagem do sistema de arquivos. Para obter mais informações sobre os campos obrigatórios, execute man fstab para abrir o fstab manual.

    No exemplo a seguir, montamos o dispositivo com UUID aebf131c-6957-451e-8d34-ec978d9581ae no ponto de montagem /data e usamos o sistema de arquivos xfs. Também usamos as flags defaults e nofail. Especificamos 0 para evitar que o sistema de arquivos seja despejado, e especificamos 2 para indicar que ele é um dispositivo não raiz.

    UUID=aebf131c-6957-451e-8d34-ec978d9581ae /data xfs defaults,nofail 0 2
    nota

    Se você inicializar a instância sem esse volume anexado (por exemplo, depois de mover o volume para outra instância), a opção de montagem nofail permitirá que a instância seja inicializada mesmo se houver erros na montagem do volume. Os derivados de Debian, incluindo versões de Ubuntu anteriores à 16.04, também devem adicionar a opção de montagem nobootwait.

  5. Para verificar se sua entrada funciona, execute os seguintes comandos para desmontar o dispositivo e, depois, montar todos os sistemas de arquivos em /etc/fstab. Se não houver erros, o arquivo /etc/fstab será válido e o sistema de arquivos será montado automaticamente após ser reinicializado.

    [ec2-user ~]$ sudo umount /data [ec2-user ~]$ sudo mount -a

    Se você receber uma mensagem de erro, resolva os erros no arquivo.

    Atenção

    Erros no arquivo /etc/fstab podem impedir a inicialização de um sistema. Não desative um sistema que tenha erros no arquivo /etc/fstab.

    Se você não souber corrigir os erros no /etc/fstab e criou um arquivo de backup na primeira etapa desse procedimento, poderá restaurar a partir do arquivo de backup usando o comando a seguir.

    [ec2-user ~]$ sudo mv /etc/fstab.orig /etc/fstab