Btrfs: различия между версиями
Нет описания правки |
|||
Строка 1: | Строка 1: | ||
{{stub}} | {{stub}} | ||
=BTRFS на | =BTRFS на ALT= | ||
Подтом (subvolume) не является блочным устройством, но в каждом томе btrfs создаётся один подтом верхнего уровня (subvolid=5), в этом подтоме могут создаваться другие подтома и снапшоты. | |||
Подтома (подразделы, subvolumes) создаются ниже вершины дерева btrfs по мере необходимости, например. для / и /home создаются подтома с именами @ и @home. Это означает, что для монтирования подтомов необходимы определенные параметры вместо корня системы btrfs по умолчанию: | |||
* подтом @ монтируется в / с помощью опции subvol=@ | |||
* подтом @home (если он используется) монтируется с помощью параметра монтирования subvol=@home | |||
==Установка | {{Attention|Дальнейшее описание представлено для legasy-режима.}} | ||
В данной статье использовался iso-образ ALT 10.0 Workstation K beta 20211222. Т.к. для [[Timeshift#Режим_BTRFS|Timeshift]] система должна быть установлена на раздел BTRFS с разбивкой на подразделы @ и @home, то в данной статье рассмотрен именно этот вариант. | |||
==Установка ALT на btrfs== | |||
При установке системы, на этапе «Подготовка диска» воспользоваться профилем разбиения вручную, создать swap и корень системы (файловая система BtrFS): | |||
[[File:Install-system-btrfs.png|Разметка диска]] | |||
Далее установить систему как обычно. | |||
После установки, выключить систему и загрузиться в LiveCD. | |||
==Создание подтомов== | |||
Примонтировать систему в каталог {{path|/mnt/alt}}: | |||
<source lang="text" highlight="1-2"># mkdir /mnt/alt | |||
# mount /dev/sda2 /mnt/alt/</source> | |||
Перейти в каталог {{path|/mnt/alt}}: | |||
<source lang="text" highlight="1"># cd /mnt/alt/</source> | |||
Создать подтома (@ и @home) в системе btrfs на разделе /dev/sda2, который смонтирован в {{path|/mnt/alt}}: | |||
<source lang="text" highlight="1,3"># btrfs subvolume create ./@ | |||
Create subvolume './@' | |||
# btrfs subvolume create ./@home | |||
Create subvolume './@home'</source> | |||
Убедиться, что подтома созданы верно (вывести список подтомов): | |||
<source lang="text" highlight="1"># btrfs subvolume list ./ | |||
ID 256 gen 46 top level 5 path @ | |||
ID 257 gen 47 top level 5 path @home</source> | |||
Перенести каталоги с пользователями из каталога {{path|/home}} в {{path|/@home}}: | |||
<source lang="text" highlight="1"># mv ./home/* ./@home/</source> | |||
Перенести остальные каталоги (кроме {{path|/@home}} и {{path|/home}}) в подтом @: | |||
<source lang="text" highlight="1,2"># mv ./boot ./@/ | |||
# mv ./etc ./@/</source> | |||
и т.д. | |||
Каталог {{path|/home}} нужно не переносить, а скопировать в подтом @ (т.к. он будет точкой монтирования для подтома @home): | |||
<source lang="text" highlight="1"># cp -r ./home ./@/</source> | |||
В каталоге {{path|/mnt/alt}} должно остаться три каталога: | |||
<source lang="text" highlight="1"># ls ./ | |||
@ home @home</source> | |||
Далее необходимо внести изменения в файл {{path|/etc/fstab}} и обновить загрузчик Grub. Для этого: | |||
#Перейти в {{path|/mnt}} и создать каталог {{path|/mnt/alt2}} | |||
#:<source lang="text" highlight="1,2"># cd /mnt | |||
# mkdir /mnt/alt2</source> | |||
#Проверить расположение системы и параметры монтирования: | |||
#:<source lang="text" highlight="1"># mount |grep alt | |||
/dev/sda2 on /mnt/alt type btrfs (rw,relatime,space_cache=v2,subvolid=5,subvol=/)</source> | |||
#Примонтировать btrfs раздел с опцией subvol=@: | |||
#:<source lang="text" highlight="1"># mount /dev/sda2 alt2 -o subvol=@</source> | |||
#Примонтировать временные интерфейсные файловые системы в {{path|/mnt/alt2}} (из хостовой системы в гостевую): | |||
#:<source lang="text" highlight="1"># for i in dev sys proc run; do mount --bind -v /$i alt2/$i; done | |||
mount: /dev bound on /mnt/alt2/dev. | |||
mount: /sys bound on /mnt/alt2/sys. | |||
mount: /proc bound on /mnt/alt2/proc. | |||
mount: /run bound on /mnt/alt2/run.</source> | |||
#Сделать chroot в {{path|/mnt/alt2}}: | |||
#:<source lang="text" highlight="1"># chroot alt2</source> | |||
#Внести изменения в {{path|/etc/fstab}}: | |||
#:<source lang="text">UUID=9306bd96-eaee-41d9-a65d-6385c68357d2 / btrfs relatime,nofail,subvol=@ 1 1 | |||
UUID=9306bd96-eaee-41d9-a65d-6385c68357d2 /home btrfs relatime,nofail,subvol=@home 1 1 | |||
UUID=14e23578-5cec-48cb-98e4-220e78138123 swap swap defaults</source> | |||
#Обновить загрузчик: | |||
#:<source lang="text" highlight="1"># update-grub | |||
Generating grub configuration file ... | |||
Found theme: /boot/grub/themes/branding-xalt-kworkstation/theme.txt | |||
Found background image: /boot/grub/themes/branding-xalt-kworkstation/grub.png | |||
Found linux image: /boot/vmlinuz-un-def | |||
skipping symlink: /boot/vmlinuz-un-def | |||
Found linux image: /boot/vmlinuz | |||
Found initrd image: /boot/initrd.img | |||
Found linux image: /boot/vmlinuz-5.14.21-un-def-alt1 | |||
Found initrd image: /boot/initrd-5.14.21-un-def-alt1.img | |||
Found memtest image: /boot/memtest-5.31b.bin | |||
done</source> | |||
#Установить загрузчик в /dev/sda (т.к. только обновления загрузчика недостаточно): | |||
#:<source lang="text" highlight="1"># grub-install /dev/sda</source> | |||
#Выйти из chroot: | |||
#:<source lang="text" highlight="1"># exit</source> | |||
#Перезагрузить систему. | |||
== Создание снимков == | |||
Снимки/snapshots удобно делать и использовать в программе с графическим интерфейсом [[Timeshift#Режим_BTRFS|Timeshift]]. | |||
См. также [https://.altlinux.org/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_AltLinux_%D0%BD%D0%B0_Btrfs Первая версия] | |||
[[Category:FileSystems]] | [[Category:FileSystems]] |
Версия от 17:08, 11 января 2022
BTRFS на ALT
Подтом (subvolume) не является блочным устройством, но в каждом томе btrfs создаётся один подтом верхнего уровня (subvolid=5), в этом подтоме могут создаваться другие подтома и снапшоты. Подтома (подразделы, subvolumes) создаются ниже вершины дерева btrfs по мере необходимости, например. для / и /home создаются подтома с именами @ и @home. Это означает, что для монтирования подтомов необходимы определенные параметры вместо корня системы btrfs по умолчанию:
- подтом @ монтируется в / с помощью опции subvol=@
- подтом @home (если он используется) монтируется с помощью параметра монтирования subvol=@home
В данной статье использовался iso-образ ALT 10.0 Workstation K beta 20211222. Т.к. для Timeshift система должна быть установлена на раздел BTRFS с разбивкой на подразделы @ и @home, то в данной статье рассмотрен именно этот вариант.
Установка ALT на btrfs
При установке системы, на этапе «Подготовка диска» воспользоваться профилем разбиения вручную, создать swap и корень системы (файловая система BtrFS):
Далее установить систему как обычно.
После установки, выключить систему и загрузиться в LiveCD.
Создание подтомов
Примонтировать систему в каталог /mnt/alt:
# mkdir /mnt/alt
# mount /dev/sda2 /mnt/alt/
Перейти в каталог /mnt/alt:
# cd /mnt/alt/
Создать подтома (@ и @home) в системе btrfs на разделе /dev/sda2, который смонтирован в /mnt/alt:
# btrfs subvolume create ./@
Create subvolume './@'
# btrfs subvolume create ./@home
Create subvolume './@home'
Убедиться, что подтома созданы верно (вывести список подтомов):
# btrfs subvolume list ./
ID 256 gen 46 top level 5 path @
ID 257 gen 47 top level 5 path @home
Перенести каталоги с пользователями из каталога /home в /@home:
# mv ./home/* ./@home/
Перенести остальные каталоги (кроме /@home и /home) в подтом @:
# mv ./boot ./@/
# mv ./etc ./@/
и т.д. Каталог /home нужно не переносить, а скопировать в подтом @ (т.к. он будет точкой монтирования для подтома @home):
# cp -r ./home ./@/
В каталоге /mnt/alt должно остаться три каталога:
# ls ./
@ home @home
Далее необходимо внести изменения в файл /etc/fstab и обновить загрузчик Grub. Для этого:
- Перейти в /mnt и создать каталог /mnt/alt2
# cd /mnt # mkdir /mnt/alt2
- Проверить расположение системы и параметры монтирования:
# mount |grep alt /dev/sda2 on /mnt/alt type btrfs (rw,relatime,space_cache=v2,subvolid=5,subvol=/)
- Примонтировать btrfs раздел с опцией subvol=@:
# mount /dev/sda2 alt2 -o subvol=@
- Примонтировать временные интерфейсные файловые системы в /mnt/alt2 (из хостовой системы в гостевую):
# for i in dev sys proc run; do mount --bind -v /$i alt2/$i; done mount: /dev bound on /mnt/alt2/dev. mount: /sys bound on /mnt/alt2/sys. mount: /proc bound on /mnt/alt2/proc. mount: /run bound on /mnt/alt2/run.
- Сделать chroot в /mnt/alt2:
# chroot alt2
- Внести изменения в /etc/fstab:
UUID=9306bd96-eaee-41d9-a65d-6385c68357d2 / btrfs relatime,nofail,subvol=@ 1 1 UUID=9306bd96-eaee-41d9-a65d-6385c68357d2 /home btrfs relatime,nofail,subvol=@home 1 1 UUID=14e23578-5cec-48cb-98e4-220e78138123 swap swap defaults
- Обновить загрузчик:
# update-grub Generating grub configuration file ... Found theme: /boot/grub/themes/branding-xalt-kworkstation/theme.txt Found background image: /boot/grub/themes/branding-xalt-kworkstation/grub.png Found linux image: /boot/vmlinuz-un-def skipping symlink: /boot/vmlinuz-un-def Found linux image: /boot/vmlinuz Found initrd image: /boot/initrd.img Found linux image: /boot/vmlinuz-5.14.21-un-def-alt1 Found initrd image: /boot/initrd-5.14.21-un-def-alt1.img Found memtest image: /boot/memtest-5.31b.bin done
- Установить загрузчик в /dev/sda (т.к. только обновления загрузчика недостаточно):
# grub-install /dev/sda
- Выйти из chroot:
# exit
- Перезагрузить систему.
Создание снимков
Снимки/snapshots удобно делать и использовать в программе с графическим интерфейсом Timeshift.
См. также Первая версия