LINUX.ORG.RU

Fedora 33 Test Week — Btrfs

 , ,


0

3

Проект Fedora анонсировал проведение «Test Week» (недели тестирования). Мероприятие продлится с 31 августа по 07 сентября 2020 года.

В рамках «Test Week» все желающие приглашаются протестировать следующий релиз Fedora 33 и отправить результаты разработчикам дистрибутива.

Для тестирования необходимо установить систему и выполнить несколько стандартных операций. Затем необходимо отчитаться о результатах через специальную форму.

Согласно wiki мероприятия, тестирование допускается проводить в виртуальной машине. Для тестирования доступны сборки архитектур x86 и aarch64.

Основной акцент предстоящей недели сделан на Btrfs. В Fedora 33 эта файловая система будет предлагаться установщиком по умолчанию. В предыдущих версиях Fedora по умолчанию предлагалась файловая система ext4.

В числе особенностей Btrfs по сравнению с ext4, стоит отметить следующие:

  • Copy-on-write. В случае с файловой системой ext4, новые данные записываются поверх старых. Btrfs позволяет записывать новые данные, оставляя старые данные в неприкосновенности. Благодаря этому появляется возможность восстановить систему или данные в случае сбоя.

  • Snapshots. Эта технология позволяет сделать “снимок” файловой системы для последующего отката изменений.

  • Subvolumes. Файловая система Btrfs может быть разбита на так называемые subvolumes (субтома).

  • Поддержка компрессии, что позволяет не только сжимать файлы, но так же снизить число обращений к диску.

Анонс:
https://fedoramagazine.org/contribute-at-the-fedora-test-week-for-Btrfs/

Русскоязычная поддержка: в Matrix-чате #russianfedora:matrix.org

>>> Подробности

Интересно,реально дождаться доведение до ума raid5/6 на этой фс?

gutaper ★★★★ ()
Ответ на: комментарий от Pinkbyte

Нужно примонтировать во временную директорию корень btrfs, так называемый «раздел» 5.

sudo mount /dev/sda* /временнаяДиректория

И далее уже использовать вышеперечисленные команды.

sudo btrfs filesystem usage /временнаяДиректория/названиеСубтома

Название субтома нужно указывать как в выводе btrfs subvolume List

cross_platform ()
Ответ на: комментарий от cross_platform
oas1 ~ # cat /etc/fstab | grep '/run'
/dev/mapper/animelover-btrfs            /run/btrfs                              btrfs                   noauto,subvol=/         0 0
oas1 ~ # mount /run/btrfs/
oas1 ~ # ls -la /run/btrfs/
итого 16
drwx------   1 root     root     128 авг 26 18:54 .
drwxr-xr-x  31 root     root    1200 авг 26 19:02 ..
drwx------   1 pinkbyte root      56 авг 26 17:37 backup
drwxr-xr-x   1 pinkbyte users     70 авг 26 16:27 cloud
drwxrwxr-x   1 root     portage 9652 авг 26 17:46 distfiles
drwxr-xr-x   1 root     root      34 авг 26 16:20 home
drwxr-xr-x   1 root     root    1638 авг 26 15:35 packages
drwxr-xr-x   1 root     root    3518 авг 26 17:39 portage
drwxrwxr-x   1 portage  portage    0 авг 26 14:02 portage_noram
drwxr-xr-x   1 root     root     192 авг 26 19:02 root
drwxrwxr-x+  1 pinkbyte users      0 авг 26 14:59 torrents

Вроде все как надо, да?

oas1 ~ # btrfs filesystem usage /run/btrfs
Overall:
    Device size:                 100.00GiB
    Device allocated:             72.52GiB
    Device unallocated:           27.48GiB
    Device missing:                  0.00B
    Used:                         70.04GiB
    Free (estimated):             28.23GiB      (min: 14.49GiB)
    Data ratio:                       1.00
    Metadata ratio:                   2.00
    Global reserve:              102.62MiB      (used: 0.00B)

Data,single: Size:69.00GiB, Used:68.25GiB (98.91%)
   /dev/mapper/animelover-btrfs   69.00GiB

Metadata,DUP: Size:1.75GiB, Used:913.72MiB (50.99%)
   /dev/mapper/animelover-btrfs    3.50GiB

System,DUP: Size:8.00MiB, Used:16.00KiB (0.20%)
   /dev/mapper/animelover-btrfs   16.00MiB

Unallocated:
   /dev/mapper/animelover-btrfs   27.48GiB
oas1 ~ # btrfs filesystem usage /run/btrfs/portage
Overall:
    Device size:                 100.00GiB
    Device allocated:             72.52GiB
    Device unallocated:           27.48GiB
    Device missing:                  0.00B
    Used:                         70.04GiB
    Free (estimated):             28.23GiB      (min: 14.49GiB)
    Data ratio:                       1.00
    Metadata ratio:                   2.00
    Global reserve:              102.62MiB      (used: 0.00B)

Data,single: Size:69.00GiB, Used:68.25GiB (98.91%)
   /dev/mapper/animelover-btrfs   69.00GiB

Metadata,DUP: Size:1.75GiB, Used:913.72MiB (50.99%)
   /dev/mapper/animelover-btrfs    3.50GiB

System,DUP: Size:8.00MiB, Used:16.00KiB (0.20%)
   /dev/mapper/animelover-btrfs   16.00MiB

Unallocated:
   /dev/mapper/animelover-btrfs   27.48GiB

Иии... опять неудача :-)

Pinkbyte ★★★★★ ()
Ответ на: комментарий от cross_platform

Эм... А разве это обязательное требование, что имя subvolume должно начинаться с @? На оф. wiki btrfs об этом ни слова

oas1 ~ # btrfs subvolume list /
ID 259 gen 2046 top level 5 path root
ID 289 gen 1885 top level 5 path portage
ID 296 gen 1677 top level 5 path distfiles
ID 297 gen 1677 top level 5 path packages
ID 298 gen 1350 top level 5 path portage_noram
ID 304 gen 1913 top level 5 path cloud
ID 332 gen 1434 top level 5 path torrents
ID 334 gen 1993 top level 5 path home
ID 353 gen 1969 top level 5 path backup

Попытка смонтировать том с subvolid=0 как предложено по ссылке выше выдает идентичную ФС:

oas1 ~ # mkdir /run/btrfs2
oas1 ~ # mount -o subvolid=0 /dev/mapper/animelover-btrfs /run/btrfs2
oas1 ~ # ls -la /run/btrfs
итого 16
drwx------   1 root     root     128 авг 26 18:54 .
drwxr-xr-x  32 root     root    1220 авг 26 22:20 ..
drwx------   1 pinkbyte root      56 авг 26 17:37 backup
drwxr-xr-x   1 pinkbyte users     70 авг 26 16:27 cloud
drwxrwxr-x   1 root     portage 9652 авг 26 17:46 distfiles
drwxr-xr-x   1 root     root      34 авг 26 16:20 home
drwxr-xr-x   1 root     root    1638 авг 26 15:35 packages
drwxr-xr-x   1 root     root    3518 авг 26 17:39 portage
drwxrwxr-x   1 portage  portage    0 авг 26 14:02 portage_noram
drwxr-xr-x   1 root     root     192 авг 26 19:02 root
drwxrwxr-x+  1 pinkbyte users      0 авг 26 14:59 torrents
oas1 ~ # ls -la /run/btrfs2
итого 16
drwx------   1 root     root     128 авг 26 18:54 .
drwxr-xr-x  32 root     root    1220 авг 26 22:20 ..
drwx------   1 pinkbyte root      56 авг 26 17:37 backup
drwxr-xr-x   1 pinkbyte users     70 авг 26 16:27 cloud
drwxrwxr-x   1 root     portage 9652 авг 26 17:46 distfiles
drwxr-xr-x   1 root     root      34 авг 26 16:20 home
drwxr-xr-x   1 root     root    1638 авг 26 15:35 packages
drwxr-xr-x   1 root     root    3518 авг 26 17:39 portage
drwxrwxr-x   1 portage  portage    0 авг 26 14:02 portage_noram
drwxr-xr-x   1 root     root     192 авг 26 19:02 root
drwxrwxr-x+  1 pinkbyte users      0 авг 26 14:59 torrents

oas1 ~ # mount | grep /run/btrfs
/dev/mapper/animelover-btrfs on /run/btrfs2 type btrfs (rw,relatime,space_cache,subvolid=5,subvol=/)
/dev/mapper/animelover-btrfs on /run/btrfs type btrfs (rw,relatime,space_cache,subvolid=5,subvol=/)

Как видим опции монтирования в результате - идентичны

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 3)
Ответ на: комментарий от Pinkbyte

Portage? Это Gentoo что ли? Ну, в этом случае проще поставить драйвер btrfs для windows 10 и смотреть через него, чем пытаться всё это провернуть в Gentoo.

cross_platform ()
Ответ на: комментарий от Vault_Boy

С разморзкой Вас, возьмите последнюю 7ку (7.8) хоть саму шапку, хоть кент, минимальный исо, там при разбивке диска в анаконде можно выбрать фс: ext4, xfs, btrfs.

mx__ ★★★★★ ()
Ответ на: комментарий от cross_platform

Эммм.... А ничего что подобные же вопросы как у меня люди задают, сидя на Fedora? :-)

Как видим с тех времен мало что поменялось

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte

Там по ссылке 2013. Ты бы ещё с прошлого века статьи про Fedora читал.

Но вообще из вашего разговора вообще неплохой exploratory test case получается для заявленного тестирования. Надо на актуальном образе F33 всё то же самое посмотреть и зарепортить.

alpha ★★★★★ ()
Ответ на: комментарий от alpha

Не, ну это разве что feature request, brtfs fi usage работает ровно так, как сказано в man - показывая размер всей ФС. Но учитывая что костыли люди пилят для такого примерно с того же 2013(Python-скрипт который я приводил выше датирован 2017, но там есть и более актуальная версия - люди допиливают, значит зачем-то оно им надо), фичреквест полезный :-)

Какой нибудь доп.ключик к btrfs subvolume list для указания размера...

Правда судя по-всему это потребует включенных квот, возможно поэтому оно и не запилено до сих пор - их же не все включают

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Pinkbyte

Открытое тестирование такие вещи тоже отлавливает.

Оно специально приглашает пользователей, чтобы те баги не столько в коде находили, но и в доках, и в подаче информации в целом.

Ман - это замечательно, но если этим неудобно пользоваться, или оно неинтуитивно - то это тоже баг, просто в UX. Он может быть меньшего приоритета и не блокирующий, но если 90% пользователей на тестовой неделе пожалуются на этот недостаток напрямую разработчику (а во время тестовой недели он как раз специально будет в чатике сидеть и слушать отзывы), то можно и приоритет поднять.

alpha ★★★★★ ()
Ответ на: комментарий от cross_platform

Ну и что за хрень городишь, использую ext4 где-то 4-6 лет, за это время приходилось сотни раз аварийно выключать комп, ни одного байта данных не потерял. Постоянно работаю с текстами, торрентами, программами с авто-сохранением. Ни одного раза не было проблем. У меня ещё батарейка CMOS в БИОС успела сесть и постоянно ext4 ругается на запись в будущем типа 2064 год. Он это исправляет и продолжает функционировать как ни в чём не бывало. Не городи чушь. А вот с btrfs твоей намного больше проблем гуглится. Если в дистры не добавили - значит она на стадии разработки.

anonymous ()
Ответ на: комментарий от cross_platform

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

anonymous ()
Ответ на: комментарий от Pinkbyte

Правда судя по-всему это потребует включенных квот, возможно поэтому оно и не запилено до сих пор - их же не все включают

Заявлено что все фичи включенные по умолчанию в асптриме будут включены в Fedora.

alpha ★★★★★ ()
Ответ на: комментарий от cross_platform

И вы там наверное пользуетесь древним ядром. Актуальное ядро уже 5.8.4.

anonymous ()
Ответ на: комментарий от anonymous

В том комментарии, на который вы отвечаете, говорится про данные важные для работоспособности системы. Вы же пишите про какие-то торренты и тексты. С каких пор торренты с текстами стали важны для работоспособности системы?

cross_platform ()
Ответ на: комментарий от cross_platform

В том комментарии вы писали якобы что при отрубе электричества у меня с ext4 не загрузится комп, что есть полная хрень Ну или учитесь изъясняться по-нормальному

anonymous ()
Ответ на: комментарий от Pinkbyte

используйте btrfsck –repair на свой страх и риск! и без бэкапа даже не начинайте!

У меня последний раз, когда я использовал btrfs check --repair, съел данные.

Вообще непонятно, что делать, когда оно превращается в тыкву.

commagray ★★★★★ ()
Ответ на: комментарий от Vsevolod-linuxoid

А толку? cp из coreutils же до сих пор reflink по умолчанию не использует,

Как раз недавно перешли на reflink=auto

Midael ★★★★★ ()
Ответ на: комментарий от cross_platform

Какие блин обновления? Ядро весить несколько мегабайт, вместе с системмап 13,1 мегабайт. Что там блин надо кроме копирования? У тебя мозг вообще был включен когда ты глядел на монитор?

anonymous ()
Ответ на: комментарий от anonymous

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

cross_platform ()
Ответ на: комментарий от anonymous

А у тебя мозг включен? Далеко не у всех обновление системы заключается в обновлении ядра, есть еще, например, внешние модули для виртуалбокса или невидия драйверов, создание initramfs тоже не мгновенное, при обновлении элементов DE, если половина не обновится, то зайти в графическое окружение может и не получится

anonymous ()

Btrfs позволяет записывать новые данные, оставляя старые данные в неприкосновенности.

Я правильно понимаю, что если я 100 раз скомпилю прогу, у которой исполняемый файл занимает, скажем, 30MB, то реально на диске будет занято 3GB?

anonymous ()

lol, всё так и катят эту поделку на квадратных колёсах

anonymous ()
Ответ на: комментарий от anonymous

Нет. Старые данные актуальны пока не завершилась запись новых. Это нужно, чтобы в случае чего вернуться к старым данным, если запись новых была прервана.

cross_platform ()
Ответ на: комментарий от eternal_sorrow

вот только полноценных инструментов для восстановления после сбоя до сих пор нет

btrfs restore спасёт всех, а с небольшим курением дампов — даже в тех случаях, когда корневому дереву совсем капец.

Инструментов для пересборки метаданных in-place, таки да, нет.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от cross_platform

Пока в Vim идет редакция файла изменения проводятся во временном файле. Sed делает свое дело слишком быстро, чтобы париться по поводу отключения электричества. Если уж я напортачу в файлах, то это будет только неправильная установка проприетарных драйверов от амд, которые приводят к тому, что система падает при попытке запуститься. Но и тут есть выход, потому как можно загрузиться в аварийном режиме, смонтировать нужное и снести к чертям этот драйвер. В нормальных дистрибутивах нет таких проблем. Если граб не обновится, то и новое ядро свежеустановленное просто не будет видно, а значит легко запустится имеющееся. В Void есть обязательная ветка ядер, которая ни при каких условиях не сносится. Хватит выдумывать явный бред.

anonymous ()
Ответ на: комментарий от Vsevolod-linuxoid

Ошибся, они сделали в мастере в июне, но в релиз еще не попало

http://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=25725f9d41735d176d7...

В федоре стало быть патчем, пока новый релиз не отрезали: https://src.fedoraproject.org/rpms/coreutils/c/5d08d14b

Midael ★★★★★ ()
Последнее исправление: Midael (всего исправлений: 1)
Ответ на: комментарий от anonymous

у ext4 же атомарная запись - либо записалось, либо нет

Это как с кирпичом на голову? «50 на 50, либо упадёт, либо нет» :)

ext4 по умолчанию не журналирует данные. А не по умолчанию всё равно никто так не делает, потому что пропускная способность диска падает ровно вдвое (а IOPS — ещё сильнее, потому что местоположение журнала фиксированное).

intelfx ★★★★★ ()
Ответ на: комментарий от anonymous

Я вот без инитрамфс живу. Ненужно ее создание для работы системы. В сравнении с компиляцией время установки такое низкое, что плевать. Кроме того есть виртуальный терминал и заново установить можно в любом случае. К тому же DE это моветон. Есть же тонны WM, панелей, dmenu, rofi. Вот даже если далеко не ходить то хотя бы Sway ушатает любой DE.

anonymous ()
Ответ на: комментарий от anonymous

В нормальных дистрибутивах В Void

Ясно, понятно. Я вас услышал. Вы считаете Void нормальным дистрибутивом. Я вас понял. Удачи вам. Ага.

cross_platform ()
Ответ на: комментарий от Pinkbyte

с другой - несовсем, ибо сопоставление uuid/id subvolume в некоторых выхлопах делал наркоман

Даже не начинай :) btrfs sub list делали абсолютные наркоманы, я не стал с ним бороться и просто переписал с нуля на питоне.

TL;DR - subvolume в btrfs - просто по функционалу чуть прокачанная директория, не больше

Subvolume — это отдельное дерево хранения. Основной и единственный смысл подтома в том, что его можно атомарно снапшотить.

Аналогов zfs volume(блочных устройств со снапшотами) тоже не завезли

Это вам не соплярис, где на каждый чих нужна своя фича™. Создаёшь подтом, на нём образ, пихаешь его в loop, готово. Что ещё нужно?

intelfx ★★★★★ ()
Ответ на: комментарий от commagray

Вообще непонятно, что делать, когда оно превращается в тыкву.

На самом деле вполне понятно — btrfs restore во временный каталог.

intelfx ★★★★★ ()
Ответ на: комментарий от anonymous

Если в дистры не добавили - значит она на стадии разработки.

Ты новость видел? :)

intelfx ★★★★★ ()
Ответ на: комментарий от Vsevolod-linuxoid

Будет через патч по второй ссылке, что я давал выше

* Thu Jul 30 2020 Kamil Dudka <kdudka@redhat.com> - 8.32-11

- cp: default to --reflink=auto (#1861108)

(с) https://koji.fedoraproject.org/koji/buildinfo?buildID=1593889

А вот в F32 уже не будет

Midael ★★★★★ ()
Последнее исправление: Midael (всего исправлений: 2)
Ответ на: комментарий от anonymous

Вот из-за таких переводчиков русскую техническую документацию невозможно читать.

Тебя вообще не смутило что ты два разных термина «volume» и «partition» одним словом перевёл?

alpha ★★★★★ ()
Ответ на: комментарий от cross_platform

Ясно, понятно. Я вас услышал. Вы считаете Void нормальным дистрибутивом. Я вас понял. Удачи вам. Ага.

А Crux - это нормальный дистрибутив?

Vault_Boy ()
Ответ на: комментарий от Vault_Boy

Вы хотите определение нормального дистрибутива? Извольте. Для того, чтобы понять является ли Crux нормальным дистрибутивом, нужно открыть Linkedin\HeadHunter и вбить название Crux в строку поиска. Если результатов больше нуля, дистрибутив «нормальный». Если меньше нуля (да, в случае с Crux может быть и такое), то, очевидно, что нет.

cross_platform ()
Ответ на: комментарий от cross_platform

Вот это я считаю показатель, так показатель. Вот это да. HH и закрытая в России площадка. Обалдеть. А нормальный линуксоид - это кто? Есть определения? Догадываюсь, что есть.

Я не тот аноним выше, но Вы себя прямо таки раскрыли ответом.

Vault_Boy ()
Ответ на: комментарий от cross_platform

Естественно загрузится. Не надо ставить ССЗБ-опции монтирования типа barrier=0 и всё будет хорошо.

Reset ★★★★★ ()
Ответ на: комментарий от cross_platform

Чтобы сбоев не было вообще не надо использовать btrfs

Reset ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.