Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: wiki/Btrfs  (Прочитано 96326 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #135 : 25 Января 2020, 00:33:54 »
Оно вон как непросто получается....
Решается как я выше указал созданием свапа в отдельном подтоме.
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: wiki/Btrfs
« Ответ #136 : 25 Января 2020, 00:51:00 »
Это то понятно (как решается), но вот поведение такое описать одной фразой (как это сделали разработчики) не сильно то опишешь....
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #137 : 25 Января 2020, 00:57:35 »
Sly_tom_cat,
Еще проблему нашел. У меня @ и @home монтируются с compress=lzo, почему-то и @swap монтируется с компрессией, хотя это в fstab не указано.

chattr -c ничего в принципе не дает, так как по умолчанию этого атрибута нигде нет, что не мешает сжатию.
Это не особая проблема при lzo, но все-таки.

Пользователь добавил сообщение 25 Января 2020, 01:06:35:
Разобрался. Разную компрессию подтомам присваивать нельзя. Но можно для определенного файла выключить. Вики поправил.
Там chattr -c ничего не делало.

Пользователь добавил сообщение 25 Января 2020, 01:09:38:
Блин что-то совсем затупил. Компрессия вообще не работает при NOCOW, так что chattr +C вполне достаточно.
« Последнее редактирование: 25 Января 2020, 01:09:38 от Pilot6 »
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: wiki/Btrfs
« Ответ #138 : 25 Января 2020, 01:12:29 »
Как это компрессию подтомам нельзя?
# btrfs pr get @
ro=false
compression=lzo

chattr +C (отключение CoW) по обещаниям разработчиков и так компрессию отключет.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #139 : 25 Января 2020, 01:24:30 »
Как это компрессию подтомам нельзя?
А вот так. Если на один поставил lzo, то и другие тоже будут так монтироваться. А вот на отдельные файлы и директории можно с помощью property set.

https://btrfs.wiki.kernel.org/index.php/Compression#Can_I_set_compression_per-subvolume.3F

Пишут, что надо ставить на директорию, куда монтируется подтом. А на сам подтом нельзя.
Кудряво всё как оказалось.
« Последнее редактирование: 25 Января 2020, 01:26:59 от Pilot6 »
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: wiki/Btrfs
« Ответ #140 : 25 Января 2020, 21:11:29 »
Странно что-то там написано...

Я то ставил через btrfs property set на корневой том (id=5) и после этого получал на все подтома что там будут созданы и на все что в них будет записано установленное свойство компрессии (на самом деле не факт, что он при этом сжато, но это отдельная тема).

Но я с разными компрессиями не мудрил, я только отключал свойство сжатия там где мне нужно было. А так у меня от корня и до последнего файла все отмечено как compression=lzo (кроме тех мест где я снимал).

Пользователь добавил сообщение 25 Января 2020, 21:21:44:
Вообще не понял той фразы...
в /mnt смонтирован корневой раздел btrfs (id=5):
/mnt# btrfs pr ge .
ro=false
compression=lzo
/mnt# btrfs pr ge @
ro=false
compression=lzo
/mnt# btrfs pr ge @home
ro=false
compression=lzo
/mnt# btrfs su cr test
Create subvolume './test'
/mnt# btrfs pr ge test/
ro=false
compression=lzo
/mnt# btrfs pr se test compression zlib
/mnt# btrfs pr ge test/
ro=false
compression=zlib
/mnt# touch test/test
/mnt# btrfs property get test/test
compression=zlib
« Последнее редактирование: 25 Января 2020, 21:21:44 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #141 : 25 Января 2020, 21:26:08 »
Sly_tom_cat,
Посмотри командой mount. Там все монтируется одинаково. А propety set действительно работает.

Пользователь добавил сообщение 25 Января 2020, 21:32:26:
Я попробовал монтировать один раздел с compress=lzo, а другой без этой опции или даже с compress=no, но везде пишет lzo.
« Последнее редактирование: 25 Января 2020, 21:32:26 от Pilot6 »
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: wiki/Btrfs
« Ответ #142 : 25 Января 2020, 21:42:15 »
У меня монтирование без опций компресси так что mount ничего про компрессию не говорит
mnt# mount | grep /dev/sda2
/dev/sda2 on / type btrfs (rw,noatime,ssd,space_cache,subvolid=348,subvol=/@)
/dev/sda2 on /home type btrfs (rw,noatime,ssd,space_cache,subvolid=347,subvol=/@home)
/dev/sda2 on /mnt type btrfs (rw,relatime,ssd,space_cache,subvolid=5,subvol=/)
Но вот с монтированием действительно какая-то шляпа:

<тут был листинг с ошибкой см. сообщение ниже>

Т.е. подтом zlib жмется, но каталог был с lzo и при монтировании в него он продолжил быть с lzo.

Но самое прикольно - каталог стоит со свойством сжатия lzo, а любой созданный в нем файл/каталог получает свойство компресси zlib :idiot2: :o

А если я у каталога снимаю свойство сжатия, то монтирование туда под-тома с zlib делает каталог c компрессией zlib.

Похоже на некотрый косяк со стороны mount....
« Последнее редактирование: 26 Января 2020, 02:23:33 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #143 : 25 Января 2020, 21:54:19 »
Похоже на некотрый косяк со стороны mount....
Не то чтобы косяк. Надо просто понять логику работы.
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: wiki/Btrfs
« Ответ #144 : 25 Января 2020, 23:14:23 »
Я так понимаю свойства каталога и под-тома как-бы конфликтуют, и там видимо есть какой-то приоритет - но он получается зависимым от начальных условий....

Так то все логично - если под-том с zlib то без разницы куда его монтировать (если только опциями монтирования не игратся со сжатием) он будет внутри себя работать с zlib, не смотря на то что стоит на каталоге куда он смонтирован.

Пользователь добавил сообщение 26 Января 2020, 02:20:33:
Вот беда - ошибся в опции suvol вместо subvol. Там у меня корень монтировался (id=5) c lzo.

Поправил - вот что получается:

До монтирования:
/mnt# btrfs pr get /swap
compression=lzo

После:
/mnt# mount /dev/sda2 -o subvol=test /swap
/mnt# btrfs pr get /swap
ro=false
compression=zlib

Файлы тоже с zlib создаются.

Так что все работает правильно, и не понятно, что они вообще там имели в виду, что мол нельзя по томам компрессию задавать. Все задается и работает предсказуемо: каталог наследует свойства под-тома.
« Последнее редактирование: 26 Января 2020, 02:26:34 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #145 : 26 Января 2020, 10:52:22 »
не понятно, что они вообще там имели в виду, что мол нельзя по томам компрессию задавать.
Это как раз понятно. При монтировании опцией compress нельзя.
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: wiki/Btrfs
« Ответ #146 : 26 Января 2020, 14:34:15 »
Ну, дело в том что опции монтирования и свойства под-томов - это параллельные (практически не связанные) механизмы для указания алгоритма сжатия.

ИМХО: опции монтирования это как топор, а параметры(с их наследованием) - скальпель.

Топор не хуже скальпеля и скальпель не хуже топора - они просто для разных задач.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн masterok

  • Активист
  • *
  • Сообщений: 332
    • Просмотр профиля
    • Форум "Рука допомоги"
Re: wiki/Btrfs
« Ответ #147 : 26 Января 2020, 23:34:50 »
А можно чуток подробнее про создание бекапов?
Я так понял, что если я сделал своп файл в корне, то бекап не работает? Я попоробовал через таймшифт, не создает точку востановления. Может я чтото не правильно делаю.
Что можно зделать в таком случае? Как делать бекап? Что вообще лучше зделать?
Переустановить систему с двумя разделами (ефи и пустой раздел в бтрфс на котором создать три подтома - /, хоум и свап)? Или както на лету изменить размер разделов и добавить том со свопом? Илиже бекапить через консоль с исключением файла свопа?

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: wiki/Btrfs
« Ответ #148 : 27 Января 2020, 00:17:55 »
masterok,
Ну я же все вроде объяснил. Наличие работающего свапа на подтоме не дает сделать с него снимок.

Никакую систему переустанавливать не надо. Надо просто свап убрать на отдельный подтом. Это занимает примерно минуту. Даже перезагружаться не надо. И изменять для этого размеры разделов тоже не нужно.

Если непонятно как это делается, то могу и разжевать. Это проще чем вы думаете.
« Последнее редактирование: 27 Января 2020, 00:21:17 от Pilot6 »
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12139
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: wiki/Btrfs
« Ответ #149 : 27 Января 2020, 00:40:30 »
Так выше описал уже (и в вики продублировал) сделать снимок раздела в котором смонтирован swap-файл нельзя - выдает странную ошибку.

Если нужно бекапить - то стоит сделать отдельный под-том и в нем разместить своп.

Если есть желание можно хомяк перенести в под-том на тот раздел где корень, потом убить раздел с где раньше был хомяк и раздвинуть раздел где корень и хомяк на освободившееся место. После этого растянуть саму файловую систему до размеров увеличевшегося раздела.

Прелесть BTRFS в том что все это можно сделать прямо из системы загруженной с этого диска.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

 

Страница сгенерирована за 0.019 секунд. Запросов: 21.