Btrfs

Как использовать снимки Btrfs

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

Функция моментальных снимков файловой системы Btrfs использует принцип копирования при записи (CoW). Таким образом, он не занимает много места на диске, и вы можете мгновенно делать снимки подобома.

Файловая система Btrfs поддерживает 2 типа снимков.

  1. Записываемые снимки: Если вы сделаете снимок с возможностью записи, вы можете изменить файлы / каталоги этого снимка позже. Это тип снимка файловой системы Btrfs по умолчанию.
  2. Снимки только для чтения: Если вы сделаете снимок, доступный только для чтения, вы не сможете изменить файлы / каталоги этого снимка позже.

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

Предпосылки

Чтобы попробовать примеры из этой статьи,

У меня жесткий диск 20 ГБ SDB на моей машине Ubuntu. Я создал 2 раздела sdb1 а также sdb2 на этом жестком диске. Я буду использовать перегородку sdb1 в этой статье.

$ sudo lsblk -e7

Имя вашего жесткого диска или SSD может отличаться от моего, как и разделы. Так что не забудьте заменить их теперь своими.

Если вам нужна помощь по установке файловой системы Btrfs в Ubuntu, ознакомьтесь с моей статьей Установите и используйте Btrfs в Ubuntu 20.04 LTS.

Если вам нужна помощь по установке файловой системы Btrfs в Fedora, ознакомьтесь с моей статьей Установите и используйте Btrfs в Fedora 33.

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

Чтобы поэкспериментировать с подобъемами Btrfs, вам необходимо создать файловую систему Btrfs.

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

$ sudo mkfs.btrfs -L данные / dev / sdb1

Файловая система Btrfs должна быть создана.

Создать каталог /данные с помощью следующей команды:

$ sudo mkdir -v / данные

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

$ sudo mount / dev / sdb1 / данные

Файловая система Btrfs должна быть смонтирована, как вы можете видеть на скриншоте ниже.

$ df -h / данные

Подготовка файловой системы Btrfs для снэпшотов

В Btrfs вы можете делать снимки только подтомов Btrfs. Главный корень файловой системы Btrfs также является подтомом. Таким образом, вы можете сделать резервную копию всей файловой системы Btrfs, а также определенных подтомов.

В этом разделе будет создан подобтом Btrfs / данные / проекты / web1 и создайте необходимые файлы для следующих разделов этой статьи ниже. Я также создам каталог, в котором вы можете хранить свои снимки. В следующих разделах я покажу вам, как делать снимки (доступные для записи и только для чтения), обновлять снимки с возможностью записи и восстанавливать файлы из снимков. Итак, приступим.

Сначала создайте новый каталог / данные / проекты следующим образом:

$ sudo mkdir -v / данные / проекты

Создать новый подобтом web1 в / данные / проекты каталог следующим образом:

$ sudo btrfs subvolume создать / данные / проекты / web1

Создать новый файл индекс.html в / данные / проекты / web1 подобъём следующим образом:

$ sudo nano / данные / проекты / web1 / индекс.html

Введите следующие строки кодов в поле индекс.html файл.




Демо-сайт



Привет, мир 4



Когда вы закончите, нажмите + Икс с последующим Y а также чтобы спасти индекс.html файл.

Создать новый файл стиль.css в / данные / проекты / web1 подобъём следующим образом:

$ sudo nano / данные / проекты / web1 / стиль.css

Введите следующие строки кодов в поле стиль.css файл.

h1
цвет: зеленый;

Когда вы закончите, нажмите + Икс с последующим Y а также чтобы спасти стиль.css файл.

Теперь / данные / проекты / web1 подобъем имеет индекс.html а также стиль.css файл.

$ ls -lh / данные / проекты / web1

Я хочу сохранить все снимки этой файловой системы Btrfs в /данные/.снимки каталог.

Создать /данные/.снимки каталог с помощью следующей команды:

$ sudo mkdir -v / data /.снимки

Создание снимков подобъема

Чтобы сделать снимок / данные / проекты / web1 субобъем в /данные/.снимки / web1-2020-12-25 каталог (будет создан автоматически), выполните следующую команду:

$ sudo btrfs снимок подтома / данные / проекты / web1 / данные /.снимки / web1-2020-12-25

Снимок / данные / проекты / web1 каталог должен быть создан на /данные/.снимки / web1-2020-12-25 каталог.

Как вы можете видеть на скриншоте ниже, новый подобъем .снимки / web1-2020-12-25 создано. Моментальный снимок на самом деле является подтомом.

$ sudo btrfs список / данные подтомов

Вы можете увидеть больше информации о созданном вами снимке в /данные/.снимки / web1-2020-12-25 каталог следующим образом:

$ sudo btrfs subvolume show / data /.снимки / web1-2020-12-25

Как видите, все файлы, находящиеся в / данные / проекты / web1 подобъём находится в /данные/.снимки / web1-2020-12-25 снимок.

$ tree -a / data

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

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

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

Открой / данные / проекты / web1 / индекс.html файл с помощью текстового редактора nano следующим образом:

$ sudo nano / данные / проекты / web1 / индекс.html

Внесите любые изменения, которые хотите.

Когда вы закончите, нажмите + Икс с последующим Y а также сохранить файл.

Как видите, основной индекс.html файл отличается от индекс.html файл в снимке.

$ cat / data / projects / web1 / index.html
$ cat / data /.снимки / web1-2020-12-25 / index.html

Мы внесли изменения в основной индекс.html файл нежелательны, и мы хотим восстановить индекс.html файл из снимка.

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

$ sudo cp -v / data /.снимки / web1-2020-12-25 / index.HTML / данные / проекты / web1 / индекс.html

Как видите, индекс.html файл восстанавливается из снимка.

$ cat / data / projects / web1 / index.html
$ cat / data /.снимки / web1-2020-12-25 / index.html

Теперь давайте посмотрим, как восстановить все файлы / каталоги из снимка.

Удалите все файлы из / данные / проекты / web1 снимок следующим образом:

$ sudo rm -rv / data / projects / web1 / *

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

$ sudo rsync -avz / data /.снимки / web1-2020-12-25 / / data / projects / web1 /

Как видите, файлы / каталоги восстанавливаются из снапшота.

$ ls -lh / данные / проекты / web1

Наконец, давайте посмотрим, как восстановить файлы / каталоги из снимка в зеркальном режиме. В зеркальном режиме файлы / каталоги подобного тома будут такими же, как и в моментальном снимке. Если в подтоме есть какие-либо файлы / каталоги, которые недоступны в моментальном снимке, они будут удалены.

Давайте создадим новый файл в подобъеме, чтобы отличить дерево файлов от снимка.

Создать ПРОЧТИ МЕНЯ.текст файл в / данные / проекты / web1 подобъём следующим образом:

$ echo "привет, мир 5" | sudo tee / данные / проекты / web1 / README.текст

Как видите, дерево файлов / данные / проекты / web1 подобъем отличается от /данные/.снимки / web1-2020-12-25 снимок.

$ tree -a / данные

Чтобы восстановить файлы / каталоги из /данные/.снимки / web1-2020-12-25 снимок / данные / проекты / web1 subvolume в зеркальном режиме выполните следующую команду:

$ sudo rsync -avz --delete / data /.снимки / web1-2020-12-25 / / data / projects / web1 /

Все файлы / каталоги / данные / проекты / web1 подтом должен быть восстановлен (в зеркальном режиме) из /данные/.снимки / web1-2020-12-25 снимок.

Файловое дерево / данные / проекты / web1 подобъем и /данные/.снимки / web1-2020-12-25 снимок должен быть таким же.

Как видите, индекс.html файл и стиль.css содержимое файла такое же, как в / данные / проекты / web1 подобъем и /данные/.снимки / web1-2020-12-25 снимок.

Содержание индекс.html а также стиль.css файл в / данные / проекты / web1 подобъём.

$ cat / data / projects / web1 / index.html
$ cat / data / projects / web1 / style.css

Содержание индекс.html а также стиль.css файл в /данные/.снимки / web1-2020-12-25 снимок.

$ cat / data / projects / web1 / index.html
$ cat / data / projects / web1 / style.css

Обновление снимка

По умолчанию файловая система Btrfs делает снимки с возможностью записи. Снимок Btrfs похож на подтом. Итак, вы можете изменять / обновлять файлы / каталоги записываемого снимка.

Давайте обновим индекс.html файл в / данные / проекты / web1 подобъём.

Сначала откройте индекс.html файл из / данные / проекты / web1 подобъем с нано текстовый редактор следующим образом:

$ sudo nano / данные / проекты / web1 / индекс.html

Внесите любые изменения, которые хотите. Когда вы закончите, нажмите + Икс с последующим Y а также чтобы спасти индекс.html файл.

Как видите, индекс.html файла / данные / проекты / web1 подобъем отличается от /данные/.снимки / web1-2020-12-25 снимок.

$ cat / data / projects / web1 / index.html
$ cat / data /.снимки / web1-2020-12-25 / index.html

Вы хотите сохранить индекс.html файл / данные / проекты / web1 подобъём.

Чтобы обновить индекс.html файл в /данные/.снимки / web1-2020-12-25 снимок, выполните следующую команду:

$ sudo cp -v / данные / проекты / web1 / индекс.html / data /.снимки / web1-2020-12-25 / index.html

Как видите, индекс.html файл /данные/.снимки / web1-2020-12-25 снимок обновлен.

Обновить снимок так же просто, как скопировать новые файлы в снимок.

Создание снимков подобъема только для чтения

Иногда вы не хотите, чтобы сделанные вами снимки обновлялись каким-либо образом. В этом случае вы можете создавать снимки только для чтения.

Например, чтобы создать моментальный снимок только для чтения /данные/.снимки / web1-2020-12-26 принадлежащий / данные / проекты / web1 subvolume, выполните следующую команду:

$ sudo btrfs снимок подтома -r / data / projects / web1 / data /.снимки / web1-2020-12-26

Как видите, новый подтом .снимки / web1-2020-12-26 создано.

$ sudo btrfs список / данные подтомов

Как видите, снимок /данные/.снимки / web1-2020-12-26 только для чтения.

$ sudo btrfs subvolume show / data /.снимки / web1-2020-12-26

Давайте обновим индекс.html файл из / данные / проекты / web1 подобъём.

Для этого откройте индекс.html файл из / данные / проекты / web1 подобъем с нано текстовый редактор следующим образом:

$ sudo nano / данные / проекты / web1 / индекс.html

Внесите любые изменения, которые хотите. Когда вы закончите, нажмите + Икс с последующим Y а также сохранить изменения.

Как видите, индекс.html в / данные / проекты / web1 подобъем отличается от /данные/.снимки / web1-2020-12-26 снимок.

$ cat / data / projects / web1 / index.html
$ cat / data /.снимки / web1-2020-12-26 / index.html

Попробуем обновить индекс.html файл в /данные/.снимки / web1-2020-12-26 снимок.

$ sudo cp -v / данные / проекты / web1 / индекс.html / data /.снимки / web1-2020-12-26 / index.html

Как видите, обновить индекс.html файл /данные/.снимки / web1-2020-12-26 снимок, потому что снимок доступен только для чтения.

Удаление снимка

Я уже говорил вам ранее, что снимок Btrfs похож на подтом. Итак, вы можете удалить снимок Btrfs точно так же, как вы удаляете вложенный том Btrfs. Та же команда.

Вот как файловое дерево файловой системы Btrfs смонтировано на /данные каталог выглядит на данный момент.

$ tree -a / data

Уберем .снимки / web1-2020-12-25 снимок.

$ sudo btrfs список / данные подтомов

Чтобы удалить /данные/.снимки / web1-2020-12-25 снимок, выполните следующую команду:

$ sudo btrfs subvolume удалить / данные /.снимки / web1-2020-12-25

Как видите, снимок .снимки / web1-2020-12-25 больше не.

$ sudo btrfs список / данные подтомов

Как видите, файлы / каталоги /данные/.снимки / web1-2020-12-25 снимок тоже удаляется.

$ tree -a / данные

Заключение

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

Как показать счетчик FPS в играх для Linux
Игры для Linux получили серьезный толчок, когда Valve объявила о поддержке Linux для клиента Steam и своих игр в 2012 году. С тех пор многие игры AAA ...
Как загрузить и играть в Sid Meier's Civilization VI в Linux
Введение в игру Civilization 6 - это современный подход к классической концепции, представленной в серии игр Age of Empires. Идея была довольно просто...
Как установить Doom и играть в него в Linux
Введение в Doom Серия Doom возникла в 90-х годах после выхода оригинальной Doom. Это мгновенно стал хитом, и с тех пор серия игр получила множество на...