Как восстановить сервис OpenFire из бекапа

Posted by

Что может быть главнее что шаги по разворачиванию и восстановлению, да ничего. Важно не только развернуть сервис и запустить его в продакшн, но и в случае чего восстановить его работоспособность из бекапа или поправить то что сломалось, к примеру из-за обновления, не верно внесенных настроек, смена физического оборудования. Вообще причин падения сервиса может быть множество, всех не перечислишь, но процедура восстановления должна быть отрепетирована. Надейтесь только на себя, а не на коллег если конечно они у Вас есть. Недаром ведь существует поговорка: — «Если хочешь сделать хорошо и чтобы не было стыдно, то сделай это сам». Я руководствуюсь этим и у меня в подконтрольном обслуживании все хорошо. Ранее я развернул (расписал) сервис корпоративного чата OpenFire во владении вверенной мне локальной сетью.

Итак у меня есть бекап сделанный в openfire версии 4.0.4:

ekzorchik@srv-host:~$ sudo mysqldump -u root -p712mbddr@ db_openfire > db_openfire.sql

ekzorchik@srv-host:~$ ls -lh db_openfire.sql -rw-rw-r-- 1 ekzorchik ekzorchik 39K Dec 7 06:48 db_openfire.sql

ekzorchik@srv-host:~$ file db_openfire.sql

db_openfire.sql: UTF-8 Unicode text, with very long lines

ekzorchik@srv-host:~$ mysql -Version

mysql Ver 14.14 Distrib 5.5.53, for debian-linux-gnu (x86_64) using readline 6.3

Текущая система развернутого сервиса OpenFire:

ekzorchik@srv-host:~$ uname -a && lsb_release -a

Linux srv-host 4.4.0-42-generic #62~14.04.1-Ubuntu SMP Fri Oct 7 23:15:48 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

No LSB modules are available.

Distributor ID: Ubuntu

Description: .5 LTS

Release: 14.04

Codename: trusty

ekzorchik@srv-host:~$ free -m | grep -E "Mem:|total"

total used free shared buffers cached

Mem: 3951 1075 2876 5 105 570

ekzorchik@srv-host:~$ cat /proc/cpuinfo | grep processor

processor : 0

processor : 1

ekzorchik@srv-host:~$ sudo fdisk -l | grep -n -E "root:"

14:Disk /dev/mapper/srv—host—vg-root: 51.3 GB, 51250200576 bytes

Итого характеристики для восстановления из бекапа:

  • OS: Ubuntu 14.04.5 Server amd64
  • CPU = 2
  • HDD = 50Gb (LVM)
  • RAM = 4

Но помимо базы данных нужно бекапировать еще и сами файлы:

ekzorchik@srv-host:~$ sudo tar Pcf openfire.tar /etc/openfire/ /usr/share/openfire/ db_openfire.sql

Копирую себе файлы резервной копии сервиса openfire на локальную станцию:

ekzorchik@srv-host:~$ scp openfire.tar aollo@10.7.8.135:/home/aollo

Поднимаю VM на ESXi, на нее и разворачиваю по шагам установки openfire
для справки: IP адрес остался тот для новой машины т. к. я откатился на снапшот (OriginalSystem) и на него будут накатывать восстановление.

aollo@system:~$ ssh -l ekzorchik 10.7.8.175

ekzorchik@srv-host:~$ sudo rm -Rf /var/lib/apt/lists/

ekzorchik@srv-host:~$ sudo apt-get update && sudo apt-get upgrade -y

ekzorchik@srv-host:~$ uname -a && lsb_release -a

Linux srv-host 4.4.0-42-generic #62~14.04.1-Ubuntu SMP Fri Oct 7 23:15:48 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 14.04.5 LTS

Release: 14.04

Codename: trusty

ekzorchik@srv-host:~$ sudo tasksel install lamp-server

New password for the MySQL «root» user:712mbddr@

Repeat password for the MySQL «root» user:712mbddr@

ekzorchik@srv-host:~$ mysql -u root -p712mbddr@

mysql> create database db_openfire;

mysql> create user 'openfire'@'localhost' identified by '612mbddr@';

Query OK, 0 rows affected (0.00 sec)

mysql> grant all on db_openfire.* to 'openfire'@'localhost';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> exit;

Устанавливаю пакеты для работы с Java, т.к. сервис openfire работает с его помощью:

ekzorchik@srv-host:~$ sudo apt-get install openjdk-7-jre openjdk-7-jdk -y

ekzorchik@srv-host:~$ java -version

java version «1.7.0_121»

OpenJDK Runtime Environment (IcedTea 2.6.8) (7u121-2.6.8-1ubuntu0.14.04.1)

OpenJDK 64-Bit Server VM (build 24.121-b00, mixed mode)

Теперь скачиваю с официального сайта самую последнюю версию пакета (openfire) для организации корпоративного чата:

ekzorchik@srv-host:~$ wget -c https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.0.4_all.deb

ekzorchik@srv-host:~$ mv downloadServlet\?filename\=openfire%2Fopenfire_4.0.4_all.deb openfire_4.0.4_all.deb

ekzorchik@srv-host:~$ sudo dpkg -i openfire_4.0.4_all.deb

Останавливаю openfire:

ekzorchik@srv-host:~$ sudo service openfire stop

best java alternative in: /usr/lib/jvm/java-7-openjdk-amd64/jre

Stopping openfire: openfire.

После на VM с еще не настроенным openfire передаю файлы ранее сделанного бекапа:

aollo@system:~$ scp openfire.tar ekzorchik@10.7.8.175:/home/ekzorchik

ekzorchik@srv-host:~$ mkdir openfire

ekzorchik@srv-host:~$ sudo tar xPf openfire.tar -C ~/openfire/

ekzorchik@srv-host:~$ cd openfire/

ekzorchik@srv-host:~/openfire$ sudo cp -R etc/ /etc

ekzorchik@srv-host:~/openfire$ sudo cp -R usr/ /usr

ekzorchik@srv-host:~/openfire$ mysql -u root -p712mbddr@ db_openfire < db_openfire.sql

Запускаю Openfire:

ekzorchik@srv-host:~/openfire$ sudo service openfire start

best java alternative in: /usr/lib/jvm/java-7-openjdk-amd64/jre

Starting openfire: openfire.

Открываю URL:

  • https://10.7.8.175:9091/login.jsp?url=%2Findex.jsp

Авторизуюсь в OpenFire восстановленном из резервной копиии меня успешно авторизует в Openfire

Авторизация прошла успешно, сервис корпоративного общения openfire успешно введен в эксплуатациюПроверив существующие настройки, группы, пользователей, комнаты все на месте. Получается что процедура восстановления из бекапа отрепетирована. Вот это то самое чувство, что за себя не обидно и не проклинаешь ну почему же так трудно работать на совесть, а не на отвали как делает большинство во всех областях и не только системном администрировании. Я же делаю все как для самого себя. А пока я прощаюсь и до новых нововведений, с уважением Олло Александр aka ekzorchik.