В одном из ответов на SO (я забыл, какой именно) я видел предложение создать массив RAID-1, состоящий из RAM-диска и физического раздела. Добавив физический раздел с --write-mostly
и позволяя --write-behind
система должна мгновенно считывать все данные с RAM-диска, но при этом сохранять все данные в физическом разделе, чтобы данные были сохранены и RAID-массив можно было снова собрать после перезагрузки.
Разумна ли такая установка? Под разумным я подразумеваю, будет ли он работать лучше в каком-либо сценарии, чем использование SSD-диска или чем просто физический раздел и, возможно, настройка ядра в пользу дискового кеша (swappiness
и vfs_cache_pressure
)?
Если все, что вам нужно, это ускорить чтение, возможно, стоит посмотреть на что-нибудь вроде Flashcache (https://github.com/facebook/flashcache/) в режиме записи или сквозной записи. Вместо того, чтобы указывать на SSD, вы можете указать устройство кеширования на RAM-диск, что ускорит чтение.
Это также позволит значительно сэкономить на расходах, поскольку вам не нужно будет покупать достаточно оперативной памяти для полной копии физического раздела, и вы не добавите лишнего износа на физический диск, поскольку raid1 отражает весь диск при загрузке.