Linux SSD как кеш жесткого диска

У меня установлена ​​серверная система Linux на SSD и HDD для пользовательских данных. Поскольку на SSD осталось место, я хочу использовать его в качестве кэша чтения для жесткого диска.

Глядя на возможности, я обнаружил:

  • DM-кеш: требуется много чтений, прежде чем кэширование показывает улучшения производительности в соответствии с https://www.redhat.com/en/blog/improving-read-performance-dm-cache. Я думаю, что в моем случае это не очень хорошая стратегия.

  • lvmcache: основывается на dm-кеше, и мне нужно поместить SSD и HDD в один LV. Я бы хотел, чтобы кэш был прозрачным, чтобы я мог легко вставить жесткий диск в другую систему, не прибегая к волшебству LVM.

  • Bcache: мне нужно отформатировать жесткий диск для Bcache. Не то, что я хочу.

  • Flashcache: звучит как то, что я хочу (просто включите его), но больше не поддерживается в соответствии с https://github.com/facebookarchive/flashcache.

  • EnhanceIO: построен на Flashcache, но не работает с 2015 года.

Есть ли что-то похожее на Flashcache или EnhanceIO, но все еще активно поддерживаемое?

2 ответа

Это достойный обзор блочных кэшей ядра Linux. Из них я рассматриваю только lvmcache и bcache: интегрирован в ядро ​​и задокументирован стабильными дистрибутивами.

Оба требуют формат для метаданных, который не будет легко избежать.

Перемещение дисков в другую систему относительно легко, если целевая система также поддерживает кэширование. Дистрибутивы с поддержкой LVM сканируют тома, если не автоматически, с помощью простой команды. Похоже на bcache.

В любом случае, монтируйте тома по UUID или метке файловой системы, абстрагируясь от нумерации устройств.

Процедуры тестирования для удаления кэша в плановых и незапланированных сценариях. Например, bcache в режиме отдельного сквозного доступа. Как только вы сможете восстановить только резервный диск без его кеша, вам больше не нужно возвращаться к сырому диску предварительного кэширования.

EnhanceIO по-прежнему поддерживается сообществом. Имеется ответвление от lanconnected, которое было исправлено для последних ядер, и пара других форков с последними коммитами примерно в то же время (апрель 2019 г.). Я использовал его с btrfs на Arch через dkms в течение пары лет и не заметил каких-либо серьезных проблем.

Я бы предложил изменить размер раздела и создать на нем систему или использовать USB-жесткий диск и развернуть его там временно?

Другие вопросы по тегам