Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ FreeBSD and Nix ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


BTRFS снапшоты в Linux Часть 2


 

BTRFS снапшоты в Linux Часть 2

В продолжение статьи:
http://snakeproject.ru/rubric/article.php?art=btrfs_03122020


Основная информация о сабволумах:
sudo btrfs subvolume show /home

Основные свойства:
Name - имя сабволума
UUID - уникальный идентификатор
Parent UUID - идентификатор предка сабволума от снапшота
Received UUID - идентификатор предка сабволума от btrfs send
Subvolume ID - уникальный идентификатор размещения в Btree
Generation - номер последней транзакций при последнем обновлении
Gen at creation - номер транзакции на момент создания сабволума
Parent ID - идентификатор сабволума, в который вложен текущий
Top level ID - идентично Parent ID
Flags - возможен флаг readonly
Snapshot(s) - список снапшотов, произвденных от этого сабволума

Получение текущего Subvolume ID:
sudo btrfs subvolume get-default /home

Изменение Subvolume ID:
btrfs subvolume set-default 5 /home


Снапшот посути - сабволум с расширенными свойствами
Основное отличие снапшота - наличие Parent UUID и Received UUID
У сабволума эти поля всегда пустые


Параметр только чтения -r управляем:
sudo btrfs subvolume snapshot -r /home /home/.bak/home-$(date +%Y%m%d)
Create a readonly snapshot of '/home' in '/home/.bak/home-20201204'

btrfs property get /home/.bak/home-20201204 ro
ro=true

sudo btrfs property set /home/.bak/home-20201204 ro false
sudo btrfs property set /home/.bak/home-20201204 ro true


Проверим изменения каталога, с которого сделан снапшот:
sudo btrfs subvolume show /home
...Вывод обрезан...
Snapshot(s):
                                .bak/home-20201204


Информация Parent UUID в снапшоте указывает на UUID предка-сабволума:
sudo btrfs subvolume show /home/.bak/home-20201204


Клонирование файла без снапшота с ключом --reflink (механизм CoW):
cp -ax --reflink=always /home/peasant/testfile.txt /home/peasant/testfile.bak


Как воостановиться из снапшота

В BTRFS восстановление происходит путем замены сабволума на снапшот

Замена сабволума на снапшот самого снапшота:

sudo btrfs subvolume snapshot -r /home/.bak /home/.bak_snap

sudo mv /home/.bak /home/.bak_original

sudo btrfs subvolume snapshot /home/.bak_snap /home/.bak


Фрагментация BTRFS

Создании файла данные пишутся последовательно
Механизм COW (Copy-On-Write) любую модификацию помещает в свободный блок
Это вызывает повышенную фрагментацию

Команда дефрагментации:
sudo btrfs filesystem defragment -r /home

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект