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 ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.