Установка Arch Linux на Btrfs

Сделано на основе вот этого нашего вебинара https://vk.com/video-129498031_456239167

  1. Создаём файловую систему на разделе (при желании можно задать лэйбл ключом -L):

mkfs.btrfs -f /dev/sda1

2. Теперь монтируем:

mount /dev/sda1 /mnt

3. Затем создадим три подтома под корень, домашние каталоги пользователей и для хранения снимков:

btrfs subvolume create /mnt/sv_root

btrfs subvolume create /mnt/sv_home

btrfs subvolume create /mnt/sv_snapshots

4. И отмонтируем корень ФС:

umount /mnt

5. Далее, для того, чтобы монтировать подтом подобно обычному разделу диска, команде mount нужно указывать опцию subvol=PATH, где PATH -L): путь относительно корня ФС. Монтируем корень:

mount -o subvol=sv_root,compress=lzo,autodefrag /dev/sda1 /mnt

6. Создаём папку и монтируем в неё наш будущий каталог пользователей:

mkdir /mnt/home

mount -o subvol=sv_home,compress=lzo,autodefrag /dev/sda1 /mnt/home

7. Создаём папку, где будут храниться снимки:

mkdir /mnt/snapshots

mount -o subvol=sv_snapshots,compress=lzo,autodefrag /dev/sda1 /mnt/snapshots

8. Дальше действуем по вики, т.е. выбираем зеркала и ставим базовую систему.

Cоздание и востановление снимков

Чтобы создать снимок:

sudo mount /dev/sda1 /mnt

Установка Arch Linux на Btrfs, image #1

sudo btrfs subvolume snapshot /mnt/sv_root/ /mnt/sv_snapshots/root_24-05-2018

Установка Arch Linux на Btrfs, image #2
Установка Arch Linux на Btrfs, image #3

sudo umount /mnt

Для востановления:

sudo mount /dev/sda1 /mnt

Переименовываем sv_root, например в sv_root_bad

sudo mv /mnt/sv_root /mnt/sv_root_bad

Перемещаем снимок root_24-05-2018 в папку /mnt и даем название mnt и даем название sv_root

sudo mv /mnt/sv_snapshots/root_24-05-2018 /mnt/sv_root

Также можем удалить sv_root_bad

sudo btrfs subvolume delete /mnt/sv_root_bad

sudo umount /mnt

==================================================================

Для удобства можно использовать готовые скрипты для резервных копий. Например вот эти https://vk.cc/88UqNy

Копируем скрипт №2

Даем имя файла snapshot_root.sh

Кидаем его в /usr/bin/snapshot_root.sh

Создаем cron задание для авто создания копий:

1) Устанавливаем редактор по умолчанию

export EDITOR=nano

2) Открываем конфигурационный файл в редакторе

crontab -e

3) Вписываем строку для ежедневных копий

20 01 * * * /usr/bin/snapshot_root.sh >> /var/log/snapshot_root.log 2>&1

4) Проверяем добавилось ли задание

crontab -l

==================================================================

Вступай в группу https://vk.com/arch4u
Подпишись на стримы по Линукс https://vk.cc/85eETm

3158 views·11 shares