J'utilise un serveur Ubuntu sur EC2 ebs et mon application a besoin de beaucoup d'espace disque temporaire, alloué dans / tmp. Cependant, sur ec2, le lecteur racine qui contient également / tmp est assez petit, environ 10 Go. Tout l'espace disque restant est monté sous / mnt. Par conséquent, mon application renvoie des erreurs «d'espace disque insuffisant», car / tmp semble être plein.
Quelle est la meilleure façon de résoudre ce problème? Une chose à laquelle je peux penser est de créer / mnt / tmp et de créer un lien symbolique
/tmp --> /mnt/tmp
Cependant, je suis un peu réticent à jouer avec quelque chose qui est utilisé par tant de programmes et d'outils Linux. Je ne sais pas si chaque programme résoudra correctement le lien symbolique, et je ne sais pas ce qu'il ferait pour les performances.
la source
Réponses:
Avec les images soutenues par EBS, le stockage éphémère est toujours disponible, il n'est tout simplement pas mappé en tant que périphérique de bloc par défaut (comme c'est le cas sur les images de stockage d'instance)
Le doc amazon est ici , et il y a un article de blog utile, ici
En résumé: vous pouvez spécifier ce mappage sur la ligne de commande lorsque vous lancez l'image, puis la monter en tant que volume normal sur
/dev/sd[x]
. Ou vous, si vous lancez votre propre AMI, vous pouvez ensuite intégrer la cartographie dans cette AMI afin que toutes les images lancées à partir de celle-ci y aient accès dès le départ.Symlinking
/tmp
fonctionnera, mais je ne le recommanderais pas dans ce cas, où vous avez une grande quantité de stockage temporaire en cours d'utilisation. Une fois que vous avez le mappage de périphérique disponible, vous pouvez avoir le périphérique monté comme/tmp
dans/etc/fstab
.Avec une petite instance, 150 Go de stockage d'instance devraient être disponibles gratuitement. Il va sans dire que ce stockage s'éteint au redémarrage de l'instance. Si votre utilisation n'est pas temporaire, vous devez créer votre propre nouveau volume EBS et le monter de cette façon.
la source
Vous pouvez lier le point de montage / tmp à / mnt / tmp:
la source
Le lien symbolique comme suggéré dans la question n'est pas une si mauvaise solution. Mais il faut faire très attention en le faisant. Juste pour consolider les étapes précises impliquées dans le montage du volume sont:
1) Créez un nouveau volume dans la console AWS. Attachez-le à l'instance.
2) Formatez-le et montez-le sous disons
/mnt/vol1
3) Nettoyez
/tmp
autant que possible.4)
mkdir /mnt/vol1/tmp && mv /tmp/* /mnt/ && rmdir /tmp && ln -s /mnt/vol1/tmp /tmp
la source
/tmp
survivent à un redémarrage.