Как использовать SSD для кэширования, чтобы мои жесткие диски могли вращаться?

9

У меня есть файловый сервер с кучей дисков, работающих вместе в пуле BTRFS, и я хочу добавить SSD для кэширования. Я не в основном после ускорения вещей, но хочу поймать регулярные небольшие доступы, чтобы иметь возможность выключать жесткие диски большую часть времени не в интенсивном использовании (не запускать их 24/7 сэкономит энергию и должен сделать диски длятся дольше).

Насколько я знаю, в настоящее время в Linux реализованы два метода кэширования на SSD: dm-cache и bcache. До сих пор говорят, что dm-cache более эффективен, но разработка продолжается для обоих, и мне не нужно настраиваться на абсолютную максимальную эффективность.

Читая документацию bcache , я наткнулся на следующие варианты:

writeback_delay : когда грязные данные записываются в кэш и ранее не содержали их, ждет некоторое количество секунд перед началом обратной записи. По умолчанию 30.

writeback_percent : если ненулевой, bcache пытается сохранить этот процент кеша грязным, регулируя фоновую обратную запись и используя контроллер PD для плавного регулирования скорости.

writeback_running : при отключении обратная запись грязных данных вообще не будет выполняться. Грязные данные будут по-прежнему добавляться в кэш до тех пор, пока они не будут заполнены; предназначен только для бенчмаркинга. По умолчанию включено.

Задание достаточно большого значения для, по- writeback_delayвидимому, делает эту работу за меня: пишите только один раз в час или (я предполагаю, что это произойдет), если кэш заполнен.

Это разумная установка, и я должен рассмотреть что-нибудь еще, чтобы преуспеть в вращении дисков? У меня тоже все в порядке, если я отвечаю моим требованиям.

Кажется, @gorkypl ищет другое решение для аналогичной проблемы , но у него другие требования и среда, и он еще не получил ответа.

Йенс Эрат
источник
Используйте bcache, пожалуйста.
mikeserv

Ответы:

1

Я думаю, что ваш подход слишком сложен.

читать кеширование : тут делать нечего. Если у вас достаточно оперативной памяти, это делается автоматически в Linux.

Кэширование записи В основном это то, что вы хотите. Но если в конце записи будут записаны на диск, это также вызовет пробуждение.

Таким образом, вы можете вместо этого поместить поврежденные файловые системы непосредственно в ram-disk / dev / shm или ssd.

энергосбережение : я не думаю, что частое вращение вниз / вверх сэкономит энергию. Напротив, диски могут умереть раньше, поэтому для производственного процесса требуется дополнительное энергопотребление. Также раскрутка очень энергоемкая.

Nils
источник