Btrfs: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Строка 1: Строка 1:
{{stub}}
{{stub}}
=BTRFS на AltLinux, второй заход=
=BTRFS на ALT=


[https://www.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 Первая версия] показала свою работоспособность и достаточное удобство использования, однако все-таки обладала определенными недостатками. Поэтому было решено слегка переделать руководство.
Подтом (subvolume) не является блочным устройством, но в каждом томе btrfs создаётся один подтом верхнего уровня (subvolid=5), в этом подтоме могут создаваться другие подтома и снапшоты.
Важно: дальнейшее описание установки идет для legasy-режима, uefi режим не пробовал.
Подтома (подразделы, subvolumes) создаются ниже вершины дерева btrfs по мере необходимости, например. для / и /home создаются подтома с именами @ и @home. Это означает, что для монтирования подтомов необходимы определенные параметры вместо корня системы btrfs по умолчанию:
* подтом @ монтируется в / с помощью опции subvol=@
* подтом @home (если он используется) монтируется с помощью параметра монтирования subvol=@home


==Установка AltLinux на btrfs==
{{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]]

Версия от 14:08, 11 января 2022

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

BTRFS на ALT

Подтом (subvolume) не является блочным устройством, но в каждом томе btrfs создаётся один подтом верхнего уровня (subvolid=5), в этом подтоме могут создаваться другие подтома и снапшоты. Подтома (подразделы, subvolumes) создаются ниже вершины дерева btrfs по мере необходимости, например. для / и /home создаются подтома с именами @ и @home. Это означает, что для монтирования подтомов необходимы определенные параметры вместо корня системы btrfs по умолчанию:

  • подтом @ монтируется в / с помощью опции subvol=@
  • подтом @home (если он используется) монтируется с помощью параметра монтирования subvol=@home
Внимание! Дальнейшее описание представлено для legasy-режима.


В данной статье использовался 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. Для этого:

  1. Перейти в /mnt и создать каталог /mnt/alt2
    # cd /mnt 
    # mkdir /mnt/alt2
    
  2. Проверить расположение системы и параметры монтирования:
    # mount |grep alt
    /dev/sda2 on /mnt/alt type btrfs (rw,relatime,space_cache=v2,subvolid=5,subvol=/)
    
  3. Примонтировать btrfs раздел с опцией subvol=@:
    # mount /dev/sda2 alt2 -o subvol=@
    
  4. Примонтировать временные интерфейсные файловые системы в /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.
    
  5. Сделать chroot в /mnt/alt2:
    # chroot alt2
    
  6. Внести изменения в /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
    
  7. Обновить загрузчик:
    # 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
    
  8. Установить загрузчик в /dev/sda (т.к. только обновления загрузчика недостаточно):
    # grub-install /dev/sda
    
  9. Выйти из chroot:
    # exit
    
  10. Перезагрузить систему.

Создание снимков

Снимки/snapshots удобно делать и использовать в программе с графическим интерфейсом Timeshift.

См. также Первая версия