web-dev-qa-db-fra.com

Pas assez d'espace disque '/' dans l'instance AWS

j'exécute l'instance Ubuntu 11.04 pour mon serveur Web sur le cloud AWS, maintenant je n'ai plus d'espace disque dans la partition / de mon serveur. df -ah dit ceci

Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1            7.9G  7.8G   97M  99% /
proc                     0     0     0   -  /proc
none                     0     0     0   -  /sys
fusectl                  0     0     0   -  /sys/fs/Fuse/connections
none                     0     0     0   -  /sys/kernel/debug
none                     0     0     0   -  /sys/kernel/security
none                  3.7G  112K  3.7G   1% /dev
none                     0     0     0   -  /dev/pts
none                  3.7G     0  3.7G   0% /dev/shm
none                  3.7G   80K  3.7G   1% /var/run
none                  3.7G     0  3.7G   0% /var/lock
/dev/xvdb             414G   16G  377G   4% /mnt

Maintenant, j'ai essayé ces choses pour obtenir de l'espace supplémentaire sur la partition /

  • Nettoyer tous les fichiers journaux pour Apache.
  • Suppression de tous les fichiers inutiles du serveur.
  • Nettoyage du répertoire personnel.

Mais je n'ai toujours pas assez d'espace. Ce type d’instance est m1.large avec 8 Go d’EBS. Maintenant, je me procure suffisamment d’espace disque dans / dev/xvdb.

Y a-t-il un moyen que je puisse allouer de l'espace disque à / à partir de / dev/xvdb ou à tout autre moyen. Suggérez-moi la solution possible pour cela. Est-il possible d'utiliser la même partition / dev/xvdb avec une autre instance.

28
Sumant

La réponse est double.

Solution: utilisez/dev/xvdb (/ mnt) pour les données temporaires

Il s'agit du stockage dit éphémère de votre instance Amazon EC2 et ses caractéristiques sont très différentes de celles du stockage persistant Amazon EBS utilisé ailleurs. En particulier, ce stockage éphémère sera perdu lors des cycles d'arrêt/démarrage et peut généralement disparaître , vous ne voulez donc absolument pas y insérer d’objet de valeur durable, c’est-à-dire que ne mettez que des données temporaires à votre place permettre de perdre ou de reconstruire facilement , comme un fichier d'échange ou des données strictement temporaires utilisées lors des calculs. Vous pouvez bien sûr y stocker d’énormes index, par exemple, mais vous devez être prêt à les reconstruire une fois le stockage effacé, quelle que soit la raison (redémarrage de l’instance, défaillance matérielle, ...).

Solution: redimensionner/dev/xvda1 (/) pour obtenir le stockage souhaité

C'est ce qu'on appelle stockage de périphérique racine de votre --- instance EC2 prise en charge par Amazon EBS , ce qui facilite Amazon EBS pour la flexibilité et la durabilité, c'est-à-dire les données y sont raisonnablement sûres et survivent aux échecs d'instance; vous pouvez encore augmenter la flexibilité et la durabilité en effectuant des instantanés réguliers de votre volume EBS, qui sont stockés sur Amazon S , avec la durabilité bien connue de 99,999999999%.

Cette fonctionnalité de capture instantanée vous permet de résoudre votre problème à tour de rôle, dans la mesure où vous pouvez remplacer votre stockage racine EBS de 8 Go actuel (/ dev/xvda1) par un autre plus ou moins aussi grand que vous le souhaitez. Le processus est décrit dans l'excellent article d'Eric Hammond 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, ou de l’automatiser via un script personnalisé, par exemple), vous devriez pouvoir terminer le processus en quelques étapes. minutes d'arrêt seulement en effet.

La plupart des étapes décrites peuvent également être exécutées via AWS Management Console , ce qui évite de traiter avec = Amazon EC2 API Tools ; cela revient à:

  • arrêter (ne pas terminer!) l'instance EC2
  • détachez le volume EBS de l'instance arrêtée
  • créer un instantané du volume EBS détaché
  • créer un nouveau volume (plus grand) EBS à partir de l'instantané créé
  • attachez le nouveau volume EBS à l'instance EC2 ( Important ! S'il s'agit de votre périphérique racine, veillez à le nommer exactement comme le périphérique racine de l'instance comme il a été mentionné, par exemple (/ dev/sda1) ou (/ dev/xdva1), sinon il sera attaché en tant que périphérique bloc et non en tant que périphérique racine et vous ne pourrez pas démarrer l'instance car aucun périphérique racine ne sera répertorié. pour l'instance.)
  • SSH dans l'instance en cours d'exécution et confirmez que tout est en ordre via df -ah
    • si votre système n'a pas automatiquement redimensionné le système de fichiers, vous devrez le faire manuellement, comme expliqué dans l'article d'Eric.

Bonne chance!


Alternative

Compte tenu de la polyvalence et de la facilité d'utilisation de ces volumes EBS, une option supplémentaire consisterait à joindre davantage de volumes EBS à votre instance et à déplacer des zones d'inquiétude clairement séparables.

Par exemple, nous utilisons deux ou trois jolies applications Java, chacune utilisant un espace de stockage de 1 à 2 Go par version; pour faciliter la mise à niveau des versions et pouvoir généralement déplacer ces applications vers différentes instances, à ma discrétion, je les ai placées sur des volumes EBS dédiés, montez-les sur une instance et reliez-les à l'emplacement souhaité, par exemple. généralement /var/lib/<app>/<version> et /usr/local/<app>/<version>.

Avec cette méthode, nous exécutons actuellement des instances EC2 avec le stockage de périphérique racine toujours à sa taille par défaut de 8 Go (tout comme le vôtre), mais parfois jusqu'à 8 volumes EBS de tailles différentes (1 à 15 Go) connectés.

Cependant, vous devez être conscient des problèmes potentiels de performances réseau, dans la mesure où tous ces volumes EBS utilisent le même réseau local pour leurs E/S, ce qui pourrait même générer des gains de performances respectifs, voire saturer votre réseau dans des cas extrêmes. sur le cas d'utilisation et la charge de travail en cours.

26
Steffen Opel

Oui, un moyen simple de le trouver puis de le monter pour dire/var/www/html/files2 /

puis mkdir/var/www/html/files2/website puis ln -s -d/var/www/html/website/var/www/html/files2/website

1
Daniel Chay

Aujourd'hui, je suis confronté au même problème, lorsque vous citez la nouvelle ec2 intance par défaut, EBS est de 8 Go. Vous pouvez modifier la taille de l'EBS attaché sans créer de nouvelle entrée, ni prendre d'instantané ni détacher EBS. Voici les trois étapes que vous pouvez suivre:

  1. Redimensionner le volume EBS
  2. Redimensionner la partition
  3. Redimensionner la partition Pour la première étape, accédez à votre console AWS, cliquez sur EBS, modifiez la taille souhaitée et cliquez sur Modifier.

Pour le reste des étapes, veuillez suivre cet article si vous avez des questions, n'hésitez pas à demander.

Merci!

0
Narendra Sharma