Команда IT специалистов выполнит подготовку инфраструктуры для вашего бизнеса.
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов.
8(977)608-78-62 adm@nixm.ru

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

Установка и настройка системы Debian
Sunderland93

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

Сообщение 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
Аватара пользователя
ALEXX
Администратор
Администратор
Сообщения: 1350
Зарегистрирован: 21 дек 2014, 14:59
Откуда: Королёв
Контактная информация:

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

Сообщение ALEXX »

Я на Wiki почитал немного... Хотелось бы конкретики. Почему именно Btrfs? Чем она хороша? Примеры, недостатки?
Sunderland93

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

Сообщение Sunderland93 »

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

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

Сообщение Sunderland93 »

Ext4 можно легко сконвертировать в Btrfs, и при необходимости - вернуть всё как было.
Аватара пользователя
Oleg65
Местный говорун
Местный говорун
Сообщения: 859
Зарегистрирован: 18 янв 2015, 10:56
Откуда: г.Коломна Моск.обл.

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

Сообщение Oleg65 »

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

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

Сообщение 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. Думаю не без оснований. Но по лицензионным причинам, в ядро её не включают.
Аватара пользователя
Oleg65
Местный говорун
Местный говорун
Сообщения: 859
Зарегистрирован: 18 янв 2015, 10:56
Откуда: г.Коломна Моск.обл.

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

Сообщение Oleg65 »

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

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

Сообщение Sunderland93 »

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

P.S. данные можно потерять на любой ФС. Бэкапы никто не отменял. Но в случае с Btrfs, всё проще.
Аватара пользователя
shursh
Уважаемый участник
Уважаемый участник
Сообщения: 306
Зарегистрирован: 19 янв 2015, 09:51
Откуда: Беларусь, Брест

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

Сообщение shursh »

Прочитал всю ветку, и немного не понимаю - зачем эти эксперементы с ФС ?
Чем не устраивает, устанавливаемая по умолчанию ext4 ?
Изображение
Sunderland93

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

Сообщение Sunderland93 »

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

Вернуться в «Установка и обновление системы»