web-dev-qa-db-fra.com

Comment augmenter la taille de volume EBS d'une instance en cours d'exécution?

J'ai un serveur exécutant les récentes AMI Ubuntu de Canonical. La taille du volume de démarrage EBS est de 8 Go. Je sais que je peux redimensionner les volumes EBS en prenant un instantané, en créant un nouveau volume et en développant la partition. Comment puis-je augmenter la taille du volume lorsque la machine est en marche? Si cela n'est pas possible, quelle est la méthode recommandée pour augmenter la taille du volume de démarrage avec un temps d'indisponibilité minimal?

68
j0nes

Malheureusement, il n'est pas possible d'augmenter la taille d'un volume de stockage d'unité Amazon EBS alors que l'instance Amazon EC2 est en cours d'exécution - Eric Hammond a rédigé une version détaillée (je suis enclin pour dire l'article 'canonique';) sur Redimensionnement du disque racine sur une instance EBS Boot EC2 en cours d'exécution :

Tant que vous êtes d'accord avec un peu de temps d'inactivité sur l'instance EC2 (quelques minutes), il est possible de remplacer le volume EBS racine par une copie plus grande, sans avoir à démarrer une nouvelle instance.

Si vous préparez correctement les étapes qu'il décrit (je vous recommande vivement de les tester avec une instance EC2 jetable pour vous familiariser avec la procédure), vous devriez pouvoir terminer le processus avec quelques minutes d'interruption seulement.

Bonne chance!

40
Steffen Opel

Nous pouvons augmenter la taille du volume avec le nouveau volume EBS Feature Elastic. Nous devons suivre les étapes suivantes pour utiliser la taille d’augmentation, comme indiqué ici.

Supposons que votre volume était de 16 Go et que vous l'avez augmenté à 32 Go.

    $lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  32G  0 disk
└─xvda1 202:1    0  16G  0 part /

Pour étendre xvda1 de 16 Go à 32 Go, nous avons besoin de Growpart. Growpart est disponible dans le cadre de cloudutils

Sudo apt install cloud-utils

Après l'installation de cloud-utils, exécutez la commande growpart

Sudo growpart /dev/xvda 1

Maintenant, lsblk, montrera

    $ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  32G  0 disk
└─xvda1 202:1    0  32G  0 part /

mais df -h ne montrera que 16 Go

La dernière commande pour étendre xvda1 à 32 Go est

Sudo resize2fs /dev/xvda1

En cas de système de fichiers XFS,

Sudo xfs_growfs /dev/xvda1 Merci œuf

55
tk120404

Une réponse tardive à cette question de 5 ans

AWS vient d'annoncer une nouvelle fonctionnalité EBS appelée Elastic Volumes, qui vous permet d'augmenter la taille du volume, d'ajuster les performances ou de changer le type de volume lorsque celui-ci est utilisé.

Vous pouvez en savoir plus sur AWS Blog here .

20
Khalid T.

Vous devez d'abord créer son instantané, puis à partir de cet instantané, créer un autre volume et, une fois le nouveau volume prêt, détachez l'ancien volume de l'instance et attachez le nouveau volume. Assurez-vous d'arrêter l'instance avant de démarrer ce processus et de redémarrer l'instance une fois que c'est fait.

Voir http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html

7
Opcrat