Flashcache для тех, кто не видел его раньше, - это метод расширения блочного кэша Linux с помощью SSD-накопителя. Это дешевле, чем запуск сервера с половиной ТБ ОЗУ только для кэширования.
Будет ли это даже работать?
Должно. Блок-кеш Linux работает путем кэширования блоков , к которым обращаются , а не файлов . До тех пор, пока вы не предоставляете машинам KVM прямой доступ к блочным устройствам (нет), блочный кэш Linux будет в игре. Тем не менее, если вы будете давать KVM машинам прямому доступ блок-устройство ответа есть менее ясно.
Если вы используете виртуальные диски с файловой поддержкой, это определенно будет работать.
Если вы используете виртуальные диски с LV-поддержкой, я не знаю.
Насколько я могу ожидать повышения производительности?
Это то, что мы не можем ответить. Это зависит от множества вещей. В абстрактном виде вы получите лучшую производительность, если размер вашего SSD больше, чем у активного набора блоков. Если вы получите идеальное кэширование, ваша производительность будет аналогична работе всей системы на SSD. Что вы будете эффективно делать.
Насколько большим должен быть SSD?
Определить, какой именно размер вам нужен, мы не можем. Очевидно, что чем больше, тем лучше, но найти точное соотношение между кеш-SSD и основным хранилищем - дело непростое.
Это усложняет запись, устанавливаемую для немедленной очистки, такой как определенные операции файловой системы и некоторые конфигурации базы данных. Эти записи будут кэшироваться только на короткое время, а их производительность не будет зависеть от наличия или отсутствия flashcache.
Что произойдет, если SSD умрет?
То же самое происходит, когда вы указываете Linux на drop-кэширование, но с изюминкой. При использовании drop-кешей любые незаполненные записи, находящиеся в кеше блоков, будут сброшены на диск. Что происходит, когда исчезает SSD, зависит от режима кэширования :
Запись : все записи записываются в кэш и основное хранилище параллельно, поэтому вероятность внезапной потери SSD, приводящей к ошибкам на виртуальных машинах, очень мала.
Writearound : Все записи записываются в основное хранилище и кэшируются только при чтении. Нет вероятности ошибок в виртуальных машинах.
Обратная запись : Все записи сначала отправляются в кэш, и записываются в основное хранилище в фоновом режиме. Скорее всего, это приведет к ошибкам в ваших виртуальных машинах в случае отказа SSD, и я бы не стал использовать этот режим в работе.
Насколько быстрее будет обратная запись по сравнению с записью и записью?
Зависит от того, сколько ты пишешь. Если ваши записи периодически насыщают ваше основное хранилище, увеличение производительности может быть довольно значительным. Если вы в основном читаете с некоторыми записями, вы вряд ли заметите улучшения.
Кроме того, обратная запись является плохой политикой для того, что вы делаете, поэтому не используйте ее.