Назад | Перейти на главную страницу

MongoDB: операция вставки не выполняется, но диск свободен

Я видел странное поведение своего сервера и прежде всего посмотрел файл журнала /var/log/mongodb/mongodb.log. Там я увидел следующие строки:

Wed Jan  7 16:33:31 [FileAllocator] allocating new datafile /var/lib/mongodb/salesg_call_log.1, filling with zeroes...
Wed Jan  7 16:33:31 [FileAllocator] FileAllocator: posix_fallocate failed: errno:28 No space left on device falling back
Wed Jan  7 16:33:31 [FileAllocator] error failed to allocate new file: /var/lib/mongodb/salesg_call_log.1 size: 33554432 errno:28 No space left on device
Wed Jan  7 16:33:31 [FileAllocator]     will try again in 10 seconds

Думаю, это означает, что на моем сервере нет свободного места на диске.

Затем я набрал команду df -h:

Filesystem                                  Size  Used Avail Use% Mounted on
rootfs                                      9.3G  2.5G  6.5G  28% /
udev                                         10M     0   10M   0% /dev
tmpfs                                        55M   92K   55M   1% /run
/dev/mapper/jatare--web--front_system-root  9.3G  2.5G  6.5G  28% /
tmpfs                                       5.0M     0  5.0M   0% /run/lock
tmpfs                                       109M     0  109M   0% /run/shm
/dev/xvda1                                  134M   18M  109M  15% /boot

Мои файлы MongoDB хранятся по адресу /var/lib/mongodb/, а места для хранения данных достаточно.

Затем я только что перезапустил службу mongodb и службу apache2, и теперь все работает хорошо. Но я боюсь получить такую ​​же ситуацию в ближайшем будущем.

Итак, мой вопрос: в чем проблема и как ее решить?

Для @NickW:

root@jatare-web-front:~# df -i
Filesystem                                 Inodes IUsed  IFree IUse% Mounted on
rootfs                                     593408 46255 547153    8% /
udev                                        57496   273  57223    1% /dev
tmpfs                                       69353   189  69164    1% /run
/dev/mapper/jatare--web--front_system-root 593408 46255 547153    8% /
tmpfs                                       69353     3  69350    1% /run/lock
tmpfs                                       69353     2  69351    1% /run/shm
/dev/xvda1                                  72720    27  72693    1% /boot

Единственное решение, которое я нашел, - это ограничение на 2 ГБ в MongoDB на x32-машинах. MongoDB не может хранить более 2 ГБ в операционных системах x32: http://blog.mongodb.org/post/137788967/32-bit-limitations

Но я не уверен, что это была проблема.