Перейти к содержанию

Работа с резервной копией ОС

Общие сведения

Файл резервной копии содержит:

  1. Скрипт распаковки posix-shell.

  2. Основной архив (архив со всеми файлами корневой и загрузочной файловых систем).

  3. Вспомогательный архив (архив с конфигурационными файлами, помогающими восстановлению).

Основной архив не содержит (добавлено в исключения):

  1. Содержимое директории, в которой создается резервная копия.
  2. Виртуальные файловые системы и временные директории: /dev, /run, /sys, /proc, /tmp, /var/lib/ntp/proc, /var/lib/lxcfs, /lost+found, /var/tmp.
  3. Все пулы данных, кроме базового пула данных (/storages/local/default), при этом от базового пула данных сохраняется только структура.

В общем случае основной архив резервной копии создается командой:

tar cpf - -X <path to file exclude> / | gzip >> <path to file backup>

Резервная копия ОС SpaceVM не включает резервную копию базы данных, хотя файлы базы данных могут присутствовать в резервной копии, если она была сделана с узла с ролью Controller + Node. Но специальный механизм для восстановления файлов БД не предусмотрен. Для извлечения можно воспользоваться опциями extract или tar. Резервная копия базы данных контроллера может содержаться в резервной копии узла, если она ранее была создана средствами резервного копирования базы данных.

При создании резервной копии происходит фиксация состояния и блокировка корневой файловой системы и раздела с логами:

fsfreeze -f /
fsfreeze -f /var/log
Поэтому все операции взаимодействия с узлом со стороны контроллера, а также процессы на узле, связанные с записью в корневую файловую систему или в раздел с логами, будут не доступны. Но работа виртуальных машин продолжится, так как их диски не должны находиться на пулах данных, относящихся к этим файловым системам. Кроме случаев, когда при установке узла использовалось разбиение диска не по умолчанию, и хранилище для локальных пулов данных /storages/local оказалось в корневой файловой системе. Это приведет к тому, что виртуальные машины, у которых диски находятся на этих пулах данных, потеряют возможность записывать в них данные во время создания резервной копии ОС SpaceVM. Также по этой причине на таких пулах данных невозможно создать резервную копию. При резервной копии узла с ролью Controller + Node блокируется работа с Web-интерфейсом.

Работа с резервной копией выполняется командой:

sh <путь до резервной копии> <опции>

Внимание

Работать с резервными копиями ОС SpaceVM необходимо с правами администратора root.


Опции при работе с резервной копией

Без опций

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

LLC «DACOM M»

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


help

Опция help предназначена для получения справки о работе с резервной копией.

Пример использования
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run help
Пример вывода help
Usage: sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run [-v] [[list] |
                                                                                        [-v] [extract <dir to extract>] |
                                                                                        [-v] [restore <disk to restore>] |
                                                                                        [-v] [tar <keys tar>] |
                                                                                        [help]]
    -v:                          Verbose output for debug.
    list:                        Show list files in backup. WARNING: this output very large,
                                it use for 'grep' or output to file.
    extract <dir to extract>:    Extract files the backuped OS to a passed directory.
    restore <disk to restore>:   Restore OS to a passed disk.
    tar <keys tar>:              Use tar keys for archive with data OS from backup.
                                Don't need use option '-f <archive>'
    help:                        Print this help.

    Examples:
    sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run list | grep 'etc/fstab'
    sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run extract ./123
    sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run restore /dev/sda
    sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run tar -xC ./123 'etc/fstab'
    Typical restore with verbose logging:
    echo 'y' | sudo sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run -v restore /dev/sda 2>&1 | sudo tee restore.log 

-v

Опция -v (verbose) используется для получения детального вывода информации при отладке совместно с другими опциями.


list

Опция list используется для получения полного списка файлов, входящих в резервную копию.

Пример использования
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run list | grep '/etc/passwd'

Внимание

Так как в резервную копию попадают все файлы, вывод с опцией list может быть очень большим. Рекомендуется использовать его совместно с grep.


extract

Опция extract <целевая директория> служит для извлечения всех файлов, входящих в резервную копию, в заданную директорию.

Пример использования для извлечения в директорию ./123
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run extract ./123

restore

Опция restore <диск для восстановления> служит для восстановления ОС SpaceVM на выбранный диск с восстановлением разметки диска.

Пример использования для восстановления на диск /dev/sda
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run restore /dev/sda

tar

Опция tar <ключи> <файл> используется для извлечения отдельных файлов или директорий из резервной копии ОС SpaceVM. Ключи соответствуют стандартным ключам утилиты tar.

Пример использования для извлечения файла etc/fstab в директорию ./123
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run tar -xC ./123 'etc/fstab'

extract_cfg

Опция extract_cfg <целевая директория> является отладочной и используется для извлечения из резервной копии конфигурационных файлов резервной копии, необходимых для восстановления в заданную директорию.

Пример использования для извлечения в директорию ./123
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run extract_cfg ./123

extract_script

Опция extract_script <путь до файла> является отладочной и используется для извлечения из резервной копии скрипта самораспаковки.

Пример использования для извлечения скрипта в текущую директорию ./script.sh
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run extract_script ./script.sh