Дерево страниц


Данная статья применима к:

  • Astra Linux Common Edition 2.12

В данной статье используется пакет xfsdump, который доступен в репозитории Astra Linux Common Edition начиная с версии 2.12.29. Для установки пакета в более ранних версиях требуется подключить репозиторий Debian.

XFS — высокопроизводительная 64-битная журналируемая файловая система

Поддерживается ОС Astra Linux, однако при выборе XFS в качестве основной файловой системы следует учитывать её недостатки:

  • Невозможно уменьшить размер существующей файловой системы. Если раздел на диске занят XFS, его размер нельзя будет изменить в меньшую сторону (это важно принимать во внимание при разбивке диска);
  • Восстановление удалённых файлов в XFS — очень сложный процесс;
  • Возможна потеря данных во время записи при сбое питания, так как большое количество буферов данных хранится в памяти;

Установка ОС Astra Linux на XFS

Для установки ОС Astra Linux на логические диски под управлением XFS следует:

  1. Начать установку в обычном режиме и продолжить её до этапа выбора разметки дисков:

    Для примера выбрана автоматическая установка.
    Нажать кнопку "Продолжить".

  2. Выбрать диск для разметки и нажать кнопку "Продолжить":


  3. Продолжить установку с выбором необходимых параметров (пока процедура не отличается от стандартной процедуры установки без использования XFS):

    Для примера выбрана  автоматическая разметка с размещением всех файлов в одном дисковом разделе.

  4. На странице параметров разметки выбрать диск, который должен быть отформатирован как NFS, и нажать "Продолжить":

  5. В окне параметров разметки диска выбрать пункт "Использовать как" и нажать "Продолжить":


  6. В списке вариантов использования выбрать вариант "Журналируемая файловая система XFS" и нажать "Продолжить":


  7. Подтвердить согласие с внесением изменений на диск и продолжить установку ОС в обычном порядке:


Внимание! Если предполагается в дальнейшем сохранять снимки состояния системы в отдельном дисковом разделе, то при разметке дисковых разделов рекомендуется предусмотреть свободное место для размещения этих снимков (не обязательно, так как в дальнейшем можно подключить и использовать дополнительные накопители).

Можно также зарезервировать отдельный загрузочный раздел, чтобы загружаться с него для восстановления системы из сделанных снимков (на него понадобится установить отдельный экземпляр ОС).

Применение XFS для отката изменений

Создание моментального снимка

Моментальный снимок в файле можно создать командой:

sudo xfsdump -l 0 -f /var/dump.bin /
Где:

  • -l 0 - уровень снимка (применяется для инкрементального сохранения, 0 - полный снимок);
  • -f /var/dump.bin - имя файла, в котором будет сохранён снимок (в данном случае - файл /var/dump.bin). Точно так же можно указать в качестве места сохранения дисковый раздел (например, /dev/sdb1), или устройство (например, /dev/ sdb);

    Файл с моментальным снимком может размещаться в той же файловой системе, с которой делается снимок. Это самый простой способ, не требующий никаких дополнительных действий,  однако, при повреждении файловой системы такой снимок может быть утерян, и восстановление станет невозможным. Поэтому рекомандуется использовать для хранения снимков отдельный дисковый раздел или отдельное устройство.
  • / - файловая система, с которой делается снимок (в данном случае - корневая файловая система).

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

  • Метка сессии;
  • Метка носителя.
При создании снимка производится копирование данных, поэтому снимок занимает много места, а создание снимка может занимать значительное время.

После завершения операции создания снимка можно проверить результат командой:

sudo xfsrestore -I

file system 0:
    fs id: 88276a36-d171-44d1-ab71-cc6e734dd3d6
    session 0:
        mount point:   astra:/
        device:        astra:/dev/sda1
        time:          Wed Jan 29 15:08:14 2020
        session label: "sessionlabel"
        session id:    f518ad35-08b3-4fa1-88db-c2e857611ad8
        level:         0
        resumed:       NO
        subtree:       NO
        streams: 1
        stream 0:
            pathname:    /var/dump.bin
            start:       ino 101 offset 0
            end:         ino 27338784 offset 0
            interrupted: NO
            media files: 1
            media file 0:
                mfile index: 0
                mfile type:  data
                mfile size:  4794356640
                mfile start: ino 101 offset 0
                mfile end:   ino 27338784 offset 0
                media label: "medialabel"
                media id: 1  7cb4dc8-1220-46d8-a528-5c95eb18a327
xfsrestore: Restore Status: SUCCESS
В том числе в выводе команды представлены метка сессии (lession label) и метка носителя (medial label).

Откат изменений

В простейшем случае (единственная сессия и единственный носитель, как в примере выше) для отката изменений достаточно выполнить команду:

sudo xfsrestore -f /var/dump.bin /
Где:

  • -f /var/dump.bin - имя файла, из которого выполняется восстановление;
  • / - каталог, в который выполняется восстановление;

После восстановления снимок будет обнулён.

При написании данной статьи восстановление после установки обновлений было успешно выполнено из файла непосредственно из работающей ОС без её перезагрузки, однако гарантировать работоспособность такого способа нельзя.  В любом случае, после выполненного таким способом восстановления рекомендуется перезагрузить систему. Для практического применение следует сохранять снимки в отдельных дисковых разделах или на отдельных дисках, и выполнять восстановление, загрузив систему с live-носителя.

Порядок восстановления системы при загрузке с live-носителя

  1. Для отката изменений следует перезагрузить компьютер, например, с Live-образа Astra Linux Common Edition (или с отдельного дискового раздела, если такой раздел предусмотрен в системе).

  2. При загрузке со стандартного Live-образа Astra Linux Common Edition понадобится установить паке xfsdump, для чего:
    1. При работе в открытой сети:
      1. Если в сети не настроено автоматическое назначение параметров сетевых подключений, то вручную настроить подключение к сети (в частности, указать в настройках сетевого подключения сервер DNS, например 8.8.8.8) и перезапустить службу сети, чтобы это изменение настройки  вступило в силу;

      2. В файле /etc/apt/sources.list раскомментировать строку с указанием репозитория;

      3. Обновить репозиторий и выполнить установку:

        sudo apt update
        sudo apt install xfsdump

    2. При работе в закрытой сети выполнить установку пакета xfsdump в соответствии с принятыми в этой сети правилами работы.

  3. Примонтировать восстанавливаемый накопитель, и восстановить состояние системы из снимка (для примера предполагается, что снимок устройства /dev/sda1 был сохранён на устройстве dev/sdb):

    sudo mount /deb/sda1 /mnt
    sudo xfsrestore -f /dev/sdb /mnt
    Если снимок был сохранён в файле (например, /var/dump.bin), то после монтирования в пути к файлу следует учесть путь монтирования:
    sudo mount /deb/sda1 /mnt
    sudo xfsrestore -f /mnt/var/dump.bin /mnt

  4. Перезагрузить систему с основного диска.

В данной статье используется пакет xfsdump, для установки которого требуется подключить репозиторий Debian.

Подключение репозитория:

  • Убедитесь, что у вас установлен пакет apt-transport-https, обеспечивающий возможность загрузки пакетов из репозиториев по защищенному протоколу HTTPS. Если нет - то установите его:

    sudo apt install apt-transport-https

  • Для Astra Linux Common Edition 2.12.8 установить пакет dirmngr для управления ключами и пакет debian-archive-keyring, содержащий ключи к репозиториям Debian:

    sudo apt install debian-archive-keyring dirmngr

  • В /etc/apt/sources.list добавить ссылку на репозиторий Debian:

    deb https://archive.debian.org/debian/ stretch main contrib non-free
  • После добавления ссылки выполнить команды

    sudo apt update
    sudo apt install xfsdump

После выполнения указанных команд

  • Нет меток