Сайт | Скачать | Видео | Wiki

Автор Тема: DwarFS - замена squashfs ?  (Прочитано 1945 раз)

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 31069
  • Репутация: +207/-0
  • Автор темы
    • PuppyRus-A
DwarFS - замена squashfs ?
« : 30 Ноябрь 2020, 14:44:25 »
https://www.opennet.ru/opennews/art.shtml?num=54166
https://aur.archlinux.org/packages/dwarfs/
Цитата
По скорости обращения к данным DwarFS примерно находится на том же уровне, что и SquashFS, но в разы опережает данную ФС по эффективности сжатия и скорости формирования образа.
Цитата
Создание образов осуществляется утилитой mkdwarfs, а монтирование утилитой dwarfs.
Т.е. чем создать и чем примонтировать есть
Т.к. из чего угодно примонтированного можно сделать слой AUFS - уже можно поэкспериментировать....
Бинарников не нашел
dwarfs-0.2.1_64-2008-sf02.pfs
 - скомпилил под прар2008. Для компиляции под арчем надо еще  :
Код
clang bison flex libevent sparsehash
Могу портировать под почти любой линукс.
Тестировал только на запуск
Есть желающие поэкспериментировать ? betcher ? Дядя Шурик?
Сам смогу присоединиться после пере-релиза прар2008
« Последнее редактирование: 02 Декабрь 2020, 17:47:39 от sfs »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 31069
  • Репутация: +207/-0
  • Автор темы
    • PuppyRus-A
Re: DwarFS - замена squashfs ?
« Ответ #1 : 30 Ноябрь 2020, 15:19:21 »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8146
  • Репутация: +183/-2
  • Старый чайник
Re: DwarFS - замена squashfs ?
« Ответ #2 : 30 Ноябрь 2020, 16:39:55 »
"DwarFS - замена squashfs" утверждение спорное. Сжатие по умолчанию ~1,5 раз больше, но в ~4 раза медленнее. Монтирование: "рядом" монтирует, а "по месту" получается нечитабельная точка монтирования.
Код
live@pra-roll:~$ ls -l /mnt/live/memory/images/dwarfs-0.2.1.dfs 
ls: невозможно получить доступ к '/mnt/live/memory/images/dwarfs-0.2.1.dfs': Отказано в доступе
. Основной минус - придётся тащить dwarfs в initrd со всеми зависимостями (~6Mb в оптимизированном варианте). Оно надо?
https://yadi.sk/d/ZsH48PQR_mA4SQ
« Последнее редактирование: 30 Ноябрь 2020, 16:50:01 от DdShurick »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150) Richy64
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150) Richy32
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400) Richy64

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 3851
  • Репутация: +120/-1
Re: DwarFS - замена squashfs ?
« Ответ #3 : 30 Ноябрь 2020, 16:44:29 »
Отказано в доступе
dfs ---> pfs

Или это намеренно так сделано?
« Последнее редактирование: 30 Ноябрь 2020, 16:48:38 от krasnyh »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8146
  • Репутация: +183/-2
  • Старый чайник
Re: DwarFS - замена squashfs ?
« Ответ #4 : 30 Ноябрь 2020, 16:51:03 »
Или это намеренно так сделано?
Да, модуль .dfs
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150) Richy64
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150) Richy32
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400) Richy64

Оффлайн imp

  • /dev/бубен
  • Ветеран
  • *****
  • Сообщений: 1310
  • Репутация: +40/-1
  • /dev/hands from /dev/ass
Re: DwarFS - замена squashfs ?
« Ответ #5 : 30 Ноябрь 2020, 16:53:24 »
Прикол ведь в чем? Больше сжимаешь - медленнее грузится. А насчет работы со слоями еще не показала себя эта самая dfs.
Тем более, требуются какие-то дополнительные либы. Не удивлюсь, если половина перла. Пока лучший вариант - понаблюдать. Имхо
« Последнее редактирование: 30 Ноябрь 2020, 16:58:08 от imp »
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 31069
  • Репутация: +207/-0
  • Автор темы
    • PuppyRus-A
Re: DwarFS - замена squashfs ?
« Ответ #6 : 30 Ноябрь 2020, 17:53:02 »
"DwarFS - замена squashfs" утверждение спорное.
Это был вопрос, а не утверждение
Сжатие по умолчанию ~1,5 раз больше, но в ~4 раза медленнее.
Такое было бы интересно
"рядом" монтирует, а "по месту" получается нечитабельная точка монтирования.
Не понял - можно подробнее...
Что делали - что получили
Основной минус - придётся тащить dwarfs в initrd со всеми зависимостями (~6Mb в оптимизированном варианте). Оно надо?
Если размер дистра уменьшится в 1,5 раза - оно того стоит (если получится сделать слоем aufs)
требуются какие-то дополнительные либы. Не удивлюсь, если половина перла
Самый жирный boost. Перла и питона нет
Пока лучший вариант - понаблюдать.
В большом линуксе уже и AUFS почти выкинули. Боюсь ничего для фругала не дождемся. Придется самим

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8146
  • Репутация: +183/-2
  • Старый чайник
Re: DwarFS - замена squashfs ?
« Ответ #7 : 30 Ноябрь 2020, 18:16:08 »
Не понял - можно подробнее...
Что делали - что получили
Создал точку монтирования mntpt рядом с dwarfs-0.2.1.dfs и успешно примонтировал командой "dwarfs dwarfs mntpt". Эти действия произведены на разделе sda3. А вот "куда надо" не примонтировалось. Создал точку монтирования /mnt/live/memory/images/dwarfs-0.2.1.dfs и примонтировал с полными путями. Получил битую точку монтирования.
В большом линуксе уже и AUFS почти выкинули.
А оно им и не нужно. Куда в full можно применить aufs? Никуда!
« Последнее редактирование: 30 Ноябрь 2020, 18:18:49 от DdShurick »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150) Richy64
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150) Richy32
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400) Richy64

Оффлайн imp

  • /dev/бубен
  • Ветеран
  • *****
  • Сообщений: 1310
  • Репутация: +40/-1
  • /dev/hands from /dev/ass
Re: DwarFS - замена squashfs ?
« Ответ #8 : 30 Ноябрь 2020, 19:07:17 »
Я не против попробовать, но насчет слоев так и не понял
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 3851
  • Репутация: +120/-1
Re: DwarFS - замена squashfs ?
« Ответ #9 : 30 Ноябрь 2020, 19:41:02 »
Сжатие по умолчанию ~1,5 раз больше, но в ~4 раза медленнее.
Действительно, оооочень долгий процесс. Сначала сканирование идет, добавляя время, потом сжатие тоже не быстрое.
Сравнивал mkpfs /mnt/sda3/funtoo и mkdwarfs -i /mnt/sda3/funtoo -o funtoo.dwarfs
Код
$ sudo du -sh /mnt/sda3/funtoo                     
4,2G /mnt/sda3/funtoo
$ du -sh funtoo.pfs
728M funtoo.pfs
$ du -sh funtoo.dwarfs
633M funtoo.dwarfs

Код
% time sudo mkpfs funtoo
/memory/bundles1/funtoo
Parallel mksquashfs: Using 4 processors
Creating 4.0 filesystem on funtoo.pfs, block size 524288.
[===================================================================-] 224495/224495 100%

Exportable Squashfs 4.0 filesystem, xz compressed, data block size 524288
compressed data, compressed metadata, compressed fragments,
compressed xattrs, compressed ids
duplicates are removed
Filesystem size 745055.72 Kbytes (727.59 Mbytes)
19.59% of uncompressed filesystem size (3803163.78 Kbytes)
Inode table size 1791558 bytes (1749.57 Kbytes)
20.66% of uncompressed inode table size (8672614 bytes)
Directory table size 2278644 bytes (2225.24 Kbytes)
38.95% of uncompressed directory table size (5850660 bytes)
Number of duplicate files found 45891
Number of inodes 265903
Number of files 234105
Number of fragments 5307
Number of symbolic links  10769
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 21029
Number of ids (unique uids + gids) 3
Number of uids 2
root (0)
unknown (250)
Number of gids 3
root (0)
tty (5)
unknown (250)
sudo mkpfs funtoo  2622,08s user 51,30s system 285% cpu 15:35,41 total

% time sudo mkdwarfs -i /mnt/sda3/funtoo -o funtoo.dwarfs 
18:17:03.638816 scanning /mnt/sda3/funtoo
18:17:09.759563 waiting for background scanners...
18:28:44.004610 assigning directory and link inodes...
18:28:44.185310 finding duplicate files...
18:28:44.841155 saved 666.1 MiB / 4.005 GiB in 46239/234454 duplicate files
18:28:44.841274 ordering 188215 inodes by similarity...
18:28:45.007094 188215 inodes ordered [165.7ms]
18:28:45.007251 assigning file inodes...
18:28:45.013495 building metadata...
18:28:45.013733 building blocks...
18:28:45.013753 saving names and links...
18:28:45.508377 updating name and link indices...
19:29:16.417595 waiting for block compression to finish...
19:29:16.709595 saving chunks...
19:29:16.735688 saving directories...
19:29:17.266574 waiting for compression to finish...
19:29:29.626922 compressed 4.005 GiB to 632.4 MiB (ratio=0.154196)
19:29:29.952810 filesystem created without errors [4346s]
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
waiting for block compression to finish
scanned/found: 21029/21029 dirs, 10769/10769 links, 234454/234454 files
original size: 4.005 GiB, dedupe: 666.1 MiB (46239 files), segment: 490.4 MiB
filesystem: 2.875 GiB in 185 blocks (275906 chunks, 188215/188215 inodes)
compressed filesystem: 185 blocks/632.4 MiB written
███████████████████████████████████████████████████████████████████████████████████▏100% |
sudo mkdwarfs -i /mnt/sda3/funtoo -o funtoo.dwarfs  2581,74s user 121,82s system 62% cpu 1:12:28,04 total


p.s. По умолчанию mkpfs использует xz, а mkdwarfs --- zstd -Xcompression-level 22.
В mkpfs параметры сжатия вроде -b 512K -comp xz -Xbcj x86, степень сжатия 6 (default).

И непонятно, умеет ли mkdwarfs в многопоточность как и mksquashfs.
« Последнее редактирование: 30 Ноябрь 2020, 21:11:35 от krasnyh »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 31069
  • Репутация: +207/-0
  • Автор темы
    • PuppyRus-A
Re: DwarFS - замена squashfs ?
« Ответ #10 : 02 Декабрь 2020, 09:30:36 »
mkdwarfs --- zstd -Xcompression-level 22.
Xz нельзя? Может, еще больше сожмется. Хорошо бы еще скорость чтения из сквоша и dwfs сравнить
умеет ли mkdwarfs в многопоточность
Посмотрите htop - если в процессе сжатия все ядра равномерно загружены = умеет
Нет - надо читать ман и писать фичреквесты автору

Размер после сжатия впечатляет. Скорость сжатия не критична - делается не часто
dwfs + aufs - надо как-то добивать тему...
krasnyh - спасибо +
« Последнее редактирование: 02 Декабрь 2020, 09:32:23 от sfs »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8146
  • Репутация: +183/-2
  • Старый чайник
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150) Richy64
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150) Richy32
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 31069
  • Репутация: +207/-0
  • Автор темы
    • PuppyRus-A
Re: DwarFS - замена squashfs ?
« Ответ #12 : 02 Декабрь 2020, 10:18:04 »
Куда в full можно применить aufs? Никуда!
initrd, docker

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8146
  • Репутация: +183/-2
  • Старый чайник
Re: DwarFS - замена squashfs ?
« Ответ #13 : 02 Декабрь 2020, 10:27:47 »
Есть идеи?
Какие могут быть идеи, если точка монтирования dwarfs получается битая.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150) Richy64
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150) Richy32
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 31069
  • Репутация: +207/-0
  • Автор темы
    • PuppyRus-A
Re: DwarFS - замена squashfs ?
« Ответ #14 : 02 Декабрь 2020, 10:36:40 »
Т.е. и к overlayfs тоже не прикрутить
Может под другой ОС попробовать? Например в прар2008 с моим большим модулем dwfs
Если будет положительный результат - подрежем зависимости