Описание

В данном документе приводится описание различных действий, которые должны быть выполнены пользователем системы ECSS-10 для сохранения баз данных и конфигурации системы. Эти работы необходимы для выполнения восстановления данных в случае возникновения серьезной неисправности и обеспечения при этом максимально возможной надежности и минимального времени простоя системы.

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

Перечень каталогов, где расположены файлы ECSS

Периодичность резервного копирования

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

Таблица — Регламентные работы по сохранению баз данных и конфигурации ECSS-10

ПериодОперацияМетод резервного копированияМетод восстановления
один раз в неделю/etc — конфигурация сервера и всех служб, полное или инкрементное резервное копирование (backup)Копирование и архивированиеЗамена директории из архива
один раз в неделю/var/lib/ecss — конфигурация узлов ECSS, полное или инкрементное резервное копирование (backup)Копирование и архивированиеЗамена директории из архива
один раз в неделюБД LDAP(если используется) — полное резервное копирование (backup)

Описан в разделе Backup и восстановление LDAP

Описан в разделе Backup и восстановление LDAP
выполняется автоматически каждый деньБД PostgreSQL  — полное резервное копирование (backup)Описан в разделе Backup и восстановление PostgreSQLОписан в  разделе Backup и восстановление PostgreSQL

Внеплановые:

  • до обновления релиза
  • После успешной первоначальной инсталляции
  • После успешного обновления

Все вышеперечисленное(полное резервное копирование указанных каталогов и баз данных), а также дополнительно /usr/lib/ecss – компоненты ECSS, полное резервное копирование (backup)


Копирование и архивированиеЗамена директории из архива


  • В рамках ECSS-10 только подсистемы ecss-ds и ecss-mediator сохраняют свои данные на диск. Все остальные подсистемы (ecss-core, ecss-pa-megaco, ecss-pa-sip) оперируют только Runtime-данными, не требующими сохранения между перезапусками.
  • В данном подразделе указаны команды, которые выполняются из командной консоли управления операционной системы Linux (shell) непосредственно хоста, на котором установлена система ECSS-10.

Для обеспечения надежности архивы рекомендуется скопировать на другой хост.

В зависимости от аварийной ситуации необходимо заменить текущий раздел на backup.

Методика резервного копирования каталогов

Ручное копирование

Полное копирование на примере каталога /etc:

cp -rv /<NAME> /tmp/etc

Инкрементное копирование на примере каталога /etc:

cp -ruv /etc /tmp/etc

где:
ключ -r копирует каталог /etc с его подкаталогами в каталог /tmp/etc;
ключ -u копирует только новые или обновленные файлы.

Архивирование на примере каталога /etc:
tar -zcvf <NAME> /tmp/etc/

где
<NAME> — имя архива, например, etc.tar.gz.

Разархивирование:
tar -xvf <NAME>

где
<NAME> — имя архива.

Копирование и архивация с помощью Midnight Commander:


 Запустите Midnight Commander с полномочиями root командой 

sudo mc

Двойным кликом можете его открыть для просмотра или замены испорченного файла на копию из архива.

Backup и Restore БД Mnesia и конфигурации ssw с использованием скрипта ecss-control

В пакет ecss-ds добавлена утилита ecss-control(идет в пакете ecss-node).
Доступны следующие команды:

Создание Backup базы Mnesia

Для выполнения backup требуется следующая команда:

sudo ecss-contol stash [<OPTIONS>] [<DESTINATION DIRECTORY>]

если <DESTINATION DIRECTORY> не указана, тогда сохранение будет выполнено в текущую директорию

Опции:

sudo ecss-control stash --no-sql


sudo ecss-control stash --no-sql
WARNING: no such file or directory: '/var/lib/ecss/ecss-data.json', ignored
stashing ECSS-10 ...
create stashed file: /home/abf/ecss-stash-no-sql-20250507-162816.tar.gz
done

ll
total 318M
drwxr-x--- 6 abf  abf  4,0K мая  7 16:28 ./
drwxr-xr-x 3 root root 4,0K янв 21 13:45 ../
. . .
-rw-r--r-- 1 root root 140M мая  7 16:28 ecss-stash-no-sql-20250507-162816.tar.gz

В файле backup -a:

Данный файл (в примере ecss-stash-no-sql-20250507-162816.tar.gz) скопировать на внешний сервер, для возможности восстановления в случае падения ssw, и не возможности использовать информацию с локального диска.

Сохранение выполнено.



Восстановление/Restore (rollback) c backup файла

В случае невозможности загрузки хоста с локальной БД или от партнера (проблема с файлами в директории /var/lib/ecss/oasys/). Выполнить восстановление следующей командой:

sudo ecss-contol rollback|rb [--no-clean] [--no-stash] <DESTINATION FILE>

rollback работает следующим образом:

  1. Выполняется stash текущей конфигурации и логов, при этом парсится имя файла на наличие опций (можно пропустить опцией --no-stash);
  2. Выполняется clean с теми же опциями (можно пропустить опцией --no-clean);
  3. Выполняется rollback.


sudo ecss-control rb ecss-stash-no-sql-20250507-153908.tar.gz


ll
total 85828
drwxr-x--- 5 abf  abf      4096 мая  7 15:39 ./
drwxr-xr-x 3 root root     4096 янв 21 13:45 ../
. . .
-rw-r--r-- 1 root root 87818240 мая  7 15:39 ecss-stash-no-sql-20250507-153908.tar.gz
. . .

sudo ecss-control rb ecss-stash-no-sql-20250507-153908.tar.gz
WARNING: Before rollback current configuration and logs will be stashed and then cleared
         Stash archive will be saved at /home/abf
WARNING: no such file or directory: '/var/lib/ecss/ecss-data.json', ignored
stashing ECSS-10 ...
create stashed file: /home/abf/ecss-stash-no-log-no-sql-20250507-171515.tar.gz
done
WARNING: unexpected option: --no-sql
ignored
cleaning ECSS-10...
Excluded files: [ecss-control.conf]
done
rollback configuration from ecss-stash-no-sql-20250507-153908.tar.gz
tar: Removing leading `/' from member names

gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
WARNING: mysql db missed in stash file. Restore mysql db ignored
stashed file successfull rollbacked


ll /var/lib/ecss/oasys/
total 16
drwxrwxr-x  4 ssw ssw 4096 мая  7 15:36  ./
drwxrwxr-x 27 ssw ssw 4096 апр 18 09:14  ../
drwxrwxr-x  2 ssw ssw 4096 мая  7 15:37 'Mnesia.ds1@ecss2'/
drwxrwxr-x  2 ssw ssw 4096 мая  7 15:28 'Mnesia.md1@ecss2'/

После загрузки БД из backup файла на диск требуется перезагрузить ecss-ds / ecss-pa-sip сервисы следующими командами:

sudo systemctl restart ecss-ds
sudo systemctl restart ecss-pa-sip

Восстановление/Restore (rollback) c backup файла в конфигурации кластер

В случае невозможности загрузки хоста с локальной БД или от партнера (проблема с файлами в директории /var/lib/ecss/oasys/). Выполнить восстановление следующей командой на ecss1:

sudo ecss-contol  rollback|rb [--no-clean] [--no-stash] <DESTINATION FILE>

rollback работает следующим образом:

Выполняется stash текущей конфигурации и логов, при этом парсится имя файла на наличие опций (можно пропустить опцией --no-stash);
Выполняется clean с теми же опциями (можно пропустить опцией --no-clean);
Выполняется rollback.

Предварительное условие : остановить сервисы ecss-mycelium ecss-ds ecss-core ecss-pa-sip ecss-mediator

Пример восстановления БД на кластере

  1. Останавливаем сервисы на ecss2 выполнив следующие команды:
    1. sudo systemctl stop ecss-mycelium.service
    2. sudo systemctl stop ecss-ds.service
    3. sudo systemctl stop ecss-core.service
    4. sudo systemctl stop ecss-pa-sip.service
    5. sudo systemctl stop ecss-mediator.service
  2. Останавливаем сервисы на ecss1 выполнив следующие команды: 
    1. sudo systemctl stop ecss-mycelium.service
    2. sudo systemctl stop ecss-ds.service
    3. sudo systemctl stop ecss-ds.service
    4. sudo systemctl stop ecss-pa-sip.service
    5. sudo systemctl stop ecss-mediator.service
  3. Выполнить восстановление с backup файла на сервере ecss1 командой — sudo ecss-control rb ecss-backup-file.tar.gz, для примера:
    sudo ecss-control rb ecss-stash-no-log-20250724-130615.tar.gz
  4. На ecss1 активизировать сервисы выполнив следующие команды:
    1. sudo systemctl start ecss-mycelium.service
    2. sudo systemctl start ecss-ds.service
    3. sudo systemctl start ecss-core.service
    4. sudo systemctl start ecss-pa-sip.service
    5. sudo systemctl start ecss-mediator.service
  5. На ecss2 активизировать сервисы выполнив следующие команды:
    1. sudo systemctl start ecss-mycelium.service
    2. sudo systemctl start ecss-ds.service
    3. sudo systemctl start ecss-core.service
    4. sudo systemctl start ecss-pa-sip.service
    5. sudo systemctl start ecss-mediator.service
  6. Войти в cocon и проверить статус системы

Результат:

sudo systemctl stop ecss-mycelium.service 
sudo systemctl stop ecss-ds
sudo systemctl stop ecss-core
sudo systemctl stop ecss-pa-sip.service 
sudo systemctl stop ecss-mediator.service 
sudo systemctl stop ecss-mycelium.service 
sudo systemctl stop ecss-ds
sudo systemctl stop ecss-core
sudo systemctl stop ecss-pa-sip.service 
sudo systemctl stop ecss-mediator.service 


sudo ecss-control rb ecss-stash-no-log-20250724-130615.tar.gz
WARNING: Before rollback current configuration and logs will be stashed and then cleared
         Stash archive will be saved at /home/abf
WARNING: no such file or directory: '/var/lib/ecss/ecss-data.json', ignored
please enter root password for mysql db:
Enter password: 
stashing ECSS-10 ...
create stashed file: /home/abf/ecss-stash-no-log-20250724-142420.tar.gz
done
cleaning ECSS-10...
Excluded files: [ecss-control.conf]
done
rollback configuration from ecss-stash-no-log-20250724-130615.tar.gz
tar: Removing leading `/' from member names
please enter root password for mysql db:
Enter password: 
stashed file successfull rollbacked


ll /var/lib/ecss/oasys/
total 24K
drwxrwxr-x  4 ssw ssw 4,0K мая  7 15:34  ./
drwxrwxr-x 30 ssw ssw 4,0K июл 14 00:00  ../
drwxrwxr-x  2 ssw ssw  12K июл 24 13:05 'Mnesia.ds1@ecss1'/
drwxrwxr-x  2 ssw ssw 4,0K июл 23 14:15 'Mnesia.md1@ecss1'/


sudo systemctl start ecss-mycelium.service 
abf@ecss1:~$ sudo systemctl start ecss-ds
abf@ecss1:~$ sudo systemctl start ecss-core.service 
abf@ecss1:~$ sudo systemctl start ecss-pa-sip.service 
abf@ecss1:~$ sudo systemctl start ecss-mediator.service 
sudo systemctl start ecss-mycelium.service 
sudo systemctl start ecss-ds
sudo systemctl start ecss-core.service 
sudo systemctl start ecss-pa-sip.service 
sudo systemctl start ecss-mediator.service 
system-status   
Checking...
┌─┬───────────────┬────────────────────────────┬───────────────────────────────┬─────────────────────┬──────┐
│ │     Node      │          Release           │         Erlang nodes          │    Mnesia nodes     │Uptime│
├─┼───────────────┼────────────────────────────┼───────────────────────────────┼─────────────────────┼──────┤
│ │core1@ecss1    │ecss-core-3.14.16.0.1495    │core1@ecss1,core1@ecss2        │not running          │1m 46s│
│ │core1@ecss2    │ecss-core-3.14.16.0.1495    │core1@ecss1,core1@ecss2        │not running          │47s   │
│ │ds1@ecss1      │ecss-ds-3.14.16.0.1495      │ds1@ecss1,ds1@ecss2            │ds1@ecss1,ds1@ecss2  │1m 51s│
│ │ds1@ecss2      │ecss-ds-3.14.16.0.1495      │ds1@ecss1,ds1@ecss2            │ds1@ecss1,ds1@ecss2  │53s   │
│ │md1@ecss1      │ecss-mediator-3.14.16.0.1495│md1@ecss1,md1@ecss2            │md1@ecss1,md1@ecss2  │1m 31s│
│ │md1@ecss2      │ecss-mediator-3.14.16.0.1495│md1@ecss1,md1@ecss2            │md1@ecss1,md1@ecss2  │35s   │
│ │mycelium1@ecss1│ecss-mycelium-3.14.16.0.1495│mycelium1@ecss1,mycelium1@ecss2│not running          │1m 58s│
│ │mycelium1@ecss2│ecss-mycelium-3.14.16.0.1495│mycelium1@ecss1,mycelium1@ecss2│not running          │59s   │
│ │sip1@ecss1     │ecss-pa-sip-3.14.16.0.1495  │sip1@ecss1,sip1@ecss2          │sip1@ecss1,sip1@ecss2│1m 39s│
│ │sip1@ecss2     │ecss-pa-sip-3.14.16.0.1495  │sip1@ecss1,sip1@ecss2          │sip1@ecss1,sip1@ecss2│41s   │
└─┴───────────────┴────────────────────────────┴───────────────────────────────┴─────────────────────┴──────┘

All services are started.

  Active media resource selected list specific:
┌─────────────┬───────────┬───────────────┬───────────┬───────────┐
│    Node     │    MSR    │      MSR      │ Cc-status │ Cc-uptime │
│             │           │    version    │           │           │
├─────────────┼───────────┼───────────────┼───────────┼───────────┤
│ core1@ecss1 │ msr.ecss1 │ 3.14.16.0.118 │ connected │ 00:01:14  │
│             │ msr.ecss2 │ 3.14.16.0.118 │ connected │ 00:01:13  │
│ core1@ecss2 │ msr.ecss1 │ 3.14.16.0.118 │ connected │ 00:00:12  │
│             │ msr.ecss2 │ 3.14.16.0.118 │ connected │ 00:00:11  │
└─────────────┴───────────┴───────────────┴───────────┴───────────┘

 

Backup и Restore БД PostgreSQL

Создание Backup базы PostgreSQL

Система создания Backup-ов работает в автоматическом режиме, но при необходимости можно выполнить и ручное сохранение в любое удобное время. Останавливать эксплуатацию или нагрузку не нужно. Для включения автоматического создания Backup-ов необходимо выполнить следующие команды на обоих хостах:

sudo systemctl enable ssw_dump_postgres.timer
sudo systemctl start ssw_dump_postgres.timer

В результате выполнения данных команд мы получим автоматически созданный дамп  PostgreSQL для SSW. Время выполнения дампа 00:00 каждые сутки. Данные файлы дампа будут сохранены в директории /var/lib/ecss-mysql/pgbackups. Директория создается автоматически (если не существовала ранее) при установке SSW или перезапуске сервиса ecss-ds.

При выполнении скрипта, создается дамп БД и добавляется префикс - номер текущего дня недели согласно спецификации ISO 8601 (например 2ecss_storekeeper_db.sql - дамп созданный во вторник). Файл будет хранится, в указанной директории, в течении недели, при выполнении следующего сохранения старый файл будет удалён автоматически.

В данном примере показан Backup PostgreSQL за вторник:

ll /var/lib/ecss-mysql/pgbackups
total 264M
drwxrwxr-x 2 ssw  ssw  4,0K мар 10 13:36 ./
drwxr-xr-x 3 root root 4,0K мар 10 13:18 ../
-rw-r--r-- 1 root root 132M мар 10 00:00 1ecss_storekeeper_db.sql
-rw-r--r-- 1 root root 132M мар 10 00:00 2ecss_storekeeper_db.sql

 При необходимости, можно выполнить ручное сохранение следующими командами:

sudo systemctl start ssw_dump_postgres.service

Служба будет запущена, будет создан дамп, затем служба будет выключена. В результате файл созданный в полночь в автоматическом режиме будет перезаписан на новый файл созданный командой оператора:

sudo systemctl start ssw_dump_postgres.service

ll /var/lib/ecss-mysql/pgbackups
total 264M
drwxrwxr-x 2 ssw  ssw  4,0K мар 10 13:36 ./
drwxr-xr-x 3 root root 4,0K мар 10 13:18 ../
-rw-r--r-- 1 root root 132M мар 10 00:00 1ecss_storekeeper_db.sq
-rw-r--r-- 1 root root 132M мар 10 13:42 2ecss_storekeeper_db.sql

Рекомендуется выполнить сохранения на внешнем сервере Backup.


Восстановление из файла резервной копии

Процедура Восстановление / Restore выполняется за три этапа:

1. Подготовка файла восстановления из ранее созданного дампа.

Для того чтобы посмотреть возможные дампы для восстановления введите команду : 
sudo ecss-ssw-prepare-postgres-dumps.exs

sudo ecss-ssw-prepare-postgres-dumps.exs 
1 name:/var/lib/ecss-mysql/pgbackups/1ecss_storekeeper_db.sql size:131 Mb inserted_at: 2026-03-10 14:24:04 updated_at: 2026-03-09 00:00:00
2 name:/var/lib/ecss-mysql/pgbackups/2ecss_storekeeper_db.sql size:131 Mb inserted_at: 2026-03-10 14:24:17 updated_at: 2026-03-10 00:00:00
Please
    select
         id
           of file?
2
working with file /var/lib/ecss-mysql/pgbackups/2ecss_storekeeper_db.sql
Now you can run sudo /etc/ecss/ecss_ssw_restore_postgres.sh

complete

Цель скрипта - убрать из файла данных, таблицы относящихся к репликации bdr. Результатом выполнения данного скрипта будет файл без данных репликации, который на следующем шаге будет использован для выполнения RESTORE процедуры. Он будет иметь имя  без цифры дня недели и меньше размер.
В результате, получим готовый к восстановлению дамп с именем ecss_storekeeper_db.sql расположенный в директории /var/lib/ecss-mysql/pgbackups.

/var/lib/ecss-mysql/pgbackups$ ll
total 395M
drwxrwxr-x 2 ssw  ssw  4,0K мар 10 14:24 ./
drwxr-xr-x 3 root root 4,0K мар 10 13:19 ../
-rw-r--r-- 1 root root 132M мар  9 00:00 1ecss_storekeeper_db.sql
-rw-r--r-- 1 root root 132M мар 10 00:00 2ecss_storekeeper_db.sql
-rw-r--r-- 1 root root 132M мар 10 14:24 ecss_storekeeper_db.sql

2. Для запуска процедуры восстановления, необходимо:
Перезапустить DS командой:

sudo systemctl restart ecss-ds

Запустить следующий скрипт (из любой точки):

sudo ecss_ssw_restore_postgres.sh
sudo ecss_ssw_restore_postgres.sh
[sudo] password for abf: 
NOTICE:  truncate cascades to table "audit_users_settings2"
NOTICE:  truncate cascades to table "audit_groups_users"
TRUNCATE TABLE
NOTICE:  truncate cascades to table "audit_role_group"
NOTICE:  truncate cascades to table "audit_groups_users"
TRUNCATE TABLE
NOTICE:  truncate cascades to table "audit_role_group"
NOTICE:  truncate cascades to table "audit_roles_settings"
TRUNCATE TABLE
SET
SET
SET
SET
SET
SET
SET
COPY 0
COPY 0
COPY 8
COPY 5
COPY 14
COPY 0
COPY 3
COPY 1
COPY 9
COPY 11
COPY 0
COPY 0
COPY 0
COPY 0
COPY 0

Run ecss_cluster_resolver5439.sh

3. После выполнения скрипта требуется запустить команду ecss_cluster_resolver5439.sh:

sudo ecss_cluster_resolver5439.sh
sudo ecss_cluster_resolver5439.sh
 pg_toast
 pg_temp_1
 pg_toast_temp_1
 pg_catalog
 information_schema
 bdr
 public
 postgres_exporter
 pg_toast
 pg_temp_1
 pg_toast_temp_1
 pg_catalog
 information_schema
 bdr
 public
 postgres_exporter
pg_toast pg_temp_1 pg_toast_temp_1 pg_catalog information_schema bdr public postgres_exporter
my_array
pg_catalog
pg_toast
pg_toast
my_array end
filtered_list
public
postgres_exporter


public postgres_exporter
tag_of_service bw_list numbers_plan system_numbers marshrut_cadc marshrutisation_a marshrutisation_b address_book_contact address_book_source address_book_email address_book_external address_book_label calls_cdr calls_tolltickets calls_ss calls_counters calls_inodes calls_tree calls_data calls_variables audit_users_settings2 audit_restrictions audit_users audit_groups audit_groups_users audit_sessions audit_role_group audit_roles audit_roles_settings audit_commands statistics_realtime_statistics statistics_realtime_statistics_0 statistics_realtime_statistics_1 statistics_realtime_statistics_2 statistics_realtime_statistics_3 statistics_realtime_statistics_4 statistics_realtime_statistics_5 statistics_realtime_statistics_6 statistics_realtime_statistics_7 statistics_realtime_statistics_8 statistics_realtime_statistics_9 statistics_realtime_statistics_10 statistics_realtime_statistics_11 statistics_realtime_statistics_template statistics_historical_hour_statistics statistics_historical_intrahour_statistics statistics_historical_daily_statistics statistics_historical_weekly_statistics statistics_historical_monthly_statistics system_versions address_book_changes address_book_phone statistics_five_votes statistics_hour_votes statistics_day_votes statistics_week_votes statistics_month_votes meeting_expiration_period meeting_event_history history_meetings meeting_history dialer_campaign_calls dialer_campaigns history_members subscribers_users subscribers_sessions key_value sip_state trunk_manager_state call_state megaco_ports calls_super_tree


. . .


public.call_state
$max_id3


public.megaco_ports
$max_id3


public.calls_super_tree
$max_id3
7623

После успешного восстановления удалить временный файл ecss_storekeeper_db.sql командой:

sudo rm /var/lib/ecss-mysql/pgbackups/ecss_storekeeper_db.sql 

Проверить результат восстановления БД.


Backup и восстановление LDAP

Если для авторизации абонентов используется LDAP, то также нужно выполнять периодическое резервное копирование. Не рекомендуется выполнять backup базы данных LDAP простым копированием по тем же причинам, что и MySQL.

С подробным описанием можно ознакомиться по ссылке: https://pro-ldap.ru/books/openldap-ubuntu-in-practice/backup.html

Скрипт для создания backup:

#!/bin/sh
LDAPBK=ldap-$( date +%y%m%d-%H%M ).ldif
BACKUPDIR=/home/backups
/usr/sbin/slapcat -v -b "dc=yourDC,dc=local" -l $BACKUPDIR/$LDAPBK
gzip -9 $BACKUPDIR/$LDAPBK


  • Необходимо изменить параметры dc=yourDC,dc=local на действующие.
  • Backup по данной схеме рекомендуется проводить один раз в неделю.

Восстановление из backup:

  1. Остановить slapd:

    ~$ sudo systemctl stop slapd


  2. Удалить базу (убедиться, что вы находитесь в правильном каталоге для удаления командой rm):

    ~$ sudo rm -rf /var/lib/ldap/*


  3. Восстановить базу из LDIF-файла:

    ~$ sudo -u openldap /usr/sbin/slapadd -l backup.ldif


  4. Запустить slapd:

    ~$ sudo systemctl start slapd


Полный backup сервера ECSS

Для полного backup используется копирование всего жесткого диска (dd). Необходимо сохранить все содержимое диска (таблица разделов, разделы, данные). Преимущество данного метода в том, что за один шаг сохраняются все установленные на жестком диске системы. При таком backup сохранятся все данные, относящиеся к загрузчику. Таким образом, после восстановления можно сразу же загрузиться с этого жесткого диска.

Создание образа

  1. Убедитесь, что ни один из разделов диска, с которого будет делаться backup не примонтирован. Для этого выполните команду mount без параметров.
  2. Выбрать раздел, на котором планируется разместить файл-образ. Это должен быть раздел другого жесткого диска с достаточным объемом свободного места. Объем свободного места должен соответствовать объему копируемого жесткого диска.
  3. Смонтировать backup-раздел

    sudo mount /dev/sdXY /mnt


  4. Выполнить команду

    sudo dd if=/dev/sdX bs=1M conv=noerror,sync | lzma -cv > /mnt/hdd.dd.lzma

    где «sdX» — диск для копирования без сжатия, а не раздел.

    В зависимости от размера жесткого диска и производительности компьютера процедура может занять продолжительное время (до нескольких часов).

  5. По завершении п. 4 отмонтировать backup-раздел

    sudo umount /mnt


Восстановление  из образа

  • Данный способ предполагает полный возврат к состоянию на момент создания архива с заменой всех данных!
  • Перед началом работы необходимо убедиться в надежности электропитания. При высокой интенсивности записи возрастает риск повреждения диска в случае сбоя питания.
  1. Убедиться, что ни один раздел восстанавливаемого диска не используется.
  2. Смонтировать backup-раздел

    sudo mount /dev/sdXY /mnt


  3. Выполнить команду

    bzip2 -dc /mnt/hdd.dd.bz | sudo dd of=/dev/sdX bs=1M conv=sync,noerror

    или для несжатого образа

    sudo dd if=/mnt/hdd.dd.bz of=/dev/sdX bs=1M conv=sync,noerror


  4. По завершении п.3 отмонтировать backup-раздел

    sudo umount /mnt


  • Если необходимо распаковать образ на другой жесткий диск, то он должен иметь размер не меньше оригинального. В случае, если новый диск большего объема, можно расширить разделы, либо создать новый раздел на свободном месте с помощью команды parted/fdisk/gparted/etc.
  • Не используйте оба жестких диска («дубликат» и «оригинал») одновременно! При подключении двух дисков в системе будет по два раздела на каждый UUID, что приведет к проблемам в работе или невозможности загрузки.

Клонирование сервера ECSS

  1. Подключить новый диск, на который будет производиться клонирование.
  2. Загрузить с liveCD ubuntu 18.04.
  3. Командой df -h или mount проверить, что ни один из разделов дисков (с которого будет делаться клон и на который будет делаться клон) не примонтирован. В случае если разделы примонтировались, то выполнить команду umount.
  4. В shell выполнить следующую команду:

    sudo dd if=/dev/sdX of=/dev/sdY bs=4M

    где sdX — диск, с которого будет производиться клонирование,
    sdY — диск, на который будет производиться клонирование.

    Ожидаем завершения выполнения команды. Операция может занять продолжительное время (до нескольких часов).

Сохранение и восстановление настроек отдельного домена (виртуальной АТС)

В системе ECSS-10 также имеется инструмент сохранения и восстановления конфигурации отдельного домена. Это производится с помощью команд CLI по пути /domain/<DOMAIN>/backup/.

Ниже приведено описание и примеры команд.