Change host name can't install fallback

When I tried to follow the steps in the guide to change host name. I was not able to install fallback and got the following error. Can you please help? What might I be doing wrong?

sudo ./ejabberdctl install_fallback /home/ubuntu/tmp/new.backup

Can't install fallback from "/home/ubuntu/tmp/new.backup" at node ejabberd@localhost: {"Cannot install fallba ck",
{"No disc resident schema on local node",
['ejabberd@ec2-11-1-11-111.compute-1.amazonaws.com']}}

Which documentation are your

Which documentation are your referring to ?

4.5 Change Computer

4.5 Change Computer Hostname

ejabberd uses the distributed Mnesia database. Being distributed, Mnesia enforces consistency of its file, so it stores the name of the Erlang node in it (see section 5.4). The name of an Erlang node includes the hostname of the computer. So, the name of the Erlang node changes if you change the name of the machine in which ejabberd runs, or when you move ejabberd to a different machine.

You have two ways to use the old Mnesia database in an ejabberd with new node name: put the old node name in ejabberdctl.cfg, or convert the database to the new node name.

Those example steps will backup, convert and load the Mnesia database. You need to have either the old Mnesia spool dir or a backup of Mnesia. If you already have a backup file of the old database, you can go directly to step 5. You also need to know the old node name and the new node name. If you don’t know them, look for them by executing ejabberdctl or in the ejabberd log files.

Before starting, setup some variables:

OLDNODE=ejabberd@oldmachine
NEWNODE=ejabberd@newmachine
OLDFILE=/tmp/old.backup
NEWFILE=/tmp/new.backup
Start ejabberd enforcing the old node name:
ejabberdctl --node $OLDNODE start
Generate a backup file:
ejabberdctl --node $OLDNODE backup $OLDFILE
Stop the old node:
ejabberdctl --node $OLDNODE stop
Make sure there aren’t files in the Mnesia spool dir. For example:
mkdir /var/lib/ejabberd/oldfiles
mv /var/lib/ejabberd/*.* /var/lib/ejabberd/oldfiles/
Start ejabberd. There isn’t any need to specify the node name anymore:
ejabberdctl start
Convert the backup to new node name:
ejabberdctl mnesia_change_nodename $OLDNODE $NEWNODE $OLDFILE $NEWFILE
Install the backup file as a fallback:
ejabberdctl install_fallback $NEWFILE
Stop ejabberd:
ejabberdctl stop
You may see an error message in the log files, it’s normal, so don’t worry:
Mnesia(ejabberd@newmachine):
** ERROR ** (ignoring core)
** FATAL ** A fallback is installed and Mnesia must be restarted.
Forcing shutdown after mnesia_down from ejabberd@newmachine...
Now you can finally start ejabberd:
ejabberdctl start
Check that the information of the old database is available: accounts, rosters... After you finish, remember to delete the temporary backup files from public directories.

4.5 Change Computer

4.5 Change Computer Hostname

ejabberd uses the distributed Mnesia database. Being distributed, Mnesia enforces consistency of its file, so it stores the name of the Erlang node in it (see section 5.4). The name of an Erlang node includes the hostname of the computer. So, the name of the Erlang node changes if you change the name of the machine in which ejabberd runs, or when you move ejabberd to a different machine.

You have two ways to use the old Mnesia database in an ejabberd with new node name: put the old node name in ejabberdctl.cfg, or convert the database to the new node name.

Those example steps will backup, convert and load the Mnesia database. You need to have either the old Mnesia spool dir or a backup of Mnesia. If you already have a backup file of the old database, you can go directly to step 5. You also need to know the old node name and the new node name. If you don’t know them, look for them by executing ejabberdctl or in the ejabberd log files.

Before starting, setup some variables:

OLDNODE=ejabberd@oldmachine
NEWNODE=ejabberd@newmachine
OLDFILE=/tmp/old.backup
NEWFILE=/tmp/new.backup
Start ejabberd enforcing the old node name:
ejabberdctl --node $OLDNODE start
Generate a backup file:
ejabberdctl --node $OLDNODE backup $OLDFILE
Stop the old node:
ejabberdctl --node $OLDNODE stop
Make sure there aren’t files in the Mnesia spool dir. For example:
mkdir /var/lib/ejabberd/oldfiles
mv /var/lib/ejabberd/*.* /var/lib/ejabberd/oldfiles/
Start ejabberd. There isn’t any need to specify the node name anymore:
ejabberdctl start
Convert the backup to new node name:
ejabberdctl mnesia_change_nodename $OLDNODE $NEWNODE $OLDFILE $NEWFILE
Install the backup file as a fallback:
ejabberdctl install_fallback $NEWFILE
Stop ejabberd:
ejabberdctl stop
You may see an error message in the log files, it’s normal, so don’t worry:
Mnesia(ejabberd@newmachine):
** ERROR ** (ignoring core)
** FATAL ** A fallback is installed and Mnesia must be restarted.
Forcing shutdown after mnesia_down from ejabberd@newmachine...
Now you can finally start ejabberd:
ejabberdctl start
Check that the information of the old database is available: accounts, rosters... After you finish, remember to delete the temporary backup files from public directories.

4.5 Change Computer

4.5 Change Computer Hostname

ejabberd uses the distributed Mnesia database. Being distributed, Mnesia enforces consistency of its file, so it stores the name of the Erlang node in it (see section 5.4). The name of an Erlang node includes the hostname of the computer. So, the name of the Erlang node changes if you change the name of the machine in which ejabberd runs, or when you move ejabberd to a different machine.

You have two ways to use the old Mnesia database in an ejabberd with new node name: put the old node name in ejabberdctl.cfg, or convert the database to the new node name.

Those example steps will backup, convert and load the Mnesia database. You need to have either the old Mnesia spool dir or a backup of Mnesia. If you already have a backup file of the old database, you can go directly to step 5. You also need to know the old node name and the new node name. If you don’t know them, look for them by executing ejabberdctl or in the ejabberd log files.

Before starting, setup some variables:

OLDNODE=ejabberd@oldmachine
NEWNODE=ejabberd@newmachine
OLDFILE=/tmp/old.backup
NEWFILE=/tmp/new.backup
Start ejabberd enforcing the old node name:
ejabberdctl --node $OLDNODE start
Generate a backup file:
ejabberdctl --node $OLDNODE backup $OLDFILE
Stop the old node:
ejabberdctl --node $OLDNODE stop
Make sure there aren’t files in the Mnesia spool dir. For example:
mkdir /var/lib/ejabberd/oldfiles
mv /var/lib/ejabberd/*.* /var/lib/ejabberd/oldfiles/
Start ejabberd. There isn’t any need to specify the node name anymore:
ejabberdctl start
Convert the backup to new node name:
ejabberdctl mnesia_change_nodename $OLDNODE $NEWNODE $OLDFILE $NEWFILE
Install the backup file as a fallback:
ejabberdctl install_fallback $NEWFILE
Stop ejabberd:
ejabberdctl stop
You may see an error message in the log files, it’s normal, so don’t worry:
Mnesia(ejabberd@newmachine):
** ERROR ** (ignoring core)
** FATAL ** A fallback is installed and Mnesia must be restarted.
Forcing shutdown after mnesia_down from ejabberd@newmachine...
Now you can finally start ejabberd:
ejabberdctl start
Check that the information of the old database is available: accounts, rosters... After you finish, remember to delete the temporary backup files from public directories.

4.5 Change Computer

4.5 Change Computer Hostname

ejabberd uses the distributed Mnesia database. Being distributed, Mnesia enforces consistency of its file, so it stores the name of the Erlang node in it (see section 5.4). The name of an Erlang node includes the hostname of the computer. So, the name of the Erlang node changes if you change the name of the machine in which ejabberd runs, or when you move ejabberd to a different machine.

You have two ways to use the old Mnesia database in an ejabberd with new node name: put the old node name in ejabberdctl.cfg, or convert the database to the new node name.

Those example steps will backup, convert and load the Mnesia database. You need to have either the old Mnesia spool dir or a backup of Mnesia. If you already have a backup file of the old database, you can go directly to step 5. You also need to know the old node name and the new node name. If you don’t know them, look for them by executing ejabberdctl or in the ejabberd log files.

Before starting, setup some variables:

OLDNODE=ejabberd@oldmachine
NEWNODE=ejabberd@newmachine
OLDFILE=/tmp/old.backup
NEWFILE=/tmp/new.backup
Start ejabberd enforcing the old node name:
ejabberdctl --node $OLDNODE start
Generate a backup file:
ejabberdctl --node $OLDNODE backup $OLDFILE
Stop the old node:
ejabberdctl --node $OLDNODE stop
Make sure there aren’t files in the Mnesia spool dir. For example:
mkdir /var/lib/ejabberd/oldfiles
mv /var/lib/ejabberd/*.* /var/lib/ejabberd/oldfiles/
Start ejabberd. There isn’t any need to specify the node name anymore:
ejabberdctl start
Convert the backup to new node name:
ejabberdctl mnesia_change_nodename $OLDNODE $NEWNODE $OLDFILE $NEWFILE
Install the backup file as a fallback:
ejabberdctl install_fallback $NEWFILE
Stop ejabberd:
ejabberdctl stop
You may see an error message in the log files, it’s normal, so don’t worry:
Mnesia(ejabberd@newmachine):
** ERROR ** (ignoring core)
** FATAL ** A fallback is installed and Mnesia must be restarted.
Forcing shutdown after mnesia_down from ejabberd@newmachine...
Now you can finally start ejabberd:
ejabberdctl start
Check that the information of the old database is available: accounts, rosters... After you finish, remember to delete the temporary backup files from public directories.

Syndicate content