LINUX.ORG.RU

хочется странного: writeback кэш для разгрузки hdd в ноуте

 , , ,


1

2

Есть ноут, который в принципе работает довольно долго с дефолтными настройками

Но в нем диск wd, который засыпает каждые 8 секунд. wdidle3 / idle3-tools с ним уже не работают. А в нашем линуксе 10 секунд отложенная запись. Можно отключить энергосбережение (hdparm -B 254), но это лишние 1.6 Вт (в ноуте они реально лишние…)

Часто пишут на диск в $HOME несколько приложений. Не проблема перенести их каталоги на отдельную ФС

Хотелось бы, чтобы они писали в память, а изменения сбрасывались на диск сильно пореже, хотя бы раз в час. Как writeback кэш, но с очень большой задержкой. Или даже по явной команде. На возможную потерю данных плевать - эти данные не критичны и есть регулярные бекапы

Есть идеи?

★★★★★

Как вариант, перенеси каталоги программ в tmpfs и время от времени копируй данные на диск. Понятное дело, не вручную, можно простой скрипт сделать.

Ну, например:

mv ~/.mozilla ~/.mozilla.bak
cp -r ~/.mozilla.bak /tmp/.mozilla
ln -s /tmp/.mozilla ~/.mozilla

while true; do
  sleep 1800
  cp -r /tmp/.mozilla ~/.mozilla.bak
done
Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 2)

Драйвер fs все равно будет постоянно дергать диск, даже если приложения ничего не пишут. Не понятно, как с этим бороться.

Khnazile ★★★★★
()

замени ржавое железо на ssd. это же надо догадаться использовать механику на ноуте

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

Psd только для браузеров же? Я тут .mozilla чисто для примера взял, то же самое с любой программой можно сделать.

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

Psd только для браузеров же?

Хм, да, посмотрел сейчас, его заточили только для браузеров. Ранее был более общим.

zemidius ★
()

Тоже нужна такая штука.

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

Потом забил.

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

Есть брат psd. asd - anything sync daemon. Но у меня с ним были проблемы в виде постоянных реиндексов проектов в Intellij, когда asd натравил на .cache. Пришлось выключить

MadMax ★
()

Но в нем диск wd, который засыпает каждые 8 секунд. wdidle3 / idle3-tools с ним уже не работают. А в нашем линуксе 10 секунд отложенная запись. Можно отключить энергосбережение (hdparm -B 254), но это лишние 1.6 Вт (в ноуте они реально лишние…)

А EPC в нём, случайно, нет? smartctl --identify говорит что-нибудь про «Extended Power Conditions»?

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

Думал сделать посредническое блочное устройство с этим функционалом

Недавно появилось dm-writecache. Может то, но делать на ramdisk не стал бы.

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

Не надо так делать. Флаш кэшей достаточно сложная процедура поскольку должна быть соблюдена очередность записей метаданных и данных, иначе вы ФС потом не соберёте.

Если так хочется извращений - unionfs из «нормальной ФС» смонтированной с noatime и tmpfs + rsync. По крайней мере это не унесет персистентную ФС на тот свет.

Nastishka ★★★★★
()

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

Опасная затея. Это рано или поздно приведет к повреждению ФС.

Если есть возможность воткнуть хотя бы небольшой pcie ssd, то лучше использовать его в качестве lvmcache кэша.

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

Тебе чтоль dirty_expire_centisecs/dirty_writeback_centisecs нужно?

Не совсем (софт все равно пишет реже, где-то раз в минуту), но как запасной вариант можно попробовать

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

Ну есть же psd (profile sync daemon)

Вот это уже очень интересно :)

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

Драйвер fs все равно будет постоянно дергать диск

Откуда инфа? ИМХО, если метаданные не обновляются, то и диск дергать не за чем

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

Есть брат psd. asd - anything sync daemon

Спасибо, пригодится

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

Extended вроде нет

root@calypso:~# smartctl --identify /dev/sda | grep -i power
  78      3          1   Device initiated power management supported
  79      3          1   Device initiated power management enabled
  82      3          1   Power Management feature set supported
  85      3          1   Power Management feature set supported

Нищебродский wd blue с smr. Близнец покойного, который шёл вместе с ноутом

Model Family:     Western Digital Blue Mobile (SMR)
Device Model:     WDC WD10SPZX-08Z10
router ★★★★★
() автор топика
Ответ на: комментарий от anonymous

замени ржавое железо на ssd

Посмотрим. nvme есть, но для загрузки с него надо много гуглить

Плюс хотелось бы и hdd уметь готовить

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

Посмотрим. nvme есть, но для загрузки с него надо много гуглить

Что там гуглить то, переключиться в uefi и добавить efi-раздел.

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

unionfs из «нормальной ФС» смонтированной с noatime и tmpfs + rsync

Так, а вот это похоже то, что нужно. Гугл на «aufs commit» выдаёт много вкусного и в тему

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

Недавно появилось dm-writecache

Вроде бы у него и lvmcache немного другая задача. Не думаю, что получится настроить для моей. Но согласен, надо будет посмотреть внимательнее

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

Может путаешь. По тому что вижу: high_watermark p%, low_watermark p%, autocommit_blocks n, autocommit_time ms - эта и есть та штука. Последний lvmcache сейчас работает с обоими - с dm-cache и с dm-writecache, но т.к. второй новый, то он добавлен в ветку 2.03, а в gentoo стабильная 2.02 без него ещё, например. Да и не совсем готов ещё, типа Support extension of writecached volumes в последней версии, или man: writecache missed for --type. Но RedHat уже пишет в документации для восьмёрки.

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