Augmentation de la taille des volumes Amazon EBS

Je suis très impressionné par les services EC2 et EBS d’Amazon. Je voulais savoir s’il était possible de développer un volume EBS.

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

Toutes les excellentes recommandations, et je pensais append cet article que j’ai trouvé, qui concerne l’expansion d’une instance EBS Windows Amazon EC2 à l’aide des outils d’interface utilisateur Amazon Web pour effectuer les modifications nécessaires. Si vous n’êtes pas à l’aise avec 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 pour cet article.

Vous pouvez développer le stockage, mais cela ne peut pas être fait à la volée. Vous devrez prendre un instantané du bloc actuel, append un nouveau bloc plus grand et rattacher votre instantané.

Il existe une procédure simple basée sur l’utilisation des outils de ligne de commande Amazon EC2

Si vous en avez besoin, vous ne pouvez pas simplement gagner plus d’espace à la volée, mais vous pouvez redimensionner la partition avec un instantané.

Étapes à suivre pour cela:

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

Regardez http://aws.amazon.com/ebs/ – Instantané EBS:

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

J’ai suivi toutes les réponses, tous ont quelque chose qui manque en tout respect.

Si vous suivez ces étapes, vous pouvez développer votre volume EBS et conserver vos données (ce n’est pas le cas pour le volume racine). Pour simplifier, je suggère d’utiliser la consule AWS pour créer un instantané, vous pouvez le faire en utilisant les outils de ligne de commande AWS.

Nous ne touchons pas le volume racine ici.

Accédez à votre console AWS:

  1. Arrêtez votre instance (ce ne sera que quelques minutes)
  2. Détachez le volume que vous prévoyez de développer (disons / dev / xvdf)
  3. Créez un instantané du volume.
  4. Créez un nouveau volume avec une taille supérieure en utilisant le snapshot que vous venez de créer
  5. Joindre le nouveau volume à votre instance
  6. Commencez votre instance

SSH sur votre instance:

$ sudo fdisk -l 

Cela donne votre 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 

Notez les valeurs Start et Id . (ici 2048 et 83)

En utilisant fdisk, supprimez la partition xvdf1 et créez-en une nouvelle qui commence exactement à partir du même bloc (2048). On va lui donner 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

Presque fini, il suffit de monter le volume et d’exécuter resize2fs:

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

 $ sudo mount /dev/xvdf1 /mnt/ebs1 

et 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:~$ 

Terminé! Utilisez df -h pour vérifier la nouvelle taille.

Eric Hammond a écrit un bon article sur le redimensionnement du disque racine sur une instance EBS en cours d’exécution: http://alestic.com/2010/02/ec2-resize-running-ebs -racine

Vous pouvez maintenant le faire via AWS Management Console. Le processus est le même que dans les autres réponses, mais vous n’avez plus besoin de vous rendre sur la ligne de commande.

BTW: Comme pour les disques physiques, il peut être utile d’utiliser LVM; ex:

http://www.davelachapelle.ca/guides/ubuntu-lvm-guide/ http://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/

Grand avantage: il permet d’append (ou de supprimer) de l’espace dynamicment.

Il peut également être facilement déplacé entre / parmi les instances.

Mises en garde:

  • il doit être configuré à l’avance
  • une simple configuration JBOD signifie que vous perdez tout si vous perdez un “disque”

Mes pas:

  1. arrête l’instance
  2. trouver le volume ebs attaché à l’instance et en créer un instantané
  3. créer un nouveau volume avec un espace disque plus important en utilisant l’instantané ci-dessus. Malheureusement, l’interface utilisateur de la console aws pour créer un instantané est presque inutilisable car elle répertorie tous les instantanés sur aws. Utiliser l’outil de ligne de commande est beaucoup plus facile, comme ceci:

     ec2-create-volume -s 100 --snapshot snap-a31fage -z us-east-1c 
  4. détacher le volume ebs (plus petit) existant de l’instance

  5. attachez le nouveau volume (plus grand) à l’instance et assurez-vous de l’attacher au même périphérique que celui attendu par l’instance (dans mon cas, il s’agit de / dev / sda1)
  6. lancer l’instance

Vous avez terminé!

Autre que l’étape 3 ci-dessus, vous pouvez tout faire en utilisant la console de gestion aws.

Aussi NOTE comme mentionné ici:

https://serverfault.com/questions/365605/how-do-i-access-the-attached-volume-in-amazon-ec2

le périphérique sur votre instance ec2 pourrait être / dev / xv * alors que la console web aws vous indique que c’est / dev / s *.

Utilisez la commande “diskpart” pour Windows, jetez un oeil ici: Utilisez http://support.microsoft.com/kb/300415 Voici les étapes que j’ai suivies pour un disque non root (disque de base non dynamic)

Une fois que vous avez pris un instantané, démonté l’ancien volume EBS (disons 600 Go) et créé un volume EBS plus grand (disons 1 To) et monté ce nouveau volume EBS – il vous faudra laisser Windows connaître le redimensionnement (de 600 Go à 1 To) à l’invite de commande (exécutez en tant qu’administrateur)

diskpart.exe

sélectionner le disque = 9

sélectionnez le volume = Z

étendre

[mon disque 9, volume étiqueté Z, était un volume de 1 To créé à partir d’un instantané ec2 de taille 600 Go – Je voulais redimensionner 600 Go à 1 To et suivre les étapes ci-dessus pour ce faire.]

Je recommande fortement Logical Volume Manager (LVM) pour tous les volumes EBS, si votre système d’exploitation le prend en charge. Les dissortingbutions Linux le font généralement. C’est génial pour plusieurs raisons.

  1. Le redimensionnement et le déplacement des volumes logiques peuvent être effectués en direct. Au lieu de la totalité de l’instantané hors ligne, qui nécessite un temps d’arrêt, vous pouvez simplement append un autre volume EBS plus grand, l’append au volume LVM, déplacer le volume logique (LV), supprimez l’ancien volume physique du pool et supprimez l’ancien volume EBS. Ensuite, vous redimensionnez simplement le volume logique et redimensionnez le système de fichiers dessus. Cela ne nécessite aucun temps d’arrêt du tout!

  2. Il extrait votre stockage de vos périphériques physiques. Il est très pratique de déplacer des partitions sur des périphériques sans temps d’arrêt ou de modifier les points de assembly / fstab.

Ce serait bien si Amazon permettait de redimensionner les volumes EBS à la volée, mais avec LVM, ce n’est pas nécessaire.

si votre volume racine est un système de fichiers xfs, alors exécutez cette commande xfs_growfs /