Eu tenho uma instância do Amazon EC2 apoiada por EBS. Eu gostaria de alterar o dispositivo raiz nesta instância. Você pode aconselhar a melhor maneira de fazer isso?
Só encontro documentação sobre como alterar vários atributos de dispositivos de bloco, mas eles não parecem incluir a configuração do dispositivo como raiz.
/dev/sda1
fato!/dev/sda
nem/dev/sda1
funcionou para mim, mas/dev/xvda
funcionou./dev/sda
- não funcionou./dev/sda1
,dev/sdf
- funcionou, mas a instância não inicializou./dev/xvda
funcionou.aws ec2 describe-instances --instance-id i-XXXXXXX | grep -i rootDeviceName
no meu caso/dev/xvda
Não tenho rep. Suficiente para adicionar um comentário à resposta selecionada, mas quero ressaltar que para mim,
/dev/sda1
não funcionou (não/dev/xvda
anexou como root) , mas usando funcionou (anexado como root). A instância é uma das mais novas t2.micro usando HVM.fonte
/dev/sda1
AWS se recusará a iniciar minha instância. Preciso definir alguma outra configuração para usar um nome de dispositivo raiz alternativo?/dev/sda
é inválida, mas/dev/sda1
está bem.Para elaborar o comentário de Diomidis Spinellis no tópico de comentários da resposta aceita, é importante verificar o rótulo do sistema de arquivos do dispositivo que você está tentando alternar como seu novo dispositivo raiz. Ao solucionar problemas de migração de meu próprio servidor, tive que fazer o seguinte antes que minha instância inicializasse:
Use o
e2label
comando para alterar o rótulo no sistema de arquivos ext2 / ext3 / ext4 que você criou para seu novo dispositivo raiz.Primeiro, verifique o rótulo do sistema de arquivos do seu dispositivo raiz atual.
Configure o novo dispositivo para ter o mesmo rótulo de sistema de arquivos.
No meu caso, o rótulo era
cloudimg-rootfs
. Às vezes, simplesmente será/
.É importante entender como funciona o e2label; verifique
man e2label
em sua máquina ou visite http://linux.die.net/man/8/e2label para obter mais informações.fonte
Esta é a solução sugerida pelo aws. Você pode separar o volume raiz da instância original depois de interrompê-lo. O volume raiz é anexado em / dev / sda1. Depois de desanexado, anexe-o à nova instância. Depois que o volume for conectado, talvez seja necessário montá-lo no sistema operacional. Depois de montado, você deve ver os dados dentro dele.
Depois de adicionar a nova chave, você pode desanexá-la e anexá-la à instância original em / dev / sda1.
Eu sugiro criar um instantâneo do volume raiz antes de fazer qualquer alteração.
Antes de tentar qualquer solução, experimente nas instâncias não importantes ou instâncias pontuais
fonte
Se quiser fazer isso por meio do CloudFormation, você precisará fazer o seguinte:
Implante sua pilha. Isso recriará sua instância, portanto, certifique-se de usar um endereço Elastic IP ou de ter acesso DNS.
O motivo pelo qual você tem que fazer esta solução alternativa é porque o CF não permitirá que você ajuste o tamanho do volume raiz em EC2 BlockDeviceMappings, ou para ajustar SnapshotId do Volume raiz.
fonte
Quando o seu volume é montado, ele é corrigido posteriormente com números, por exemplo: quando
/dev/sda
é montado, é montado/dev/sda1, /dev/sda2
dependendo das partições que você fizer. Como estamos montando o próprio dispositivo root, ele assume que o dispositivo já está montado, por isso precisamos fornecer/dev/sda1
para montagem o volume como dispositivo root. Nota: Não deve haver nenhum volume raiz anexado.Siga estas etapas: 1) Vá para seus volumes, selecione anexar volumes em Ação. 2) Selecione sua instância 3) Para montar como root, dê o nome do dispositivo como
/dev/sda1
4) Inicie sua instância.fonte