У меня есть сервер с 2 HDD (2x 1 ТБ), работающий в RAID 1 (SW-RAID). Я хочу улучшить производительность ввода-вывода с помощью flashcache
. На нем работают виртуальные машины KVM, использующие LVM
.
В связи с этим у меня есть следующие вопросы:
- Будет ли это даже работать?
flashcache
работает для блочных устройств, однако это все виртуальные машины с собственной настройкой. - Насколько я могу ожидать повышения производительности? На большинстве виртуальных машин работают веб-сайты и некоторые хост-игры.
- Насколько большим должен быть SSD? Увеличит ли производительность SSD, поскольку он может кэшировать больше файлов?
- Что произойдет, если SSD умрет? Будет ли
flashcache
получать файлы с традиционного жесткого диска, и я мог бы просто заменить SSD? - Насколько быстрее будет
writeback
по сравнению сwritethrough
аwritearound
?
К сожалению, у меня нет доступа к тестовой системе, поэтому могу ли я установить flashcache
на работающий сервер без размонтирования дисков? Я нашел большой учебник здесь , который я бы использовать.
centos
kvm-virtualization
lvm
flashcache
Devator
источник
источник
Ответы:
Flashcache для тех, кто не видел его раньше, - это метод расширения блочного кэша Linux с помощью SSD-накопителя. Это дешевле, чем запуск сервера с половиной ТБ ОЗУ только для кэширования.
Должно. Блок-кеш Linux работает путем кэширования блоков , к которым обращаются , а не файлов . До тех пор, пока вы не предоставляете машинам KVM прямой доступ к блочным устройствам (нет), блочный кэш Linux будет в игре. Тем не менее, если вы будете давать KVM машинам прямому доступ блок-устройство ответа есть менее ясно.
Если вы используете виртуальные диски с файловой поддержкой, это определенно будет работать.
Если вы используете виртуальные диски с LV-поддержкой, я не знаю.
Это то, что мы не можем ответить. Это зависит от множества вещей. В абстрактном виде вы получите лучшую производительность, если размер вашего SSD больше, чем у активного набора блоков. Если вы получите идеальное кэширование, ваша производительность будет аналогична работе всей системы на SSD. Что вы будете эффективно делать.
Определить, какой именно размер вам нужен, мы не можем. Очевидно, что чем больше, тем лучше, но найти точное соотношение между кеш-SSD и основным хранилищем - дело непростое.
Это усложняет запись, устанавливаемую для немедленной очистки, такой как определенные операции файловой системы и некоторые конфигурации базы данных. Эти записи будут кэшироваться только на короткое время, а их производительность не будет зависеть от наличия или отсутствия flashcache.
То же самое происходит, когда вы указываете Linux на drop-кэширование, но с изюминкой. При использовании drop-кешей любые незаполненные записи, находящиеся в кеше блоков, будут сброшены на диск. Что происходит, когда исчезает SSD, зависит от режима кэширования :
Запись : все записи записываются в кэш и основное хранилище параллельно, поэтому вероятность внезапной потери SSD, приводящей к ошибкам на виртуальных машинах, очень мала.
Writearound : Все записи записываются в основное хранилище и кэшируются только при чтении. Нет вероятности ошибок в виртуальных машинах.
Обратная запись : Все записи сначала отправляются в кэш, и записываются в основное хранилище в фоновом режиме. Скорее всего, это приведет к ошибкам в ваших виртуальных машинах в случае отказа SSD, и я бы не стал использовать этот режим в работе.
Зависит от того, сколько ты пишешь. Если ваши записи периодически насыщают ваше основное хранилище, увеличение производительности может быть довольно значительным. Если вы в основном читаете с некоторыми записями, вы вряд ли заметите улучшения.
Кроме того, обратная запись является плохой политикой для того, что вы делаете, поэтому не используйте ее.
источник
writeback
так как это может повредить все без BBU. Я вообще не буду использовать SSD-кеширование, кроме обычного SSD. Еще раз спасибо!Да, он будет работать нормально, если вы используете правильные блочные устройства. И тут есть хитрость.
Когда LVM сканирует PV, он должен видеть раздел как через сам жесткий диск, так и через «виртуальное» устройство flashcache.
Одним из очевидных симптомов должно быть то, что инструменты LVM жалуются на дубликаты PV.
Исправление, чтобы избежать этих предупреждений и, что более важно, убедиться, что устройство flashcache используется LVM2, заключается в том, чтобы адаптировать фильтр в
/etc/lvm/lvm.conf
.LVM.CONF(5)
Страница руководства будет объяснить это лучше , чем у меня, но я оставлю вам пример, если все физические тома подкреплены flashcache:источник
Есть также уровень от создателя Lessfs. Это позволит вам создавать гибридные устройства между SSD и HDD. Производительность уровня, по-видимому, превосходит Flashcache.
http://www.lessfs.com/wordpress/
http://www.lessfs.com/wordpress/?p=776
// христианский
источник
Некоторые приложения открывают файлы небуферизованным способом.
http://man7.org/linux/man-pages/man2/open.2.html
Например, это очень распространено для баз данных. Поэтому дважды проверьте, работает ли flashcache с этим набором приложений.
источник