J'ai une instance Amazon EC2 soutenue par EBS. Je voudrais changer le périphérique racine sur cette instance. Pouvez-vous nous indiquer la meilleure façon de procéder?
Je ne trouve que de la documentation sur la modification de plusieurs attributs de périphériques de bloc, mais ils ne semblent pas inclure le réglage en tant que périphérique racine.
/dev/sda1
effet!/dev/sda
ni/dev/sda1
travaillé pour moi, mais a/dev/xvda
fait./dev/sda
- n'a pas fonctionné./dev/sda1
,dev/sdf
- a fonctionné, mais l'instance n'a pas démarré./dev/xvda
travaillé.aws ec2 describe-instances --instance-id i-XXXXXXX | grep -i rootDeviceName
dans mon cas/dev/xvda
Je n'ai pas assez de représentants pour ajouter un commentaire à la réponse sélectionnée, mais je tiens à souligner que pour moi, cela
/dev/sda1
n'a pas fonctionné (ne s'est pas attaché en tant que racine), mais en utilisant/dev/xvda
travaillé (attaché en tant que racine). L'instance est l'une des plus récentes t2.micro utilisant HVM.la source
/dev/sda1
AWS refuse de démarrer mon instance. Dois-je configurer un autre paramètre pour utiliser un autre nom de périphérique racine?/dev/sda
n'est pas valide mais/dev/sda1
c'est bien.Pour élaborer sur le commentaire de Diomidis Spinellis dans le fil de commentaires de la réponse acceptée, il est important de vérifier l'étiquette du système de fichiers de l'appareil que vous essayez de basculer en tant que nouveau périphérique racine. Lors du dépannage de ma propre migration de serveur, j'ai dû effectuer les opérations suivantes avant que mon instance ne démarre:
Utilisez la
e2label
commande pour changer le libellé du système de fichiers ext2 / ext3 / ext4 que vous avez créé pour votre nouveau périphérique racine.Commencez par vérifier l'étiquette du système de fichiers de votre périphérique racine actuel.
Configurez le nouveau périphérique pour qu'il ait la même étiquette de système de fichiers.
Dans mon cas, l'étiquette était
cloudimg-rootfs
. Parfois, ce sera simplement le cas/
.Il est important de comprendre comment fonctionne e2label; vérifiez
man e2label
sur votre machine ou visitez http://linux.die.net/man/8/e2label pour plus d'informations.la source
Voici la solution suggérée par aws. Vous pouvez détacher le volume racine de l'instance d'origine après l'avoir arrêtée. Le volume racine est attaché à / dev / sda1. Une fois que cela est détaché, veuillez le joindre à la nouvelle instance. Une fois le volume connecté, vous devrez peut-être le monter à partir du système d'exploitation. Une fois monté, vous devriez voir les données qu'il contient.
Après avoir ajouté la nouvelle clé, vous pouvez la détacher et l'attacher à l'instance d'origine dans / dev / sda1.
Je suggère de créer un instantané du volume racine avant d'apporter des modifications.
Avant d'essayer des solutions, essayez simplement les instances non importantes ou les instances ponctuelles
la source
Si vous souhaitez le faire via CloudFormation, vous devrez effectuer les opérations suivantes:
Déployez votre pile. Cela recréera votre instance, alors assurez-vous que vous utilisez une adresse IP Elastic ou que vous disposez d'un accès DNS.
La raison pour laquelle vous devez faire cette solution de contournement est que CF ne vous permettra pas d'ajuster la taille du volume racine sur EC2 BlockDeviceMappings, ou d'ajuster SnapshotId du volume racine.
la source
Lorsque votre volume est monté, il reçoit un post-correctif avec des nombres, par exemple: lorsqu'il
/dev/sda
est monté, il est monté en/dev/sda1, /dev/sda2
fonction des partitions que vous créez. Comme nous montons le périphérique racine lui-même, cela suppose que le périphérique est déjà monté, nous devons donc donner/dev/sda1
pour monter le volume en tant que périphérique racine. Remarque: aucun volume racine ne doit être attaché.Suivez ces étapes: 1) Accédez à vos volumes, sélectionnez attacher les volumes à partir de l'action. 2) Sélectionnez votre instance 3) Pour le montage en tant que root, donnez le nom de l'appareil
/dev/sda1
4) Démarrez votre instance.la source