Восстановление БД биллинга из резервной копии.

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (10)

просмотр истории страницы
{tip}*Время выполнения инструкции*: 15-60 минут, в зависимости от скорости поиска данных для удаления или переноса, а так же времени на перенос данных{tip}

Если после выполнения команды
Заполнение дискового пространства вляется следствие работы операционной системы и программ, например программы Carbon Billing 5.
Если не ослеживать этот процесс и не реагировать вовремя на предупреждения [системы мониторинга|CarbonBilling:Система мониторинга], она может остановить работу биллинга во избежание повреждения базы данных биллинга.

Определить что причина именно в переполнении раздела можно так:
# Выполните следующую команду:
{code:title=Команда}/app/asr_billing/service start {code}
Вы получаете достаточно объемный вывод, в конце которого содержится абзац следующего содержания:
# Если Вы получаете достаточно объемный вывод, в конце которого написано про свободное место, значит причина именно в переполнении раздела:
{code}Свободного места на диске критично мало. Для предотвращения необратимых проблем, биллинг переходит в safe-mode.
Освободите свободное место на диске и запустите команду /app/asr_billing/service start {code}
Порядок действий по восстановлению будет иной. В таком случае БД биллинга не повреждена, а остановлена для сохранности. Произведите следующие действия:

В таком случае БД биллинга не повреждена, а остановлена для сохранности, необходимо освободить место на диске и запустить биллинг.

h2. Очистка свободного пространства

{tip}*Время выполнения инструкции*: 5-50 минут, в зависимости от скорости поиска данных для удаления или переноса, а так же времени на перенос данных{tip}

Для определения проблемного раздела, Вы можете использовать утилиту *df*, отфильтровава вывод утилитой *grep*, чтобы видеть только физические разделы
{code}[root@devel185 ~]# df -h | grep -wE '/|/mnt'
/dev/vda1 9,5G 3,5G 5,6G 39% /
/dev/vda9 71G 1,2G 67G 2% /mnt/backup
/dev/vda3 96G 4,0G 88G 5% /mnt/db
/dev/vda8 3,8G 46M 3,6G 2% /mnt/etc
/dev/vda7 96G 827M 91G 1% /mnt/log
/dev/vda2 711G 2,7G 673G 1% /mnt/var{code}
Определив проблемный раздел (занято более 85%), необходимо найти что занимает более всего пространства. Сделать это можно утилитой *du*, например:
{code}du -sch /mnt/var/app/*
915M /mnt/var/app/asr_billing
478M /mnt/var/app/asr_cabinet
80M /mnt/var/app/asr_fiscal
77M /mnt/var/app/auth
68M /mnt/var/app/base
206M /mnt/var/app/collector
214M /mnt/var/app/monitoring
104M /mnt/var/app/xge
2,1G итого{code}
Определив пробленые каталоги и/или файлы, дальнейшие действия - по ситуации:
- */mnt/vat*, */mnt/stat*. Наиболее частой проблемой является заполнение раздела */mnt/var* (либо */mnt/stat*), а именно каталога */mnt/var/app/collector/var/stat/binstat/*. Решение описано в [следующей статье|CarbonBilling:Добавление диска под статистику].
- */mnt/log*. При заполнении раздела */mnt/log*, наиболее верным решением будет выполнить команды head и tail на проблемный файл и приложить полученный вывод в новую, либо автоматический созданную по данной проблеме заявку на портале [HelpDesk|http://helpdesk.carbonsoft.ru/login.php] и сообщить о проблеме в техподдержку по телефону.
Если явно больших файлов лога не обнаружено, вероятно у Вас просто слишком маленький раздел под логи. [Добавьте места|CarbonBilling:Добавление диска под логи].
- */mnt/backup*. Если забит раздел /mnt/backup - просто очистите старые бэкапы, исследовав структуру каталогов программой *du*. В случае если проблема с разделом восникает часто, вероятно Вам следует [добавить места под логи|CarbonBilling:Добавление диска под бэкапы]
- */mnt/etc*. В случае заполнения раздела */mnt/etc* обратитесь в техподдержку.
- */mnt/db*. Если Ваша аппаратная платформа соответствует нашим [системным требованиям|Системные требования], вероятност заполнения раздела в обозримом будущем крайне мала, так как под раздел выделяется не менее 100Гб места (при диске 1Тб и более).
-- */mnt/db/app/asr_billing/db/notstopped* - в папке сохраняются базы, поврежденные в результатате некорректного завершения работы сервера. Вы можете попробовать достать из них потерянные данные или восстановить целиком воспользовавшись услугами специалистов занимающихся восстановлением баз данных или информацией доступной в документации Firebird.
-- */mnt/db/app/asr_billing/db/safemode* - в папке сохраняются базы, работа которых была завершена корректно, их можно восстановить в работу. В последствии содержимое папки можно очистить.
- */ (корневой раздел ОС)*. Проверьте что место не занято в результате установки стороннего ПО или выполнения каких-либо скриптов, например при выполнении заданий добавленных в cron, либо в процессе работы на сервере в пользовательской директории (/root, /home). Например, место на корневом разделе может быть занято в результате включенного [мониторинга сервера с atop|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=140509186], данные которого записываются в папку /var/log/atop.
Мы описали это в достаточно объёмной статье [CarbonBilling:Мало места на диске]. Начине с заголовка "*Почему так получилось и как починить*", там описана краткая инструкция на примере раздела */mnt/log*, и дальше рассказано с каким данными что можно сделать.

Удалить файлы Вы можете утилитой rm:
{code}rm -f /mnt/log/app/collector/log/nf_collector.log{code}

Заполнение дискового пространства вляется обычным процессом работы ОС и ситуация при которой один из разделов запоняется до предела, в результате чего watchdog для сохранности останавливает биллинг является абсолютно нормальной. Тем не менее, работы по диагностике и решению проблемы требуют определенного уровня знаний от технического специалиста. Объем работы выполняемой теподдержкой Carbon Soft по диагностике и решению проблемы напрямую зависит от выбранного Вами [уровня технической поддержки|http://www.carbonsoft.ru/support/].

h2. Восстановление БД в работу