Страница 1 из 2

Установка Debian на подтом Btrfs

Добавлено: 03 апр 2015, 08:00
Sunderland93
Внимание: после недавних обновлений, система отказывается загружаться по данной инструкции. Решение простое - при разметке диска, вынести /boot на отдельный раздел с файловой системой ext2 (можно и ext4) и всё будет работать.
1) Установка Debian.
Ставим Debian как обычно. Никаких дополнительных настроек. Все настройки Btrfs будут выполнены после установки системы. Также не станем делать отдельный раздел для /home, так как мы будем создавать /home на подтоме Btrfs.
2) Настройка подтомов Btrfs.
Когда установка системы закончилась, загружаемся с заранее подготовленной флешки с SystemRescueCD (или любым другим). После этого монтируем файловые системы Debian:

Код: Выделить всё

# mkdir /mnt/rootfs/
# mount /dev/sda3 /mnt/rootfs/
Создаём подтом "@"

Код: Выделить всё

# btrfs subvol create /mnt/rootfs/@
Для проверки созданного подтома:

Код: Выделить всё

# btrfs subvolume list /mnt/rootfs/
ID 268 gen 4624 top level 5 path @
Затем переносим все данные на созданные подтома:

Код: Выделить всё

# cd /mnt/rootfs
# ls -1 | egrep -v '@|home' | while read d; do mv "$d" @/; done
Создаём подтом для "/home"

Код: Выделить всё

# btrfs subvol create /mnt/rootfs/@home
После этого переносим содержимое "/home" на созданный подтом и создаём точку монтирования:

Код: Выделить всё

# mv home/* @home/
# rmdir home
# mkdir @/home
Затем убедимся, что все данные находятся в нужных подтомах:

Код: Выделить всё

# ls -l /mnt/rootfs/
total 0
drwxr-xr-x 1 root root 204 Jul 16 02:26 @
drwxr-xr-x 1 root root 14 Jul 16 18:51 @home
и

Код: Выделить всё

# btrfs subvolume list /mnt/rootfs/
ID 268 gen 4624 top level 5 path @
ID 426 gen 5355 top level 5 path @home
Далее необходимо внести изменения в /etc/fstab (в /mnt/rootfs/@/etc/fstab) и добавить конфигурацию точки монтирования /home. Выглядит это так:

Код: Выделить всё

/dev/sda3  /home  btrfs  noatime,subvol=@home  0  0
Для того чтобы можно было загружаться в Debian, нужно временно установить подтом "@" по умолчанию:

Код: Выделить всё

# btrfs subvolume set-default 268 /mnt/rootfs/
268 это ID @ , смотрите список подтомов выше.
Теперь пришло время для перезагрузки обратно в Debian.

3) Настройка GRUB 2.
Теперь нужно изменить подтом по умолчанию обратно на том верхнего уровня. В противном случае, настройки GRUB слетят при следующем обновлении (update-grub). Подтом верхнего уровня всегда имеет ID 5. Сначала надо смонтировать его:

Код: Выделить всё

# mkdir /mnt/rootfs/
# mount -o subvolid=5 /dev/sda3 /mnt/rootfs/
Теперь можно изменить подтом по умолчанию:

Код: Выделить всё

# btrfs subvolume set-default 5 /mnt/rootfs/
Готово, можно обновить конфигурацию GRUB. “update-grub” корректно обнаруживает, что система использует подтом "@" и соответственно обновляет /boot/grub/grub.cfg. Вот почему нельзя продолжать использовать подтом "@" по умолчанию (c ID 268), а не том верхнего уровня. "/boot/grub/grub.cfg" имел бы конфигурацию "linux /@/boot/vmlinuz", но нет другого подтома "@" в подтоме "@", и таким образом путь будет неверным.
Обновляем конфигурацию GRUB:

Код: Выделить всё

# update-grub
Убедимся что /boot/grub/grub.cfg обновился:

Код: Выделить всё

# grep '/@/' /boot/grub/grub.cfg
if loadfont /@/usr/share/grub/unicode.pf2 ; then
  set locale_dir=($root)/@/boot/grub/locale
if background_image /@/usr/share/images/desktop-base/joy-grub.png; then
        linux   /@/boot/vmlinuz-3.9-1-amd64 root=UUID=4577942d-0841-42e9-a2f3-3d04b91ff2d5 ro rootflags=subvol=@  i915.i915_enable_rc6=1 i915.lvds_downclock=1 pcie_aspm=force cgroup_enable=memory quiet
        initrd  /@/boot/initrd.img-3.9-1-amd64
        linux   /@/boot/vmlinuz-3.9-1-amd64 root=UUID=4577942d-0841-42e9-a2f3-3d04b91ff2d5 ro single rootflags=subvol=@ 
        initrd  /@/boot/initrd.img-3.9-1-amd64
Теперь нужно переустановить GRUB с измененной конфигурацией, в противном случае он не сможет найти необходимые файлы на новых местах:

Код: Выделить всё

# grub-install /dev/sda
4) Последний штрих.
Добавим в /etc/fstab опцию монтирования "subvol=@" к "/"

Код: Выделить всё

UUID=4577942d-0841-42e9-a2f3-3d04b91ff2d5  /  btrfs noatime,subvol=@,compress=lzo  0  0
Перезагрузиться и готово.

5) Снапшоты и откаты системы.
Делать снимки состояния (снапшоты) и откатываться на них легко:

Код: Выделить всё

# mount /dev/sda3 /mnt/rootfs/
# cd /mnt/rootfs/
# btrfs subvolume snapshot @ @_snapshot
Если надо загрузиться с "@_snapshot" вместо "@" нужно просто переименовать подтома:

Код: Выделить всё

# cd /mnt/rootfs/
# mv @ @_old
# mv @_snapshot @
Перезагрузка, и используется вновь созданный подтом (снапшот). Если @_old не нужен, его можно просто удалить:

Код: Выделить всё

# mount /dev/sda3 /mnt/rootfs/
# cd /mnt/rootfs/
# btrfs subvolume delete @_old
Источник http://blog.kourim.net/installing-debia ... -subvolume

Re: Установка Debian на подтом Btrfs

Добавлено: 03 апр 2015, 12:08
ALEXX
Я на Wiki почитал немного... Хотелось бы конкретики. Почему именно Btrfs? Чем она хороша? Примеры, недостатки?

Re: Установка Debian на подтом Btrfs

Добавлено: 03 апр 2015, 14:20
Sunderland93
hotmax писал(а):Я на Wiki почитал немного... Хотелось бы конкретики. Почему именно Btrfs? Чем она хороша? Примеры, недостатки?
Более производительна, позволяет легко присоединять тома и отдельные диски к общей иерархии (как в LVM), имеет систему снимков состояния (снапшотов), разделы являются подтомами (subvolumes), которые отображаются как директории. Данные занимают ощутимо меньше места, поддерживается сжатие. Лучше подходит для SSD. Это пока всё, что я знаю. Сам недавно начал изучать.

Re: Установка Debian на подтом Btrfs

Добавлено: 03 апр 2015, 14:22
Sunderland93
Ext4 можно легко сконвертировать в Btrfs, и при необходимости - вернуть всё как было.

Re: Установка Debian на подтом Btrfs

Добавлено: 03 апр 2015, 17:11
Oleg65
Снова вопрос: в чем ее преимущества перед Reiser? Или перед другими ФС? Только в том, что она когда-нибудь станет стабильной? Тесты нагугленные - все разные, есть кто за и есть кто против. В ОК Вы мне так ничем и не аргументировали.
Вот из Викепедии:
"Btrfs включена в основную ветвь ядра Linux начиная с версии 2.6.29-rc,[7] но остаётся экспериментальной и не готова для промышленного использования. В июне 2010 года разработчики не рекомендовали использовать данную ФС ни для чего кроме тестирования, так как, по словам одного из разработчиков, она «могла съесть ваши данные» (англ. may eat your data).[11] Проведённая ресурсом Phoronix оценка производительности показала, что Btrfs с включённым режимом хранения данных в сжатом виде иногда опережает по производительности ФС Ext4..."
В разделе Недостатки:
" При большом количестве перезаписей случайных фрагментов файлов возникает фрагментация (из-за copy-on-write)[20]"
Так в чем же ее прелесть?

Re: Установка Debian на подтом Btrfs

Добавлено: 03 апр 2015, 17:32
Sunderland93
Oleg65 писал(а):Снова вопрос: в чем ее преимущества перед Reiser? Или перед другими ФС? Только в том, что она когда-нибудь станет стабильной? Тесты нагугленные - все разные, есть кто за и есть кто против. В ОК Вы мне так ничем и не аргументировали.
Вот из Викепедии:
"Btrfs включена в основную ветвь ядра Linux начиная с версии 2.6.29-rc,[7] но остаётся экспериментальной и не готова для промышленного использования. В июне 2010 года разработчики не рекомендовали использовать данную ФС ни для чего кроме тестирования, так как, по словам одного из разработчиков, она «могла съесть ваши данные» (англ. may eat your data).[11] Проведённая ресурсом Phoronix оценка производительности показала, что Btrfs с включённым режимом хранения данных в сжатом виде иногда опережает по производительности ФС Ext4..."
В разделе Недостатки:
" При большом количестве перезаписей случайных фрагментов файлов возникает фрагментация (из-за copy-on-write)[20]"
Так в чем же ее прелесть?
Я не пользовался raiser4, и понятия не имею, но то что она практически не развивается сейчас (в отличии от Btrfs) вызывает только скептицизм. Я сравниваю Btrfs с Ext4, и вот тут всё далеко не в пользу второй. Да, ext4 обкатана и проверена временем, но основной разработчик Btrfs, который трудится в Oracle, считает её стабильной (ему виднее). Я тоже разные результаты и разные мнения встречал. У одних работает без сучка и задоринки, у других проблемы. Но положительных отзывов я видел больше. От себя могу добавить, что желательно пользоваться не слишком протухшими ядрами (минимум 3.16).

P.S. самой лучшей ФС очень многие считают ZFS. Думаю не без оснований. Но по лицензионным причинам, в ядро её не включают.

Re: Установка Debian на подтом Btrfs

Добавлено: 03 апр 2015, 18:11
Oleg65
Давайте по порядку: статьи 1 и 2 осторожно оптимистичны. Да, можно пользоваться, но страховаться надо. Если Вам не известно, то ReiserFS, ext, btrfs - являются журналируемыми ФС (отличаются способом журналирования) 3, 4. Выкладывая способ перехода на данную ФС - Вы не предупреждаете никого об опасности потери данных (что отличает ее от ext). Не приводите ее плюсов и минусов. Новичек увидев подобный пост будет введен в заблуждение, и, если у него упадет ФС - будет винить не ее, а конкретную ОС (отсюда и меряние дистрами только увеличится) и помочь поднять ее ему - будет очень сложно. Пожалуйста, выкладывайте сообщения о передовых технологиях более полно. Даже может быть надо на форум какую-то ветку "Эксперимент".

Re: Установка Debian на подтом Btrfs

Добавлено: 03 апр 2015, 18:28
Sunderland93
Oleg65 писал(а):Давайте по порядку: статьи 1 и 2 осторожно оптимистичны. Да, можно пользоваться, но страховаться надо. Если Вам не известно, то ReiserFS, ext, btrfs - являются журналируемыми ФС (отличаются способом журналирования) 3, 4. Выкладывая способ перехода на данную ФС - Вы не предупреждаете никого об опасности потери данных (что отличает ее от ext). Не приводите ее плюсов и минусов. Новичек увидев подобный пост будет введен в заблуждение, и, если у него упадет ФС - будет винить не ее, а конкретную ОС (отсюда и меряние дистрами только увеличится) и помочь поднять ее ему - будет очень сложно. Пожалуйста, выкладывайте сообщения о передовых технологиях более полно. Даже может быть надо на форум какую-то ветку "Эксперимент".
Btrfs журналируемая. Не все статьи пишутся для новичков. Новичку вообще не следует лезть в это дело. Раз по умолчанию предлагается Ext4 - то всё. Сейчас немного освобожусь и напишу статью о Btrfs уже ориентируясь на новичков.

P.S. данные можно потерять на любой ФС. Бэкапы никто не отменял. Но в случае с Btrfs, всё проще.

Re: Установка Debian на подтом Btrfs

Добавлено: 03 апр 2015, 22:33
shursh
Прочитал всю ветку, и немного не понимаю - зачем эти эксперементы с ФС ?
Чем не устраивает, устанавливаемая по умолчанию ext4 ?

Re: Установка Debian на подтом Btrfs

Добавлено: 04 апр 2015, 07:15
Sunderland93
shursh писал(а):Прочитал всю ветку, и немного не понимаю - зачем эти эксперементы с ФС ?
Чем не устраивает, устанавливаемая по умолчанию ext4 ?
Морально устаревает (Ред Хат её выкинул уже из дефолта, как и SUSE), более медленная, чем Btrfs, для SSD необходима дополнительная настройка (для Btrfs достаточно опции -o ssd), нет штатной возможности отката, нет сжатия данных.