0 голосов
1.9 тыс. просмотров
от (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 Гб. 

от (14.1 тыс. баллов)
Вы не могли бы выполнить команду

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

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

3 Ответы

от (14.1 тыс. баллов)
выбран от
 
Лучший ответ

Скорее всего вы уперлись в ограничение файловой системы 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)
от (310 баллов)
Вроде помогло, но появилась новая проблема. диск раз в сутки или раз в двое суток становится примонтированным readonly - ro. приходится либо перезагружать систему либо руками выполнять перемонтирование.
от (14.1 тыс. баллов)
Вы уверены что везде поправили скрипт. Мне кажется диск переходит в RO режим только когда ловит ошибку записи в папку.
от (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С грузится.
от (310 баллов)
Я думаю проблема с правами. перед монтированием нового диска я скопировал содержимое старого диска на новый через винду. Сейчас у всех файлов - папок права 755 и владелец root:root

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

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

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

MIKO, edition версия 2.2.4 будет в сентябре
от (310 баллов)
А в 2.2.2 как такую проверку запустить? или к винде винт прикруть и там проверить?
от (14.1 тыс. баллов)
К винде прикрутить да.
На этом сайте можно бесплатно задать вопрос разработчикам MikoPBX и другим членам сообщества. Время ответа не регламентированно, но мы стараемся несколько раз в день заглядывать сюда. Для срочного решения проблем обращайтесь на платную линию поддержки

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

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

1.5 тыс. вопросов

1.3 тыс. ответов

3.1 тыс. комментариев

2.1 тыс. пользователей

...