Як створити знімки за допомогою BtrFS на Linux

Хочете створити знімки даних на своєму ПК з Linux на випадок, якщо щось буде видалено? За допомогою файлової системи BtrFS ви можете. Перш ніж ви зможете створити знімок BtrFS, ви повинні мати блочний пристрій у Linux, який використовує файлову систему BtrFS. Якщо ви хочете перетворити наявний диск у диск BtrFS для інших даних, дотримуйтесь інструкцій нижче. Хочете замість цього використовувати BtrFS як кореневу файлову систему? Обов’язково виберіть «користувацьку інсталяцію» під час процесу встановлення та виберіть BtrFS як файлову систему.

Окрім блочного пристрою з відформатованою для нього файловою системою BtrFS, користувач також повинен встановити файл btrfs-progs пакет.

Примітка: вам може знадобитися запустити команду lsblk, щоб визначити, який блоковий пристрій відформатувати.

BtrFS на Linux

Щоб відформатувати диск, спочатку створіть резервну копію всіх даних на ньому, а потім відкрийте термінал. У терміналі отримати root за допомогою: sudo -s. Маючи root-доступ, скористайтеся командою mkfs, щоб створити нову файлову систему на пристрої. У цьому прикладі ми будемо використовувати /dev/sdd1

mkfs.btrfs -f /dev/sdd1

Вирішення проблем

Диск не працює після форматування в BtrFS? Можливо, вам знадобиться створити нову таблицю розділів. Ось як це зробити:

parted /dev/sdd
mklabel gpt
mkpart primary btrfs 1MiB 100%

Вийдіть із розділеного інструменту за допомогою:

quit

Потім повторно запустіть команду форматування.

mkfs.btrfs -f /dev/sdd1

Створюйте знімки за допомогою BtrFS

Перш ніж робити знімки, вам потрібно буде зробити кілька підтомів. Основною файловою системою Linux є BtrFS? Пропустіть цей крок і перейдіть безпосередньо до налаштування підтомів. Дотримуйтесь цієї частини процесу, лише якщо ви використовуєте вторинний диск із файловою системою BtrFS, вам потрібно його змонтувати. У цьому прикладі жорсткий диск буде /dev/sdd.

  Як виконати завдання, коли новий файл додається до каталогу в Linux

sudo -s 
mkdir /btrfs
mount -t btrfs /dev/sdd1 /btrfs

Основна папка BtrFS створена, змонтована та готова до роботи. Настав час створити підтом. Що таке підтом? Це спеціальна функція, яка постачається з файловою системою BtrFS, яка дозволяє створеним томам працювати подібно до блочного пристрою (наприклад, /dev/sda1 тощо).

Реальність така, що вони насправді не блокують пристрої. Натомість це вишукані каталоги, які використовують переваги технології, яка називається «просторами імен». Не надто складно, BtrFS використовує переваги цієї технології простору імен, щоб дозволити користувачам створювати купу індивідуальних підтомів, які можна монтувати, які діють і поводяться так само, як блокові пристрої.

Щоб створити власний підтом, виконайте такі дії. У цьому прикладі ми покажемо базову структуру підтому, яка починається в головній папці /btrfs. Майте на увазі, що ви можете створювати власні томи де завгодно, якщо це зроблено у файловій системі BtrFS.

  Як встановити Sublime Merge на Linux

Спочатку наберіть оболонку кореня. Ці команди можна виконувати з привілеями sudo, але враховуючи, що взаємодія з файловою системою (як root) може бути стомлюючою, краще відразу отримати root. Використовуйте sudo -s або увійдіть до root за допомогою su. Потім виконайте:

btrfs subvolume create /btrfs/vol_a

Перша команда створює підтом BtrFS у /mnt/btrfs на нашому прикладі диска /dev/sdd1. Якщо ви хочете, ви можете зупинитися тут і використовувати його як том для збереження всіх важливих даних. Крім того, ви можете створювати допоміжні томи (скільки забажаєте). Щоб створити том у тому, ви повинні зробити:

btrfs subvolume create /btrfs/vol_a/vol_b

Щоб створити знімок, спочатку перемістіть/скопіюйте всі важливі дані в підтом. Наприклад:

cp -R ~/Documents /btrfs/vol_a/

потім скористайтеся файловою системою, щоб зробити знімок.

btrfs subvolume snapshot /btrfs/vol_a/ /btrfs/vol_a/backup_1

Примітка: замініть «backup_1» на те, що ви хочете назвати своїм знімком. Позначте їх чітко, щоб ви могли відсортувати їх пізніше.

Відновіть будь-який знімок за допомогою: mv /btrfs/vol_a/ /mnt/btrfs/vol_a/backup_1

Монтаж підоб’ємів як блочних пристроїв

Однією з чудових переваг підтому є можливість монтувати їх усі окремо, як незалежні пристрої. Для цього спочатку вкажіть усі відомі томи за допомогою команди btrfs.

btrfs subvolume list /btrfs

Перегляньте список і знайдіть ідентифікаційний номер підтому, а потім змонтуйте його за допомогою команди mount. Потім відключіть його, як тільки ви отримаєте ідентифікатор.

mount -o subvolid=XXX /dev/sdX /btrfs

Замініть XXX на ідентифікатор, а /dev/sdX на диск, на якому знаходиться том для монтування. Тільки майте на увазі, що ви не можете підключити підтом до того самого розділу, що й розділ верхнього рівня. Замість цього підключіть до іншого відформатованого BtrFS розділу або диска. Наприклад:

mount -o subvolid=38 /dev/sdc1 /btrfs

Subvol 38 знаходиться на /dev/sdd1, але /dev/sdc1 також є BtrFS, тому туди можна монтувати знімки. Це не потрібно робити на окремих дисках. Замість цього ви можете змонтувати його до /dev/sdc2 тощо.

  4 найкращих дистрибутивів Linux для встановлення на Google Chromebook

Установіть підтому за замовчуванням

Встановлення підтому BtrFS за замовчуванням корисно, оскільки спрощує взаємодію з ним. Щоб встановити значення за замовчуванням, спочатку скористайтеся командою subvolume list, щоб знайти ідентифікатор. Візьміть ідентифікатор і підключіть його до команди set-default:

btrfs subvolume set-default XXX /btrfs

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

btrfs subvolume set-default 0 /btrfs

Видалити підтом

Якщо в будь-який момент ви захочете позбутися тома, ви можете видалити його за допомогою BtrFS. Будь ласка, не видаляйте підтом вручну з жорсткого диска за допомогою таких команд, як «rmdir» або «rm -rf». Краще використовувати інструменти файлової системи BtrFS.

Щоб видалити том, виконайте:

btrfs subvolume delete /btrfs/volume-name