154 votes

Augmenter la taille des volumes Amazon EBS

Je suis assez impressionné par les services EC2 et EBS d'Amazon. Je voulais savoir s'il est possible de faire croître un volume EBS.

Par exemple : Si j'ai un volume de 50 Go et que je commence à manquer d'espace, puis-je le faire passer à 100 Go si nécessaire ?

103voto

ConroyP Points 24021

Vous pouvez augmenter le stockage, mais cela ne peut pas se faire à la volée. Vous devrez prendre un instantané du bloc actuel, ajouter un nouveau bloc plus grand et rattacher votre instantané.

Il y a une simple marche à suivre aquí sur la base de l'utilisation Outils de ligne de commande EC2 d'Amazon

44voto

echox Points 2227

Vous ne pouvez pas simplement "rajouter" de l'espace à la volée si vous en avez besoin, mais vous pouvez redimensionner la partition avec un instantané.

Les étapes à suivre pour cela :

  1. Démonter le volume ebs
  2. créer un instantané ebs
  3. ajouter un nouveau volume avec plus d'espace
  4. recréer la table de partition et redimensionner système de fichiers
  5. monter le nouveau volume ebs

Regardez http://aws.amazon.com/ebs/ - EBS Snapshot :

Les instantanés peuvent également être utilisés pour instancier plusieurs nouveaux volumes, augmenter la taille d'un volume ou déplacer déplacer des volumes entre zones de disponibilité. Lorsqu'un nouveau volume est créé, il y a l'option de le créer sur la base d'un snapshot Amazon S3 existant. Dans ce scénario, le nouveau volume commence comme une réplique exacte du volume d'origine. En spécifiant éventuellement une taille de volume ou une zone de disponibilité zone de disponibilité différente, cette fonctionnalité peut être utilisée comme un moyen d'augmenter la taille d'un volume existant ou pour créer des volumes dupliqués dans de nouvelles zones de disponibilité. Si vous choisissez d'utiliser d'utiliser des instantanés pour redimensionner votre volume, vous devez être sûr que votre système de fichiers ou l'application prend en charge le redimensionnement d'un périphérique.

22voto

Seeker Points 691

J'ai suivi toutes les réponses, toutes ont quelque chose qui manque avec tout le respect.

Si vous suivez ces étapes, vous pouvez faire croître votre volume EBS et conserver vos données (ceci ne concerne pas le volume Root). Pour des raisons de simplicité, je vous suggère d'utiliser la console AWS pour créer des instantanés, mais vous pouvez également le faire en utilisant les outils de ligne de commande AWS.

Nous ne touchons pas au volume de la racine ici.

Accédez à votre console AWS :

  1. Arrêtez votre instance (cela ne durera que quelques minutes).
  2. Détachez le volume que vous prévoyez de faire croître (disons /dev/xvdf)
  3. Créez un instantané du volume.
  4. Créez un nouveau volume avec une taille plus importante en utilisant le snapshot que vous venez de créer.
  5. Attachez le nouveau volume à votre instance
  6. Démarrez votre instance

SSH à votre instance :

 $ sudo fdisk -l

Cela vous donne quelque chose comme :

Disk /dev/xvdf: 21.5 GB, 21474836480 bytes
12 heads, 7 sectors/track, 499321 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd3a8abe4

    Device Boot      Start         End      Blocks   Id  System
/dev/xvdf1            2048    41943039    20970496   83  Linux

Écrivez Début y Id valeurs. (dans ce cas, 2048 et 83)

En utilisant fdisk ,supprimez la partition xvdf1 et créez-en une nouvelle qui part exactement du même bloc (2048). Nous lui donnerons le même Id (83) :

$ sudo fdisk /dev/xvdf 

Command (m for help): d
Selected partition 1

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
Using default value 1
First sector (2048-41943039, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 
Using default value 41943039

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 83

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Cette étape est bien expliquée ici : http://litwol.com/content/fdisk-resizegrow-physical-partition-without-losing-data-linodecom

C'est presque terminé, il ne nous reste plus qu'à monter le volume et à exécuter resize2fs :

Monter le volume ebs : (le mien est à /mnt/ebs1)

$ sudo mount /dev/xvdf1 /mnt/ebs1

et le redimensionner :

$ sudo resize2fs -p /dev/xvdf1

resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/xvdf1 is mounted on /mnt/ebs1; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/xvdf1 to 5242624 (4k) blocks.
The filesystem on /dev/xvdf1 is now 5242624 blocks long.

ubuntu@ip-xxxxxxx:~$ 

C'est fait ! Utilisez df -h pour vérifier la nouvelle taille.

19voto

Jeff Bauer Points 6598

Si vous êtes d'accord avec quelques minutes d'arrêt, Eric Hammond a écrit un bon article sur le redimensionnement du disque racine d'une instance EBS en cours d'exécution : http://alestic.com/2010/02/ec2-resize-running-ebs-Root

9voto

Pat McCarten Points 66

Toutes les recommandations sont excellentes, et j'ai pensé ajouter cet article que j'ai trouvé, qui concerne l'expansion d'une instance Windows Amazon EC2 EBS en utilisant les outils Amazon Web UI pour effectuer les changements nécessaires. Si vous n'êtes pas à l'aise avec l'utilisation du CLI, cela facilitera grandement votre mise à niveau.

http://www.tekgoblin.com/2012/08/27/aws-guides-how-to-resize-a-ec2-Windows-ebs-volume/

Merci à TekGoblin d'avoir publié cet article.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X