При записи истории начала возникать ошибка No space left on device

1,877 просмотров
спросил 12 Авг, 13 от pelewin (310 баллов) в категории Прочее

askozia стоит на hyper-v. с определенного момента перестали записываться телефонные разговоры. при этом в логах идут такие сообщения: 

 

Aug 12 10:30:35 asterisk[1831]: WARNING[3131]: file.c:1229 in ast_writefile: Unable to open file /storage/usbdisk1/askoziapbx/voicemailarchive/monitor/in_79066712569_2013-08-12-10-30-03-in.gsm: No space left on device
Aug 12 10:30:35 asterisk[1831]: WARNING[3131]: res_monitor.c:363 in __ast_monitor_start: Could not create file /storage/usbdisk1/askoziapbx/voicemailarchive/monitor/in_79066712569_2013-08-12-10-30-03-in
Aug 12 10:30:35 asterisk[1831]: WARNING[3131]: res_monitor.c:629 in __ast_monitor_change_fname: Cannot change monitor filename of channel SIP/SIP-PROVIDER-1520114063514852a1195e3-00000003 to in_79066712569_2013-08-12-10-30-03, monitoring not started

в командной стороке все нормально:

 

~ # df -h
Filesystem                Size      Used Available Use% Mounted on
none                   1012.5M         0   1012.5M   0% /dev
/dev/hda2               174.8M    121.8M     53.0M  70% /offload
/dev/hda1                25.9M      6.0M     19.9M  23% /cf
/dev/hdb1                10.0G      2.3G      7.7G  23% /storage/usbdisk1
 
Пробовал залить файл по ssh - тоже все заливается.

В чем может быть проблема?

Из истории: был примонтирован диск на 2 Гб. после того как место начало заканчиваться примонтировал более большой диск на 10 Гб. 

оставил комментарий 16 Авг, 13 от nbek (12,470 баллов)
Вы не могли бы выполнить команду

find /storage/usbdisk1/askoziapbx/voicemailarchive/monitor/ -maxdepth 1 -type f | wc -l

И запостить результат в свой вопрос выше, есть одно подозрение.
оставил комментарий 19 Авг, 13 от pelewin (310 баллов)
Похоже проблема действительно с количеством файлов. у нас их около 16 тысяч. Есть возможность другую файловую систему использовать?

3 Ответы

+1 голос
ответил 19 Авг, 13 от nbek (12,470 баллов)
выбран 19 Авг, 13 от pelewin
 
Лучший ответ

Скорее всего вы уперлись в ограничение файловой системы FAT32 на количество файлов в одной папке.

Можно сделать автоматическое создание и сохранение файлов записей в древовидной структуре.

В скрипте записи звоноков замените код на указанный ниже

Для входящих

Set(RecFile=${STRFTIME(${EPOCH},,%Y-%m/%d)}/in_${CDR(src)}_${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M-%S)})
Set(CDR(userfield)=${RecFile}.gsm)
Monitor(gsm,${RecFile},bm)

Для исходящих

Set(RecFile=${STRFTIME(${EPOCH},,%Y-%m/%d)}/out_${CDR(dst)}_${STRFTIME(${EPOCH},,%Y-%m-%d-%H-%M-%S)})
Set(CDR(userfield)=${RecFile}.gsm)
Monitor(gsm,${RecFile},bm)
оставил комментарий 21 Авг, 13 от pelewin (310 баллов)
Вроде помогло, но появилась новая проблема. диск раз в сутки или раз в двое суток становится примонтированным readonly - ro. приходится либо перезагружать систему либо руками выполнять перемонтирование.
оставил комментарий 21 Авг, 13 от nbek (12,470 баллов)
Вы уверены что везде поправили скрипт. Мне кажется диск переходит в RO режим только когда ловит ошибку записи в папку.
оставил комментарий 22 Авг, 13 от pelewin (310 баллов)
Сегодня утром опять словили такую же ошибку. при этом в логах до этого не было ошибок записи. Появляется неожиданно ошибка работы с базой данных Aug 21 13:20:40 asterisk[1680]: ERROR[5341]: cdr_sqlite3_custom.c:278 in write_cdr: database is locked. SQL: INSERT INTO cdr (calldate,clid,src,dst,dcontext,channel,dstchannel,lastapp,lastdata,end,duration,billsec,disposition,amaflags,accountcode,uni
и все. смотрим на диск он - ro. Помогает mount даже без без перезагрузки После этого опять продолжает работать. Скрипты проверили - все складывается по разным папочкам. Файлов в старой папке - 6500 и больше не прибавляется.
Думаю может диск новый создать для хранения файлов с записями?
Что будет если я подключу еще один диск. у старого уберу галочку хранить "Голосовую почту" а у нового поставлю. ничего страшного не произойдет? Не хотелось бы всю историю звонков потерять - она в 1С грузится.
0 голосов
ответил 12 Авг, 13 от pelewin (310 баллов)
Я думаю проблема с правами. перед монтированием нового диска я скопировал содержимое старого диска на новый через винду. Сейчас у всех файлов - папок права 755 и владелец root:root

провобал поменять на 777 - не получается.
оставил комментарий 12 Авг, 13 от pelewin (310 баллов)
Это же fat32 - права не причем... тогда вообще не понимаю что происходить...
оставил комментарий 19 Авг, 13 от nbek (12,470 баллов)
У FAT32 есть ограничение на примерно 65000 файлов в папке.  Это количество зависит от длины имени, мы на 19000 столкнулись с похожей проблемой.
0 голосов
ответил 12 Авг, 13 от nbek (12,470 баллов)
У нас была такая проблема на 2.2.2CFE, в 2.2.4 вроде пока не возникала.

Там могут быть битые кластеры или неправильно определяться свободное место.

В 2.2.4 добавили автопроверку дисков при старте и по расписанию.

MIKO, edition версия 2.2.4 будет в сентябре
оставил комментарий 12 Авг, 13 от pelewin (310 баллов)
А в 2.2.2 как такую проверку запустить? или к винде винт прикруть и там проверить?
оставил комментарий 19 Авг, 13 от nbek (12,470 баллов)
К винде прикрутить да.
Добро пожаловать на сайт MikoPBX Q&A, где вы можете задавать вопросы и получать ответы от других членов сообщества.

Популярные теги

askozia провайдер запись-разговоров настройка ivr входящие-вызовы маршрут маршрутизация askozia6 провайдеры очередь запись askozia7 факс очередь-вызовов транк исходящие-звонки обновление переадресация веб-интерфейс ascozia история мобильный интеграция перехват-вызова провайдеров логи редактор разговоров goip аон callerid установка маршруты диалплан тишина smtp gsm панель-телефонии-1с перевод-вызова звонок nat лицензия панель askozia-5 переадресация-мобильный префиксы телефонная-книга голосовая почта парковка перевод vmware мультифон мегафон донабор настройка-провайдер статистика время голосовая-почта перехват вызовов номер asterisk skype ssh 2 web-интерфейс дополнительный-диск распределение проброс-портов настройка-исходящие-исходящих-вызов-вызовов подменю goip4 отправка-факса железо grandstream релиз beeline digium bruteforce взлом приложение исходящие fax web cdr времени pickup вызовы yealink ростелеком mango 8 шлюз количество не-слышно-звук перенос_конфигурации запись-разговора

1,433 вопросов

1,245 ответов

2,984 комментариев

1,891 пользователей

...