Opções de fstab Tradicionais

Nas instâncias do Linux, se você quiser montar automaticamente volumes na inicialização da instância, defina algumas opções específicas no arquivo /etc/fstab ou a instância poderá falhar ao ser iniciada.

Observação

Estas etapas se referem a volumes em blocos que não têm caminhos de dispositivos consistentes ativados. Se caminhos de dispositivos consistentes estiverem ativados para o volume em blocos, use as opções /etc/fstab para volumes em blocos que utilizam caminhos de dispositivos consistentes.

UUIDs de Volume

Nos sistemas operacionais Linux, a ordem na qual os volumes são anexados não é determinística, para que possa ser alterada a cada reinicialização. Se você mencionar um volume usando o nome do dispositivo, como /dev/sdb, e tiver mais de um volume não baseado na raiz, não poderá garantir que o volume que pretende montar para um nome de dispositivo específico será o volume montado.

Para evitar esse problema, especifique o UUID do volume no arquivo /etc/fstab em vez do nome do dispositivo. Quando você usa o UUID, o processo de montagem corresponde ao UUID do superbloco com o ponto de montagem especificado no arquivo /etc/fstab. Esse processo garante que o mesmo volume seja sempre montado no mesmo ponto de montagem.

Determinando o UUID de um Volume

  1. Siga as etapas para anexar um volume e estabelecer conexão com o volume.

  2. Depois que os volumes estiverem conectados, crie o sistema de arquivos de sua escolha em cada volume usando as ferramentas padrão do Linux.

    As etapas restantes consideram que três volumes foram conectados e que um sistema de arquivos XFS foi criado em cada volume.

  3. Execute o seguinte comando para usar o utilitário blkid a fim de obter os UUIDs dos volumes:

    sudo blkid

    A saída será semelhante à seguinte:

    {{ /dev/sda3: UUID="1701c7e0-7527-4338-ae9f-672fd8d24ec7" TYPE="xfs" PARTUUID="82d2ba4e-4d6e-4a33-9c4d-ba52db57ea61"}}
    {{ /dev/sda1: UUID="5750-10A1" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="082c26fd-85f5-4db2-9f4e-9288a3f3e784"}}
    {{ /dev/sda2: UUID="1aad7aca-689d-4f4f-aff0-e0d46fc1b89f" TYPE="swap" PARTUUID="94ee5675-a805-49b2-aaf5-2fa15aade8d5"}}
    {{ /dev/sdb: UUID="699a776a-3d8d-4c88-8f46-209101f318b6" TYPE="xfs"}}
    {{ /dev/sdd: UUID="85566369-7148-4ffc-bf97-50954cae7854" TYPE="xfs"}}
    {{ /dev/sdc: UUID="ba0ac1d3-58cf-4ff0-bd28-f2df532f7de9" TYPE="xfs"}}

    O volume raiz dessa saída é /dev/sda*. Os volumes remotos adicionais são:

    • /dev/sdb
    • /dev/sdc
    • /dev/sdd
  4. Para anexar automaticamente os volumes em /mnt/vol1, /mnt/vol2 e /mnt/vol3, respectivamente, crie os três diretórios usando os seguintes comandos:

    bash-4.2$ sudo mkdir /mnt/vol1
    {{ bash-4.2$ sudo mkdir /mnt/vol2}}
    {{ bash-4.2$ sudo mkdir /mnt/vol3}}

Usar as Opções _netdev e nofail

Por padrão, o arquivo /etc/fstab é processado antes do início do iniciador. Configure o processo de montagem para ser iniciado antes da montagem dos volumes, especificando a opção _netdev em cada linha do arquivo /etc/fstab.

Quando você criar uma imagem personalizada de uma instância em que os volumes, excluindo o volume raiz, são listados no arquivo /etc/fstab, as instâncias falharão ao serem iniciadas pela imagem personalizada. Para evitar esse problema, especifique a opção nofail no arquivo /etc/fstab.

No cenário de exemplo com três volumes, as entradas do arquivo /etc/fstab para os volumes com as opções _netdev e nofail são as seguintes:


UUID=699a776a-3d8d-4c88-8f46-209101f318b6 /mnt/vol1 xfs defaults,_netdev,nofail 0 2
UUID=ba0ac1d3-58cf-4ff0-bd28-f2df532f7de9 /mnt/vol2 xfs defaults,_netdev,nofail 0 2
UUID=85566369-7148-4ffc-bf97-50954cae7854 /mnt/vol3 xfs defaults,_netdev,nofail 0 2

Após atualizar o arquivo /etc/fstab, use o seguinte comando para montar os volumes:

bash-4.2$ sudo mount -a

Reinicialize a instância para confirmar se os volumes são montados corretamente durante a reinicialização com o seguinte comando:

bash-4.2$ sudo reboot

Solucionando Problemas com o Arquivo /etc/fstab

Se a instância falhar na reinicialização depois que você atualizar o arquivo /etc/fstab, talvez seja necessário desfazer as alterações no arquivo /etc/fstab. Para atualizar o arquivo, primeiro estabeleça conexão com a console serial da instância. Quando você tiver acesso à instância usando a conexão da console serial, poderá remover, comentar ou corrigir as alterações feitas no arquivo /etc/fstab.