Как сделать снимок файловой системы

Обновлено: 06.07.2024

Переход на новую файловую систему, это всегда сложная задача. Мы уже доверяем старой, проверенной файловой системе. Она может даже имеет некоторые ограничения функциональности и производительности, но зато никогда нас не подводила. Новые файловые системы предлагают очень большое количество функций, но возникает вопрос, можно ли им доверять?

Одной из таких файловых систем является Btrfs. Это относительно новая файловая система, которая появилась в 2007 году и была разработана компанией Oracle. Она предлагает очень широкий набор новых возможностей и поэтому сильно интересует пользователей, но до сих пор в сети ходят слухи, что эта файловая система еще не пригодна для постоянного использования. В этой статье мы попытаемся разобраться какие возможности нам дает Btrfs, а также действительно ли ее уже можно использовать.

Что такое Btrfs?

Как я уже сказал, Btrfs была разработана компанией Oracle в 2007 году. Одной расшифровки названия нет, одни говорят, что это значит B-tree FS, другие Better Fs. Также как и в других файловых системах, все данные хранятся на диске по определенным адресам. Эти адреса сохранены в метаданных. И тут уже начинаются различия. Все метаданные организованны в виде b-деревьев. Это дает большую производительность при работе с файловой системой, а также позволяет добавлять неограниченное количество файлов.

Но даже это еще не все. Когда вы перезаписываете файл, данные не перезаписываются, а лишь модифицированная часть копируется в новое место, Затем просто обновляются метаданные. Это позволяет создавать мгновенные снимки файловой системы, которые не занимают места на диске, пока не было внесено много изменений. Если же старый блок больше не нужен, потому что он не является частью какого-либо снимка, то он автоматически удаляется.

Из-за своей структуры Btrfs имеет огромные возможности, например, она может работать с современными очень большими носителями данных. Максимальный размер файловой системы составляет 16 Экзабайт. Это все возможно благодаря правильному использованию пространства на диске. Другие файловые системы используют жесткий диск целиком, от начала до конца для записи своей структуры.

Btrfs поступает по-другому. Каждый диск, независимо от его размера делится на блоки по 1 Гб для данных и 256 Мб для метаданных. Затем эти блоки собираются в группы, каждая из которых может храниться на разных устройствах, количество таких блоков в группе может зависеть от уровня RAID для группы. Менеджер томов уже интегрирован в файловую систему, поэтому больше никакое дополнительное ПО использовать не нужно.

Защита и сжатие данных тоже поддерживается на уровне файловой системы так что здесь вам тоже не нужны дополнительные программы. Также файловая система btrfs поддерживает зеркалирование данных на нескольких носителях. Вот другие особенности btrfs, которые можно упомянуть:

  • Поддержка снимков файловой системы, только для чтения или для записи;
  • Контрольные суммы для данных и метаданных с помощью алгоритма crc32. Таким образом, можно очень быстро определить любые повреждения блока;
  • Сжатие с помощью Zlib и LZO;
  • Оптимизация для работы с SSD, файловая система автоматически определяет ssd и начинает вести себя по-другому;
  • Фоновый процесс для обнаружения и исправления ошибок, а также дефрагментации и дедупликации в реальном времени;
  • Поддерживается преобразование из ext4 и ext3.

Все это очень хорошо, но можно ли уже использовать эту файловую систему? Попробуем разобраться и с этим.

Готова ли Btrfs к использованию?

Вокруг Btrfs до сих пор сохранилось много неправильных представлений. Многие из них происходят от реальных проблем, которые были в начале разработки файловой системы. Но люди, просматривая эту информацию не смотрят на ее дату. Да Btrfs действительно была нестабильной и неустойчивой. Было очень много проблем с потерей данных и много пользователей писали об этом, но это было еще в 2010 году.

Самая важная часть файловой системы - это ее формат хранения на диске. Но формат файловой системы Btrfs уже зафиксирован, это случилось еще в 2012 году и он больше не изменяется без крайней необходимости. Это само по себе достаточно, чтобы признать стабильность btrfs.

Но почему же Btrfs считается многими нестабильной? Этому есть несколько причин. Во-первых, это боязнь пользователей к новым технологиям. Это было не только в Linux, но и в Microsoft, при их переходе на NTFS, и в Apple. Но здесь есть некоторый парадокс, файловая система XFS прошла 20 лет стабильного развития, но самой стабильной файловой системой считается ext4, которая была разработана из форка ext3 в 2006 году. Фактически она на год старше Btrfs.

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

Но уже есть много подтверждений, что файловая система готова. Эта файловая система используется на серверах Facebook, где компания хранит свои важные данные. А это уже само по себе важный фактор. Над улучшением файловой системы работают такие компании как Facebook, SuSE, RedHat, Oracle, Intel и другие. Эта файловая система используется в SUSE Linux Enterprise по умолчанию, начиная с выпуска 12. Все эти факторы вместе доказывают, что файловая система вполне готова к использованию. А учитывая функциональность и особенности btrfs ее уже можно использовать.

Использования Btrfs

Почему стоит использовать Btrfs и стоит ли вообще, разобрались. Теперь хотелось бы показать немного практики, чтобы вы могли оценить эту файловую систему в действии. Я буду приводить примеры на основе Ubuntu. Сначала установим инструменты для управления файловой системой:

sudo apt install btrfs-tools

Создание файловой системы btrfs

Сначала нужно создать файловую систему. Допустим, у нас есть два жестких диска /dev/sdb и /dev/sdc, мы хотим создать на них единую файловую систему с зеркалированием данных. Для этого достаточно выполнить:

sudo mkfs.btrfs /dev/sdb /dev/sdc

btrfs

По умолчанию будет использоваться RAID0 для данных (без дублирования, и RAID1 для метаданных (дублирование на один диск). При использовании одного диска метаданные тоже дублируются, если вы хотите отключить это поведение можно использовать опцию -m single:

sudo mkfs.btrfs -m single /dev/sdb

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

Посмотреть информацию о только что созданной файловой системе вы можете командой:

sudo btrfs filesystem show /dev/sdb

btrfs1

Или обо всех подключенных файловых систем:

sudo btrfs filesystem show

Монтирование btrfs

Для монтирования используйте обычную команду:

sudo mount /dev/sdb /mnt

btrfs2

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

/dev/sdb /mnt btrfs defaults 0 1

Теперь смотрим информацию о занимаемом месте на дисках:

sudo btrfs filesystem df /mnt

btrfs3

Сжатие в btrfs

Для включения сжатия достаточно добавить опцию compress при монтировании. Ей можно передать алгоритм lzo или zlib:

sudo mount -o compress=lzo /dev/sdb /mnt
sudo mount -o compress=zlib /dev/sdb /mnt

Восстановление Btrfs

Для восстановления поврежденной Btrfs используйте опцию монтирования recovery:

sudo mount -o recovery /dev/sdb /mnt

Изменение размера

Вы можете изменить размер тома в реальном времени, для этого используйте команду resize:

sudo btrfs filesystem resize -2g /mnt

btrfs4

Уменьшит размер на 2 гигабайта. Затем увеличим на 1 Гигабайт:

sudo btrfs filesystem resize +1g /mnt

btrfs5

Создание подтомов

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

sudo btrfs subvolume create /mnt/sv1
sudo btrfs subvolume create /mnt/sv2
sudo btrfs subvolume list /mnt

btrfs6

Монтирование подтомов

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

sudo umount /dev/sdb

sudo mount -o subvolid=258 /dev/sdb /mnt

Или вы можете использовать имя:

sudo mount -o subvol=sv1 /dev/sdb /mnt

Удаление подтомов

Сначала подключите корень btrfs вместо подтома:

sudo umount /mnt

sudo mount /dev/sdb /mnt/

Чтобы удалить подтом можно использовать путь монтирования, например:

sudo btrfs subvolume delete /mnt/sv1/

Создание мгновенных снимков

Файловая система Btrfs позволяет создавать мгновенные снимки изменений. Для этого используется команда snapshot. Например, создадим файл, затем сделаем снимок:

touch /mnt/sv1/test1 /mnt/sv1/test2

sudo btrfs subvolume snapshot /mnt/sv1 /mnt/sv1_snapshot

btrfs7

Дефрагментация btrfs

Из-за использования копирования при записи может возникать фрагментация. Чтобы запустить дефрагментацию файловой системы используйте команду:

sudo btrfs filesystem defrag /mnt

btrfs9

Выводы

Как видите, файловая система btrfs очень интересная и перспективная. К тому же она уже полностью готова к использованию и достаточно стабильна. А вы уже пользуетесь Btrfs? Собираетесь пользоваться после прочтения статьи? Напишите в комментариях внизу!

Оригинал: How to Easily Roll Back Changes with Snapper
Автор: Jack Wallen
Дата публикации: 23 сентября 2016 г.
Перевод: А.Панин
Дата перевода: 17 января 2017 г.

snapper является утилитой с интерфейсом командной строки, позволяющей создавать, удалять и сравнивать снимки файловой системы

snapper является утилитой с интерфейсом командной строки, позволяющей создавать, удалять и сравнивать снимки файловой системы.

Хороший системный администратор должен знать, как устранить последствия любых некорректно осуществленных изменений системы. К примеру, вы можете устанавливать, обновлять, настраивать систему или отдельную службу и столкнуться с ошибкой в процессе выполнения соответствующих действий. Что делать в этом случае? Если вы создали копию файла конфигурации, то ничего страшного не произошло. Если в процессе установки программного обеспечения не было установлено большое количество других необходимых для его корректного функционирования программных компонентов (что, в свою очередь, может стать причиной систематических неполадок), вы можете просто удалить его. Но имеют место и такие ситуации, когда гораздо удобнее осуществить откат всех изменений файловой системы.

Если вы используете файловую систему Btrfs , откат ее изменений не будет связан с какими-либо сложностями. Btrfs позволяет использовать крайне полезный инструмент под названием snapper , позволяющий создавать снимки файловой системы и осуществлять откат ее изменений (в случае неполадок). snapper является утилитой с интерфейсом командной строки, спроектированной специально для управления снимками файловой системы и позволяющей создавать, удалять и сравнивать снимки, а также устранять изменения между ними.

В рамках данной статьи я подробно опишу процесс отката изменений файловой системы с помощью инструмента snapper в новейшей версии дистрибутива openSUSE Leap . Также следует упомянуть о том, что в как в комплекте поставки дистрибутива openSUSE, так и в комплекте поставки дистрибутива SUSE имеется плагин для центра управления системой под названием YaST, предназначенный для работы с snapper и максимально упрощающий описанный процесс. Но, перед тем, как знакомиться с графическим интерфейсом для рассматриваемого инструмента, все же стоит разобраться с лежащими в его основе командами.

Первые шаги

Приведенная выше команда создает новый файл конфигурации с именем "root" для корневой директории (/). Файлы конфигурации необходимы для корректной работы snapper; без них вы просто не сможете пользоваться данным инструментом. К счастью, файл конфигурации для корневой файловой системы - это все, что нужно для использования основных функций snapper.

Теперь при выполнении команды snapper list-configs вы увидите запись, соответствующую как минимум одному файлу конфигурации (Рисунок 1).

Файл конфигурации для корневой файловой системы, который был создан нами вручную

Рисунок 1: Файл конфигурации для корневой файловой системы, который был создан нами вручную

Если вы выполните команду snapper-list , snapper выведет список всех сохраненных снимков файловых систем. При использовании свежеустановленной системы велика вероятность того, что таких снимков будет не очень много, а возможно, что и вообще не будет. Ну что же, предлагаю создать новый снимок.

Создание снимка файловой системы

Предположим, что вы собираетесь установить веб-сервер Apache и хотите создать снимок файловой системы перед его установкой. Сервер функционирует корректно и ничто не мешает установке Apache. Пришло время создать снимок файловой системы. Это команда, которую следует использовать для его создания:

Давайте разберемся с ее параметрами:

  • snapper : это название утилиты. Да, просто название.
  • create : этот параметр сообщает snapper о том, что вы собираетесь создать новый снимок файловой системы.
  • --type pre : этот параметр сообщает snapper о том, что вы создаете снимок до внесения изменений в файловую систему.
  • --print-number : этот параметр сообщает snapper о необходимости вывода числового идентификатора, ассоциированного с создаваемым снимком файловой системы (он понадобится при создании связанного снимка после внесения изменений в файловую систему). Этот идентификатор является крайне важным.
  • --description : это читаемое пользователем описание снимка файловой системы (оно очень поможет при поиске снимков, ассоциированных с определенными изменениями файловой системы или периодами времени).

Теперь, когда вы создали снимок файловой системы до внесения изменений, вы можете выполнять все необходимые действия с сервером (а в нашем примере - устанавливать Apache). После того, как вы закончите работу, вам придется создать ассоциированный снимок файловой системы. Как вы видите, при внесении любых важных изменений в файловую систему вам придется создавать по два ее снимка: снимок перед внесением изменений ( pre ) и снимок после внесения изменений ( post ). Благодаря их наличию вы сможете осуществлять откат изменений файловой системы.

Для создания снимка файловой системы после внесения изменений вы должны выполнить следующую команду:

Здесь вместо X должен использоваться числовой идентификатор, полученный при создании снимка файловой системы до внесения изменений.

Помните, что при создании снимка файловой системы до внесения изменений, snapper должен выводить числовой идентификатор, ассоциированный с этим снимком. и именно для этой цели вы использовали параметр --pre-number . Снова выполните команду snapper list и вы увидите в списке информацию о снимках файловой системы, созданных до и после внесения изменений в нее (Рисунок 2).

Числовой идентификатор моего снимка файловой системы до внесения изменений равен 2, а после внесения изменений - 5

Рисунок 2: Числовой идентификатор моего снимка файловой системы до внесения изменений равен 2, а после внесения изменений - 5

Проверка изменений

На этом этапе все становится гораздо проще и удобнее. Вы можете сообщить snapper о необходимости вывода списка всех изменений, внесенных в файловую систему в промежутке времени между созданием ее снимков. При этом мы знаем, что снимок файловой системы до внесения изменений имеет идентификатор 2, а после - идентификатор 5. Но какие файлы были изменены? Выполните команду snapper 2..5 для получения списка всех измененных файлов (Рисунок 3).

Список файлов, измененных в процессе установки веб-сервера Apache

Рисунок 3: Список файлов, измененных в процессе установки веб-сервера Apache

Слева от каждой строки несложно обнаружить символ "+" , который обозначает, что файл по приведенному пути был создан. Аналогично символ "c" обозначает, что файл был изменен, а символ "-" - что файл был удален.

Вы также можете ознакомиться со списком изменений определенных файлов. Предположим, что вы обнаружили символ "c" перед путем к файлу "/etc/sysconfig/apache2" и хотите узнать, какие строки этого файла конфигурации были изменены. Вы можете выполнить следующую команду:

В результате будет выведен список изменений файла конфигурации /etc/sysconfig/apache2 на основе его версий до и после установки веб-сервера Apache в формате утилиты diff . Вы также можете выполнить команду snapper diff 2..5 без передачи имени файла для получения информации об изменениях, внесенных в каждый из подвергшихся модификации файлов.

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

Предположим, что с помощью команды diff вам удалось найти причину некорректной работы системы и теперь вы хотите осуществить откат этих изменений. На самом деле, это совсем не сложно. Возвращаясь к нашему примеру, предположим, что проблема заключалась в изменениях, внесенных в файл /etc/sysconfig/apache2 . Для отката содержимого этого файла к начальному состоянию достаточно выполнить следующую команду:

Приведенная выше команда позволяет откатить изменения файла /etc/sysconfig/apache2 от состояния из снимка после внесения изменений в файловую систему до состояния из снимка до внесения изменений в файловую систему (в данном случае, перед установкой Apache).

Да, это действительно просто. Даже без плагина snapper для центра управления системой YaST вы смогли откатить изменения, не используя ничего кроме интерфейса командной строки системы.

Истинная сила

Благодаря инструменту snapper, вы приобретаете истинную силу. С помощью нескольких несложных команд вы можете создавать и сравнивать снимки файловых систем, а также откатывать изменения, появившиеся в новых снимках. После того, как вы научитесь работать с утилитой snapper, вам непременно следует обратить внимание на плагин snapper для центра управления системой YaST; он является настолько же мощным, но более простым в использовании благодаря наличию графического интерфейса.

Для того, чтобы узнать немного больше об инструменте snapper следует воспользоваться командой man snapper , в результате чего откроется страница руководства, которая поможет лучше оценить все его возможности.

Создание снимка корневого раздела позволит откатиться до предыдущего состояния. Это очень полезно, когда что-то пошло не так и / или произошла потеря данных. Эту функцию можно увидеть на жестком диске VirtualBox и опцию персистентности на live CD. В отличие от резервного копирования, он использует инкрементное использование данных, поэтому размер данных меньше. Можно ли сделать снимок файловой системы?

3 ответа

Вы можете сделать это с LVM , но только если вы настроили разделы для использования LVM для начала.

Что вам действительно нужно, так это BTRFS

rsync

Создание снимка корневого раздела сделает возможным откат к предыдущему состоянию

Мы называем это процедурой резервного копирования, и для инкрементных резервных копий вы можете использовать rsync ;)

rsync - это служебное программное обеспечение и сетевой протокол для Unix-подобных систем (с портами для Windows), который синхронизирует файлы и каталоги из одного места в другое, в то время как минимизация передачи данных с использованием дельта-кодирования, когда это необходимо. Цитирую официальный сайт: «rsync - это программа передачи файлов для систем Unix. Rsync использует« алгоритм rsync », который обеспечивает очень быстрый метод синхронизации удаленных файлов». 3 Важной особенностью rsync не является в большинстве подобных программ / протоколов обнаруживается, что зеркалирование происходит только с одной передачей в каждом направлении. почему? rsync может копировать или отображать содержимое каталога и копировать файлы, при необходимости используя сжатие и рекурсию.

Удаленное резервное копирование

Возможно резервное копирование по сети, желательно, чтобы пользователь запустил сетевой ресурс для резервного копирования до запуска программа. После этого общий ресурс будет указан в графическом интерфейсе Browse и может быть легко добавлен. Нет отдельного раздела для сети, если требуются более продвинутые функции, пользователю предлагается рассмотреть альтернативы, которых много.

Grsync

Grsync является графическим интерфейсом:

enter image description here

Ссылка содержит несколько примеров конфигурации ,

Rsync позволяет вам восстанавливать с помощью отметки времени (поэтому, если резервные копии создаются каждую секунду, вы также можете восстановить их до этой секунды. Не то, чтобы это работающий метод для полной системы ;-))

Гипервизор Xen

Существуют и другие методы: Гипервизор Xen.

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

Xen - это монитор виртуальной машины «голого метала» типа 1 (или гипервизор), который позволяет запускать один или несколько экземпляров операционной системы на такая же физическая машина. Xen, как и другие типы виртуализации, полезен для многих случаев использования, таких как консолидация серверов и изоляция производственных сред и сред разработки (например, корпоративных и личных сред в одной и той же системе).

Начиная с Ubuntu 11.10 (Oneiric), ядро ​​по умолчанию, включенное в Ubuntu, может использоваться непосредственно с гипервизором Xen в качестве домена управления (или контроля) (Dom0 или Domain0 в терминологии Xen).

Остальная часть этого руководства дает базовый обзор того, как настроить базовую систему Xen и создать простых гостей. В нашем примере LVM используется для виртуальных дисков и сетевого моста для виртуальных сетевых карт. Предполагается также Xen 4.1 (версия доступна в 12.04) и набор инструментов xend. Он предполагает знакомство с общими проблемами виртуализации, а также со специальной терминологией Xen. Пожалуйста, смотрите вики Xen для получения дополнительной информации.

LVM означает управление логическими томами. Это система управления логическими томами или файловыми системами, которая намного более продвинута и гибка, чем традиционный метод разделения диска на один или несколько сегментов и форматирования этого раздела с помощью файловой системы.

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

rsnapshot

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

Снимки локальной файловой системы обрабатываются с помощью rsync. Защищенные удаленные соединения обрабатываются с помощью rsync через ssh, тогда как анонимные соединения rsync просто используют сервер rsync. Как удаленная, так и локальная передача зависят от rsync.

Backup и Snapshot: что это?

До появления виртуальных машин все администраторы делились на две группы: тех, кто еще не делает бэкапы (bakup - резервное копирование), и тех, кто уже делает.

С появлением гипервизоров выделились еще две полярные группы: тех, кто еще не делает снэпшоты (snapshot - снимки файловой системы), и тех, кто уже делает.

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

Резервное копирование (backup)

Резервные копии нужны для восстановления утраченной или испорченной информации. Также резервное копирование применяется для архивирования (сохранения данных для использования их в будущем).

Копировать можно:

  • отдельные файлы;
  • группу файлов, объединенных по какому-то признаку;
  • операционную систему;
  • диски или разделы дисков (посекторно или поблочно);
  • виртуальные машины

Виды резервного копирования

Существует несколько видов резервного копирования.

Полное резервное копирование

Во время полного резервного копирования сохраняются все данные. Когда старые бэкапы теряют актуальность, они удаляются целиком, чтобы освободить место. Такое резервное копирование требует много дискового пространства на носителе для резервной копии. Полное резервное копирование занимает много времени и, и поэтому проводится в нерабочее время. Такой способ позволяет сохранить важную информацию, но из-за больших сроков копирования он не очень подходит для восстановления быстро меняющихся данных. Полное резервное копирование для больших объемов рекомендуется сочетать с другими видами создания бэкапов: дифференциальным и инкрементным копированием

Дифференциальное копирование

Дифференциальное создание резервной копии – это копирование только тех файлов, которые были изменены с момента последнего полного копирования. Это позволяет уменьшить объем данных на резервном носителе и при необходимости ускорить процесс восстановления данных. Так как дифференциальное копирование обычно производится гораздо чаще, чем полное, оно очень эффективно, так как позволяет восстанавливать те данные, которые подвергались изменению совсем недавно, и отслеживать изменения файлов с момента полного копирования.

Инкрементное копирование

Этот вид копирования отличается от дифференциального тем, что при первом запуске инкрементного копирования происходит создание резервных копий только тех файлов, которые были изменены с тем пор, как в последний раз выполнялся полный или дифференциальный бэкап. Последующие процессы инкрементного копирования добавляют только те файлы, которые подверглись изменению с момента предыдущего резервирования. При этом изменившиеся или новые файлы не замещают старые, а добавляются на резервный носитель отдельно. Конечно, в этом случае процесс восстановления занимает больше времени, так как нужно последовательно восстановить всю историю изменений файлов.

Время резервного копирования

Для того чтобы правильно планировать резервное копирование, необходимо рассчитать два показателя: RPO и RTO.

RPO (recovery point objective) – это максимальный период времени, за который могут быть потеряны данные в результате аварии. Например, у нас есть информационная система, и если произойдет авария, и мы готовы ее восстановить за один час. Это значит, что за этот час новые данные не будут поступать в нашу информационную систему, и RPO равняется часу. Эти данные невозможно восстановить из резервной копии, потому что они не поступали в информационную систему. Показатель RPO говорит нам, как часто делать резервные копии нашей системы. На основании RPO мы можем выбрать нужную систему резервного копирования и какие технологии применять, чтобы вписаться в этот промежуток времени. Можно ли свести его к нулю? Можно, если использовать два хранилища, которые работают зеркально.

RTO (recovery time objective) - это промежуток времени, в течение которого система может оставаться недоступной в случае аварии. Например, в серверной произошла авария, и мы хотим, чтобы система была снова доступна через час. Это и есть значение RTO. Мы должны создать такой план аварийного восстановления, чтобы за этот час восстановить работоспособность информационной системы на резервном оборудовании или площадки.

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

Инструменты резервного копирования

Все инструменты резервного копирования можно поделить на следующие группы:

  • Встроенные инструменты
  • Бесплатные программы
  • Коммерческие системы
  • Облачное резервное копирование

Встроенные инструменты резервного копирования

Современные операционные системы уже включают в себя инструменты резервного копирования. Например, для Windows, начиная с Microsoft Vista, доступна программа Windows Backup And Restore (Архивация и Восстановление). Эта программа позволяет создавать полный бэкап операционной системы с возможностью инкрементного копирования. Windows Backup And Restore позволяет создавать автоматический полный бекап на сменный носитель, оптические диски или в специальное место на удаленном сервере.

Для копирования небольшого количества файлов и каталогов часто используется команда xcopy. Эту команду можно использовать с планировщиком Windows.

Для UNIX-систем самой популярной программой резервного копирования файлов является утилита rsync. Оно обладает богатыми возможностями, включая инкрементное резервное копирование, обновление всего дерева каталогов и файловой системы, как локальных, так и удаленных резервных копий, сохранение прав доступа к файлам, ссылок и многое другое.

Также имеет графический пользовательский интерфейс Grsync, но главное преимущество с Rsync заключается в том, что резервные копии могут быть автоматизированы с использованием сценариев и заданий cron системными администраторами прямо в командной строке.

Бесплатные и платные программы резервного копирования

Существует множество бесплатных и платных программ резервного копирования, которые можно легко найти в интернете. Большинство из них копируют файлы и каталоги, некоторые из них позволяют произвести резервное копирование виртуальных машин и осуществить посекторное копирование носителей.

Главное – это перед использованием на реальных данных проверить на тестовой копии тех же самых данных. Кроме того, необходимо проверить можно или восстановить данные из архива.

Облачное резервное копирование

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

Такие системы, как CommVault или Veeam позволяют делать резервные копии в облако для:

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

При резервном копировании в облако через сеть Интернет особенно важно учитывать значения RPO и RTO, так как каналы с Интернет обычно достаточно медленные.

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

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

Shapshot – снимки системы

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

Такую возможность дает технология создания снимков, или снэпшотов (snapshot). При наличии такого снимка можно быстро и полностью «откатить» компьютер или файл в то состояние, в котором он находился в момент создания снимка.

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

Затем, чтобы получить данные с диска, сначала нужно прочить содержимое снимка диска, а затем учесть все связанные с файлом или виртуальной машиной дисковые операции, записанные в отдельном файле. При записи новых или измененных данных на диск достаточно записать эти данных в отдельные файлы.

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

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

Рассмотрим виды создания снэпшотов.

Файловые службы

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

В теневых копиях (VSS) содержатся записи об изменениях файлов. Копии делаются автоматически каждый час - по умолчанию Windows хранит 64 копии файла. Использовать копии можно без прав администратору.

Вот важные особенности теневых копий:

  • Под теневое копирование выделяется 10% емкости раздела, это значение можно изменить.
  • Теневое копирование включается для тома целиком, и включить его для отдельного каталога нельзя.
  • Microsoft не рекомендует создавать снимки чаще, чем раз в час.
  • По умолчанию максимально хранимых снимков для диска - 64. При превышении этого значения служба VSS начинает циклическую перезапись теневых копий и удаляет самые ранние снимки.

В UNIX-системах можно использовать файловую систему ZFS, которая предоставляет широкие возможности по созданию и управлению снимками файловой системы.

Снимки могут быть сделаны одноразовыми или запланированными как задание cron. В любой момент вся файловая система может быть отброшена до последнего моментального снимка. Старые снимки могут быть клонированы и доступны для восстановления данных из этой версии файловой системы.

Снэпшоты в виртуальных машинах

Виртуальная машина - это файл. Такой файл содержит описание конфигурации виртуальной машины на языке, понятной гипервизору, а также содержимое виртуального жесткого диска, памяти и регистров процессора. Таким образом, с виртуальными машинами можно обходиться точно также, как и с обычными файлами - делать их копии, или создавать с них снимки. Как только создается снимок виртуальной машины, то на диск будет записана копия этого файла. Все, что в виртуальной машине будет изменяться, будет записываться в другой файл. Дальнейшая работа виртуальной машины ведет к модификации этого файла с изменений. В любой момент можно создать новый снимок виртуальной машины, тогда будет создан еще один файл, содержащий изменения. Можно также вернуться назад, на один из сделанных файлов изменений.

  • Снэпшоты сохраняются рядом с виртуальными дисками, на основе которых создаются снимки.
  • Снэпшоты быстро растут и могут превысить размер исходных виртуальных дисков, особенно быстро это проихсходит на высоконагруженных серверах и серверах баз данных.
  • Файлы снэпштотов всегда резервируются динамически, а это негативно отражается на общей производительности, особенно в случае высоконагруженных систем.
  • Несмотря на то, что теоретически можно создать цепочки из 32 снимков для одной виртуальной машины, не рекомендуется создавать более трех снэпшотов для сохранения производительности и стабильности работы виртуальной машины.
  • Продолжительность жизни одного снимка не должен превышать 72-х часов. В противном случае, его размер станет очень большой, а виртуальная машина будет работать очень медленно.

Такие гипервизоры, как Hyper-V или Wmware vSphere содержат встроенные средства создания снэпшотов. Использование СХД для размещения виртуальных машин и их снэпшотов позволяет снизить влияние снимков на производительность виртуальных машин, благодаря особенному устройству дисковых массивов.

Если вы используете виртуальные машины, размещенные в облаке провайдера, то для создания снимков необходимо в панели управления ввести имя снэпшота, и нажать на кнопку «Сделать снимок».

Выводы

Несмотря на то, что снэпшоты - это одна из разновидностей резервного копирования, снэпшоты не могут быть использованы вместо бэкапа, поскольку не содержат полной копии виртуального диска, а только историю изменений.

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

При создании резервных копий необходимо обратить внимание на следующие моменты.

Бэкап важных данных следует делать в соответствии с правилом 3-2-1:

1. Создавайте три копии важных данных.

2. Две копии должны быть сохранены на различных физических носителях.

3. Одна копия должна храниться отдельно от двух других, в другом здании.

Резервные копии необходимо регулярно проверять. Если этого не делать, то можно обнаружить, что в резервной копии нет необходимых данных. Так, например, компания Pixar чуть не потеряла часть важных данных, необходимых для производства мультфильма «История игрушек -2» из-за того, что бэкап, содержащийся на ленте, не был вовремя проверен. Тут можно ознакомиться с этой историей подробнее.

В Kaspersky Security Center 13 уменьшено по сравнению с более ранними версиями время простоя Сервера администрирования во время резервного копирования данных. Кроме того, в параметры задачи добавлена функция Использовать моментальный снимок файловой системы для резервного копирования данных . Эта функция позволяет дополнительно уменьшить время простоя за счет того, что утилита klbackup создает при выполнении резервного копирования теневую копию диска (это занимает несколько секунд) и одновременно производит копирование базы данных (это занимает не более нескольких минут). Создав теневую копию диска и сделав копию базы данных, klbackup снова делает Сервер администрирования доступным для соединения.

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

  • Папка общего доступа Сервера администрирования и папка %ALLUSERSPROFILE%\KasperskyLab находятся на одном логическом диске и локальны по отношению к Серверу администрирования.
  • Внутри папки %ALLUSERSPROFILE%\KasperskyLab нет созданных вручную символических ссылок.

Для использования функции необходимо иметь учетную запись с правами на создание снимков логического диска, на котором расположена папка %ALLUSERSPROFILE%. Учетная запись службы сервера администрирования не имеет таких прав.

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

  1. В разделе Задачи выберите задачу резервного копирования.
  2. В контекстном меню выберите пункт Свойства .
  3. В отобразившемся окне свойств задачи выберите раздел Параметры .
  4. Установите флажок Использовать моментальный снимок файловой системы для резервного копирования данных .
  5. В полях Имя пользователя и Пароль введите имя и пароль от учетной записи, имеющей право на создание снимков логического диска, на котором расположена папка %ALLUSERSPROFILE%.
  6. Нажмите на кнопку Применить .

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

Читайте также: