Установка Arch Linux на Btrfs
Сделано на основе вот этого нашего вебинара https://vk.com/video-129498031_456239167
- Создаём файловую систему на разделе (при желании можно задать лэйбл ключом -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
sudo btrfs subvolume snapshot /mnt/sv_root/ /mnt/sv_snapshots/root_24-05-2018
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