LINUX.ORG.RU
ФорумAdmin

В чём разница между cachefs и bcachefs?

 ,


0

1

# mount /srv/db/repos
монтируется через fstab
# mount -t tmpfs tmpts /var/db/repos
# mount | grep repos
repos on /srv/db/repos type 9p (rw,relatime,access=client,trans=virtio)
tmpfs on /var/db/repos type tmpfs (rw,relatime,inode64)

https://stackoverflow.com/questions/2193584/copy-folder-recursively-excluding-some-folders

rsync enables a set of options that are commonly used for archiving files, which means preserving as much of the original file’s metadata as possible.

The -a option is equivalent to specifying the following options individually:

-r: recursive, which means rsync will traverse subdirectories
-l: preserve symbolic links
-p: preserve permissions
-t: preserve timestamps
-g: preserve group ownership
-o: preserve owner ownership
-D: preserve device files and special files

By using -a, you’re telling rsync to preserve the file’s metadata, such as permissions, timestamps, and ownership, in addition to copying the file’s contents. This is useful when you want to create an exact replica of the original files, including their metadata.

# time rsync -a --exclude=.git /srv/db/repos/* /var/db/repos/

real 33m8,741s
user 0m18,758s
sys 2m15,623s

# du -b /var/db/repos/gentoo
193974760 /var/db/repos/gentoo

193 Mb = 0.2 Gb

https://en.wikipedia.org/wiki/CacheFS

«CacheFS is a family of software technologies designed to speed up distributed file system file access for networked computers.»

О, у меня как раз сетевая файловая система 9p.

«Project status seems to be stalled»

Ясно

The Linux CacheFS currently is designed to operate on Andrew File System and Network File System (NFS) filesystems.

Жаль, что про 9p тут ничего не говорится.
Не через NFS же теперь подключать?

★★★★

Последнее исправление: Shushundr (всего исправлений: 1)

Думаю, что между ними нет ничего общего кроме совпадения букв в названии.

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

И это плохо. А могли бы сделать общие библиотеки, чтобы код использовался повторно и был более проработанным.

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

А по-мне лучше каждый раз писать с нуля. Программа получается оптимальней. Библиотека неизбежно будет содержать в себе ненужный функционал и будет не оптимально приспособлена к конкретной задаче.

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

Ну где-то останавливаться, конечно, надо. Компилятор, ядро ОС с нуля переписывать в каждой программе будет накладно…

vbr ★★★★
()

В заголовке про Фому, а в теле про Ерёму.

Не надо использовать rsync поверх сетевой файловой системы. Надо использовать rsync на обоих компьютерах. И связываться они должны друг с другом. Либо по tcp, либо по ssh.

При использовании rsync поверх сетевой файловой системы rsync считает, что и источник и цель локальные, делает на них stat. А stat приводит к сетевому раундтрипу. Так как rsync однопоточный и использует синхронный stat, количество stat-о-в в секунду ограничено раундтрип таймом.

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

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

Выбери, ты bcachefs тестируешь или сетевые ФС. А ещё лучше, начни с tmpfs уже для замера, в ФС дело или нет, и не пудри нам мозги.

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

А ещё лучше, начни с tmpfs уже для замера

Ты стартовый пост прочитай. Там данные замера есть.

Зацитирую тебе, неумеющему читать:

real 33m8,741s

тридцать три минуты

emerge-то конечно после этого быстрее работает. И я теперь хочу решить задачу кеширования, чтобы оставался доступ на запись. и при этом быстро работал emerge

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

Там данные замера есть.

У меня аж клоуны кончились.

Чтобы сравнить rsync чего-то куда-то за 33 минуты с «Dependency resolution took 1011.12 s» есть только один метод: прийти к тебе домой, физически оттащить твои ручки от клавиатуры и померить самому, наконец. А я сегодня занят.

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

А чем тебе этот результат не нравится? практически 100% времени расчётов зависимостей занимает чтение через сетевой протокол. rsync это делает ровно вдвое дольше, чем emerge, потому что копирует он больше чем rsync читает.

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

emerge-то конечно после этого быстрее работает

ясен-красен, что не медленнее! вопрос в том, на три секунды или на порядок.

если на три секунды, то с ФС вообще возиться не надо.

если на порядок, то дальше надо сравнить 9p с virtiofs и отдельным block device на virtio. и только после этого, если block device их сделает, выбирать дисковую ФС.

а ты ведёшь себя, как половинка мясной нейросети: у тебя в голове ассоциации от созвучности без фильтрации, а у нас потом массаж лица.

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

надо сравнить 9p с virtiofs

не надо. Я уже писал, что если использовать virtiofs, то мир не обновляется (отдельные пакеты не устанавливаются). Поэтому virtiofs вообще не вариант.

отдельным block device на virtio

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

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

Чем тебе этот результат не нравится? Банан примерно вдвое длиннее апельсина, и там и там кожура. Банан естся ровно вдвое дольше апельсина, потому что в длину он больше, чем апельсин в ширину.

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

не надо. Я уже писал, что если использовать virtiofs, то мир не обновляется (отдельные пакеты не устанавливаются). Поэтому virtiofs вообще не вариант.

Трактор не вариант, я об него мизинец ушиб, только мотыга, только хардкор.

Чини это, ёть! Какое сравнение, да без virtiofs?

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

Ну а хрен ли ты нам мозги пудришь с bcachefs тогда? Выбирай сетевую, а не дисковую.

Потрясающий генератор слегка втемачных созвучий, смилуйся и начни думать.

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

Ну а хрен ли ты нам мозги пудришь с bcachefs тогда?

Так что мешает кешировать на чтение, а на запись сделать writethrough ?

Shushundr ★★★★
() автор топика
Ответ на: комментарий от t184256
# emerge -auvDN @world

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 253.13 s (backtrack: 20/20).

сильно помогло?

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

хрен ли ты нам мозги пудришь с bcachefs тогда?

В моём представлении она слоёная, как cachefs. И могла бы в качестве медленного слоя использовать сетевую файловую систему (клиентскую часть), а в качестве быстрого кеширующего использовать tmpfs.

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

В моём представлении она слоёная, как cachefs. И могла бы в качестве медленного слоя использовать сетевую файловую систему (клиентскую часть), а в качестве быстрого кеширующего использовать tmpfs.

Чини свое представление. Это дисковая ФС.

t184256 ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.