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

Не удается вызвать ejabberd после изменения VPS, сделанного хостинговой компанией

Мой хостинг-провайдер WebFusion вчера поздно вечером обновил мой VPS патчами безопасности.

С тех пор я не могу начать свой Ejabberd пример. Я получаю следующие ошибки, которые, кажется, указывают на то, что имя хоста изменилось.

=ERROR REPORT==== 2010-11-29 23:01:10 ===
E(<0.35.0>:ejabberd_config:278) : Error reading Mnesia database spool files:
The Mnesia database couldn't read the spool file for the table 'acl'.
ejabberd needs read and write access in the directory:
   /var/lib/ejabberd
Maybe the problem is a change in the computer hostname,
or a change in the Erlang node name, which is currently:
   'ejabberd@lvps109-104-93-116'
Check the ejabberd guide for details about changing the
computer hostname or Erlang node name.


=INFO REPORT==== 2010-11-29 23:01:15 ===
application: ejabberd
exited: {bad_return,{{ejabberd_app,start,[normal,[]]},
             {'EXIT',"Error reading Mnesia database"}}}
type: temporary

Все работает уже много месяцев, и я не вносил никаких изменений в конфигурацию VPS, которая основана на Ubuntu 8.04 LTS Кстати.

Я перепробовал все, что мог найти в Google w.r.t при восстановлении или переносе файлов mnesia в этом типе сценария, но, похоже, я не могу снова запустить экземпляр. Я не могу сделать двоичную резервную копию файлов и очистить систему, поскольку это зависит от запуска работающего экземпляра до завершения резервного копирования. Похоже, я в тупике, и мне придется списать месяцы регистрации учетных записей пользователей.

Мое имя хоста не появиться поменять патчами и перезагрузить хостинговую компанию. Честно говоря, я действительно не знаю, какое имя хоста ожидает ejabberd, но я знаю, что оно имеет форму ejabberd @. Есть ли способ определить это по существующим файлам данных mnesia?

Что касается каналов технической поддержки WebFusion? Они недвусмысленно сказали мне, что я один, и не предложили никакой поддержки, когда меня спросили.

Буду признателен за любые рекомендации по извлечению данных из файлы данных mnesia в / var / lib / ejabberd и как восстановить эту или новую установку. Я подумаю о переходе на новый хост или VPS, если потребуется.

Заранее большое спасибо.

  1. Останови эджабберда.

/etc/init.d/ejabberd stop

2.Процессы уничтожения: beam, beam.smp, ​​epmd

Killall Ejabberd

Killall луч

killall beam.smp

killall epmd

3. Удалите файлы в / var / lib / ejabberd (на всякий случай создайте резервную копию этой папки)

rm -rf / var / lib / ejabberd / *

rm -rf /var/lib/ejabberd/.erlang.cookie

4. Попробуйте запустить ejabberd.

/etc/init.d/ejabberd start

В итоге я использовал ejabberdctl чтобы получить информацию о базовой базе данных мнезии.

Затем установите ERLANG_NODE внутри файла / etc / defaults / ejabberd в моем случае ejabberd @ vps. Et viola, сервис появился после набора текста /etc/init.d/ejabberd start.

После запуска отчеты о процессах перестали работать через 30 секунд. Тем не менее, я мог получить доступ к интерфейсу веб-управления и сбросить базу данных.

Для будущего использования меня перебросят в новый ejabberd + MySQL кластер и, очевидно, оставив моего текущего провайдера VPS.