My hosting provider WebFusion updated my VPS with security patches late last night.
Since then I cannot start my ejabberd instance. I get the following errors, which seem to indicate that the hostname has changed.
=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
Everything has been working a treat for many months and I have made no changes to the VPS configuration, which is based on Ubuntu 8.04 LTS by the way.
I have tried everything I could find on Google w.r.t recovering or migrating/restoring operation with mnesia files in this type of scenario, but I cannot seem to get the instance started again. Also, I cannot make a binary backup of the files and clean-slate the system since this relies on getting a running instance up before the backup can be completed. It looks like I am stumped and will have to write-off months of user account registrations.
My hostname does not appear to have changed with the patches and reboot that the hosting company performed. Honestly, I don't know what hostname ejabberd is expecting but I know it is of the form ejabberd@. Is there a way I can determine this from the existing mnesia data files I wonder?
As for the technical support channels of WebFusion? They have told me in no uncertain terms that I am on-my-own and offered no support at all when questioned.
I would really appreciate any guidance on how to extract the data from the **mnesia data files** in /var/lib/ejabberd and how to recover this or a new installation. I will consider moving to a new host or VPS if I have to.
Very many thanks in advance.
Right now the nodename used
Right now the nodename used to start ejabberd is ejabberd@lvps109-104-93-116.
Maybe previously it was something different. If you still have ejabberd logs from previously, they may indicate the old nodename. For example, in my logs I have:
Once you remember the old nodename, you can for ejabberdctl to use the old one with this option in the file ejabberdctl.cfg
Found out old NODE name was ejabberd@vps
@badlop, I discovered the old node name was ejabberd@vps. Forcing ejabberd to use that name via the ERLANG_NODE settings enabled me to make a dump of the existing database via the web management console.
I am now migrating ejabberd away from WebFusion, along with the rest of the application I host there. Attempting to restart ejabberd with the ERLANG_NODE setting leads to "......................failed" being reported on the console.
At least I have the valuable account credential and roster data...
Thanks for replying to my original post.