Por que a letra da unidade de disco muda depois que o ECS é reiniciado?
Sintoma
Para um ECS de Linux, a letra da unidade pode mudar depois que um disco EVS é desanexado e, em seguida, anexado novamente, ou depois que um disco EVS é desanexado e, em seguida, o ECS é reiniciado.
Causa raiz
Quando um ECS de Linux tem vários discos anexados, ele aloca letras de unidade na sequência de anexação e nomeia os discos como /dev/vda1, /dev/vdb1 e /dev/vdc1, etc.
Depois que um disco é desanexado e anexado novamente, ou depois que um disco é desanexado e o ECS é reiniciado, a letra da unidade pode mudar.
Por exemplo, um ECS tem três discos anexados: /dev/vda1, /dev/vdb1 e /dev/vdc1. Os parâmetros de montagem em /etc/fstab são os seguintes:
cat /etc/fstab
UUID=b9a07b7b-9322-4e05-ab9b-14b8050bdc8a / ext4 defaults 0 1 /dev/vdb1 /data1 ext4 defaults 0 0 /dev/vdc1 /data2 ext4 defaults 0 0
Depois que /dev/vdb1 é desanexado e o ECS é reiniciado, /dev/vdc1 torna-se /dev/vdb1 e é montado em /data. Nesse caso, nenhum disco é montado em /data2.
A alteração de letras de unidade pode afetar a execução de aplicações. Para resolver esse problema, é aconselhável usar os identificadores universalmente exclusivos (UUIDs) para substituir /dev/vdx porque um UUID identifica exclusivamente uma partição de disco no SO de Linux.
Solução
- Faça logon no ECS.
- Execute o seguinte comando para obter o UUID da partição:
Neste exemplo, execute o seguinte comando para obter o UUID da partição /dev/vdb1:
blkid /dev/vdb1
Informação semelhante à seguinte é exibida:
[root@ecs-test-0001 ~]# blkid /dev/vdb1 /dev/vdb1: UUID="b9a07b7b-9322-4e05-ab9b-14b8050cd8cc" TYPE="ext4"
O UUID da partição /dev/vdb1 é exibido.
- Execute o seguinte comando para abrir o arquivo fstab usando o editor vi:
vi /etc/fstab
- Pressione i para entrar no modo de edição.
- Mova o cursor para o final do arquivo e pressione Enter. Em seguida, adicione as seguintes informações:
UUID=b9a07b7b-9322-4e05-ab9b-14b8050cd8cc /data1 ext4 defaults 0 0
Os parâmetros são definidos da seguinte forma:
- UUID=b9a07b7b-9322-4e05-ab9b-14b8050cd8cc: UUID de uma partição de disco.
- /data1: diretório no qual a partição é montada. Você pode executar df -TH para consultar o diretório.
- ext4: formato do sistema de arquivos da partição. Você pode executar df -TH para consultar o formato.
- defaults: opção de montagem de partição. Normalmente, esse parâmetro é definido como defaults.
- 0 (o primeiro): se deve usar o backup de despejo do Linux.
- 0: o backup de despejo do Linux não é usado. Normalmente, o backup de despejo não é usado e você pode definir esse parâmetro como 0.
- 1: o backup de despejo do Linux é usado.
- 0 (o segundo): opção fsck, ou seja, se usar o fsck para verificar discos durante a inicialização.
- 0: fsck não é usado.
- Se o ponto de montagem for a partição raiz (/), este parâmetro deve ser definido como 1.
Quando este parâmetro é definido como 1 para a partição raiz, este parâmetro para outras partições deve começar com 2 para que o sistema verifique as partições em ordem crescente dos valores.
- Repita os passos 2 a 5 para substituir o UUID de /dev/vdc1.
- Execute o seguinte comando novamente para verificar os parâmetros de montagem do disco:
As seguintes informações são exibidas:
UUID=b9a07b7b-9322-4e05-ab9b-14b8050bdc8a / ext4 defaults 0 1 UUID=b9a07b7b-9322-4e05-ab9b-14b8050cd8cc /data1 ext4 defaults 0 0 UUID=b9a07b7b-9322-4e05-ab9b-14b8050ab6bb /data2 ext4 defaults 0 0