Я запускаю сервер Ubuntu на EC2 ebs, и моему приложению требуется много временного дискового пространства, выделенного в / tmp. Однако в ec2 корневой диск, который также содержит / tmp, довольно мал, около 10 ГБ. Все оставшееся дисковое пространство смонтировано в / mnt. В результате мое приложение возвращает ошибку «недостаточно места на диске», поскольку / tmp кажется заполненным.
Как лучше всего решить эту проблему? Одна вещь, о которой я могу думать, - это создать / mnt / tmp и сделать символическую ссылку
/tmp --> /mnt/tmp
Однако я не очень хочу возиться с чем-то, что используется во многих программах и инструментах Linux. Я не уверен, что каждая программа правильно разрешит символическую ссылку, и не уверен, что это повлияет на производительность.
С образами, поддерживаемыми EBS, временное хранилище по-прежнему доступно, оно просто не отображается как блочное устройство по умолчанию (как в образах хранилища экземпляров)
Документ Amazon Вот, и есть полезный пост в блоге, Вот
В итоге: вы можете указать это сопоставление в командной строке при запуске образа, а затем смонтировать его как обычный том на /dev/sd[x]
. Или вы, если вы развернете свой собственный AMI, вы можете запечь отображение в этот AMI, чтобы все изображения, запускаемые из него, имели к нему доступ с самого начала.
Символьные ссылки /tmp
будет работать, но я бы не рекомендовал его в этом случае, когда у вас используется большой объем временного хранилища. Как только у вас будет доступное сопоставление устройств, вы можете смонтировать устройство как /tmp
в /etc/fstab
.
Для небольшого экземпляра у вас должно быть 150 ГБ хранилища экземпляров, доступных бесплатно. Само собой разумеется, что это хранилище умирает при перезагрузке экземпляра. Если ваше использование не является временным, вам необходимо создать собственный новый том EBS и смонтировать его таким образом.
Вы можете привязать точку монтирования / tmp к / mnt / tmp:
sudo mount -B / tmp / mnt / tmp
Символическая ссылка, предложенная в вопросе, - не такое уж плохое решение. Но при этом следует проявлять особую осторожность. Чтобы обобщить точные шаги, необходимые для установки тома:
1) Создайте новый том в консоли AWS. Прикрепите его к экземпляру.
2) Отформатируйте его и смонтируйте под, скажем, /mnt/vol1
3) Очистить /tmp
насколько это возможно.
4) mkdir /mnt/vol1/tmp && mv /tmp/* /mnt/ && rmdir /tmp && ln -s /mnt/vol1/tmp /tmp