Перенос ejabberd на новый сервер

Иногда текущих мощностей сервера может не хватать для обеспечения работы пользователей Jabber-сервера на базе ПО ejabberd. В этом случае необходимо без потери данных перенести всех пользователей на новый сервер.

Итак по порядку:

Устанавливаем ejabberd из репозитория EPEL CentOS на "свежий" сервер:

yum -y install ejabberd

После установки желательно забэкапить файлы конфигурации, находящиеся в каталоге /etc/ejabberd.

На старом сервере бэкапим базу mnesia, которая по дефолту используется ejabberd для работы:

ejabberd_ctl jabberd@oldhost backup /tmp/ejabberd.backup

В качестве oldhost вы должны указать hostname сервера, на котором работает ejabberd, в качестве ejabberd - имя пользователя, от имени которого запускается демон.

 

 

Загружаем отсюда скрипт и сохраняем /home/convert.erl.

Стартуем erlang шелл командой erl. Загружаем и компилируем скаченный модуль.

1> c("/home/convert.erl").
{ok,convert}

Заменяем в ранее созданном бэкапе старое имя сервера/пользователя на новые.

2> convert:change_node_name('ejabberd@oldhost', 'ejabberd@newhost', "/tmp/ejabberd.backup", "/tmp/ejabberd2.backup").
...
* Checking table: 'privacy'
+ Checking key: 'ram_copies'
+ Checking key: 'disc_copies'
- Replacing node: 'jeabberd@oldhost' with node: 'ejabberd@newhost'
+ Checking key: 'disc_only_copies'
...
{ok,switched}

где, ejabberd2.backup - изменненый бэкап с корректными параметрами нового сервера

Копируем ejabberd2.backup, /etc/ejabberd.cnf и /etc/ejabberd.pem на новый сервер.

Запускаем ejabberd и добавляем его в автозапуск:

service ejabberd start

chkconfig ejabberd on

Восстановливаем из бэкапа базу mnesia:

ejabberd_ctl ejabberd@newhost restore /tmp/ejabberd2.backup

 Перезагружаем ejabberd:

service ejabberd restart, подключаемся в админку и проверяем, что все пользователи и прочие настройки перенесены.

Админка ejabberd (для тех кто забыл): https://<ip>:5284/admin

Не забываем поправить днс записи домена(!) для возможности работы клиентов Jabber с новым сервером Jabber:

_xmpp-client._tcp.<имя домена>.org. 3600 IN SRV 5 0 5222 im.<имя домена>.

Для работы коммуникаций между джаббер-серверами:
_jabber._tcp.<имя домена>.org. 3600 IN SRV 5 0 5269 im.<имя домена>.
_xmpp-server._tcp.<имя домена>.org. 3600 IN SRV 5 0 5269 im.<имя домена>.

Обязательна должна быть запись типа А для im.<имя домена>

Удачи в переносах!

Комментарии   

 
Greg
0 # Greg 21.06.2017 14:34
Just what I was searching for, thanks for putting up.


my webpage: foot pain causes
Ответить | Ответить с цитатой | Цитировать
 
 
Wyatt
0 # Wyatt 07.05.2017 04:34
I leave a response each time I especially enjoy a post on a
site or if I have something to valuable to contribute to the discussion.
Usually it's a result of the sincerness communicated in the
post I looked at. And on this post Перенос ejabberd на новый сервер.
I was moved enough to leave a comment ;) I actually do have 2 questions for
you if you don't mind. Could it be just me or does it seem like a few of the
responses look as if they are coming from brain dead individuals?
:-P And, if you are posting at additional online
social sites, I'd like to keep up with you. Would you list the complete urls of all your public sites like
your linkedin profile, Facebook page or twitter feed?


My webpage ... relieve extreme foot (Leticia)
Ответить | Ответить с цитатой | Цитировать
 
 
Fay
0 # Fay 11.04.2017 08:07
Wonderful site. Lots of helpful info here. I am sending it to a few buddies ans also sharing in delicious.
And obviously, thank you to your effort!

Take a look at my web-site; manicure
Ответить | Ответить с цитатой | Цитировать
 

Добавить комментарий


Защитный код
Обновить

Яндекс.Метрика