увеличить раздел / temp или использовать root раздел на сервере - PullRequest
0 голосов
/ 22 февраля 2020

Я использую сервер в aws для моего веб-сайта, разработанного в ruby на рельсах 5 с пассажиром и nginx, до сегодняшнего дня все работало идеально, мне показалась следующая ошибка /home/ubuntu/.rbenv/libexec/rbenv-init: line 131: cannot create temp file for here-document: No space left on device

Я выполняю следующую команду df -h, и она показывает мне следующее:

Filesystem      Size  Used Avail Use% Mounted on
udev            2.0G   12K  2.0G   1% /dev
tmpfs           396M  364K  395M   1% /run
/dev/xvda1       26G   15G  9.5G  62% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none            2.0G     0  2.0G   0% /run/shm
none            100M     0  100M   0% /run/user
overflow        1.0M  1.0M     0 100% /tmp

, а при использовании tail -f log/production.log в проекте, я вижу следующую ошибку:

I, [2020-02-21T18:50:38.283374 #12760]  INFO -- : [5636754d-ca36-43f2-afcf-b0a025d3adca] Started GET "/" for 190.198.232.67 at 2020-02-21 18:50:38 +0000
I, [2020-02-21T18:50:38.284158 #12760]  INFO -- : [5636754d-ca36-43f2-afcf-b0a025d3adca] Processing by HomeController#index as HTML
D, [2020-02-21T18:50:38.285317 #12760] DEBUG -- : [5636754d-ca36-43f2-afcf-b0a025d3adca]    (0.1ms)  SELECT COUNT(*) FROM `users`                                                                                               
D, [2020-02-21T18:50:38.355268 #12760] DEBUG -- : [5636754d-ca36-43f2-afcf-b0a025d3adca]    (69.4ms)  SELECT COUNT(*) AS count_all, `users`.`city` AS users_city FROM `users` GROUP BY `users`.`city`                           
I, [2020-02-21T18:50:38.355476 #12760]  INFO -- : [5636754d-ca36-43f2-afcf-b0a025d3adca] Completed 500 Internal Server Error in 71ms (ActiveRecord: 69.6ms)
F, [2020-02-21T18:50:38.356099 #12760] FATAL -- : [5636754d-ca36-43f2-afcf-b0a025d3adca]   
F, [2020-02-21T18:50:38.356136 #12760] FATAL -- : [5636754d-ca36-43f2-afcf-b0a025d3adca] ActiveRecord::StatementInvalid (Mysql2::Error: Error writing file '/tmp/MYkVaUQs' (Errcode: 28 "No space left on device"): SELECT COUNT(*) AS count_all, `users`.`city` AS users_city FROM `users` GROUP BY `users`.`city`):
F, [2020-02-21T18:50:38.356157 #12760] FATAL -- : [5636754d-ca36-43f2-afcf-b0a025d3adca]   
F, [2020-02-21T18:50:38.356179 #12760] FATAL -- : [5636754d-ca36-43f2-afcf-b0a025d3adca] app/controllers/home_controller.rb:12:in `index'

Я искал способ увеличить этот временный раздел или найти способ заставить операционную систему больше не брать этот временный раздел и сохранять временные файлы в root, в соответствии с этим page Я мог бы сделать это, изменив файл / etc / fstab, но внутри него я не вижу указанный временный раздел. только это:

LABEL=cloudimg-rootfs   /    ext4   defaults,discard    0 0
/dev/xvdb   /mnt    auto    defaults,nobootwait,comment=cloudconfig 0   2

1 Ответ

0 голосов
/ 22 февраля 2020

Это очень странная схема файловой системы. 1 Мб для / tmp - это крошечный.

Вы проверили, что на самом деле находится в файловой системе в / tmp?

Если честно, если вы не знакомы с linux, вашим самым простым путем миграции это раскрутить другой сервер, у которого нет отдельного / tmp, и перенести ваши сервисы на новый сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...