SSD Cache — что такое и стоит ли включать кэширование?

 

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

Я хотел бы использовать (маленький) SSD-диск в качестве кэша для большого жесткого диска. Я понимаю, что есть аппаратные продукты, которые делают это:HighPoint RocketHybrid HBA,Intel SmartResponse и другие. Есть только один программный продукт, который я смог найти:программы diskeeper ExpressCache на:

ExpressCache разумно и автоматически сочетает в себе преимущества твердотельных и жестких дисков без каких-либо усилий или предварительных условий знание от потребителя, поэтому потребителей получает самое лучшее обоих миров; динамическое представление и масштабируемая емкость. В виду того что SSDs как малые как 4GB можно использовать, оно обеспечивает неимоверно доступное разрешение для изготовлений.

состоит из пользовательского режима и компонентов режима ядра, ExpressCache использует SSD в качестве интеллектуального кэша, в сочетании с HDD, для повышения общей производительности системы и значительно ускорить запуск Windows PC, запуск приложений и скорость доступа к данным.

однако, этот продукт OEM только!

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

Итак, я спрашиваю, если кто знает какие-нибудь программы, которые делают это, либо на Windows или Linux. Или если вы думаете, что это плохая идея, я хотел бы знать причина.

Примечание: ReadyBoost не очень подходит для этого. Он построен с предположением, что запись на диск действительно дорого, имеет очень мало влияния на системах с большим количеством оперативной памяти, и не масштабируется должным образом, если ваш SSD 100 ГБ+.

10 ответов

есть несколько способов использовать SSD в качестве кэша для вашего обычного жесткого диска. Это не новая идея, и уже имеет несколько реализаций.

лучшая реализация от NVelo:Dataplex — он имеет кэширование чтения и необязательное кэширование записи. К сожалению, как ExpressCache он доступен только OEM-производителям. Самый дешевый способ получить его-купить твердотельный накопитель OCZ, который упаковывает адаптер PCIE с небольшим SSD и использует программное обеспечение dataplex кэширование существующего жесткого диска.

однако есть и чистые программные реализации:FancyCache — это работает так, как вы могли бы ожидать выполнения чтения и записи кэширования на уровне блоков. Он в основном существует как кэш памяти, но недавно получил поддержку SSD-кэша второго уровня (немного похожего на ZFS L2ARC), который может быть сколь угодно большим.

Если вы просто хотите максимум на ИППО в стоимость напишите стойкость (прекрасно вместе с ИБП, например), альтернативой может быть что-то вроде: SuperCache — это будет использовать только ОЗУ, без SSD. Но в отличие от других, счастливо превысит 100 000 IOPS на товарном оборудовании. Очень полезно для кэширования блочного устройства, содержащего индексы баз данных, например. По существу давая RAM-диск, как производительность для любого размера Тома (при условии, что базовое устройство может идти в ногу с Тома записи).

в Linux все немного приятнее:

Как упоминалось в предыдущем плакате, у вас есть Flashcache — он работает довольно хорошо, но его производительность сильно варьируется в зависимости от вашей рабочей нагрузки. Во многих случаях с плохой локальностью доступа он не будет работать так, как вы могли бы ожидать. Не знаю, почему, но для большинства рабочих нагрузок это отличный вариант.

самый лучший вариант (хотя код еще не совсем «готов») составляет bcache (дополнительная информация здесь, хотя некоторые если устарел) — он имеет лучшую производительность любого кэша SSD я еще не пробовал, и в отличие от всех других вариантов, упомянутых поддерживает кэширование нескольких блочных устройств на одном кэше. Он также поддерживает (хотя я лично не пробовал это, он может еще не работать) несколько устройств кэша, так что вы можете использовать несколько более дешевых твердотельных накопителей для максимизации IOPS. Код находится в репозитории git:git: / / evilpiepirate.org/~kent / linux-bcache.git. Есть разговоры о слиянии его в следующее ядро отпустите, хотя это еще не было решено наверняка.

лично я нахожу наиболее эффективным вариантом является bcache (моя рабочая нагрузка в основном связана с базой данных, хотя я также кэширую свой основной ноутбук полностью). По моему опыту, пропускная способность последовательной записи жесткого диска часто является узким местом, так как кэш заполняется быстро, и жесткий диск должен записывать кэшированные сектора, поэтому чем быстрее, тем лучше. Это, конечно, для большой рабочей нагрузки записи, в более сбалансированной рабочей нагрузке чтения-записи скорее всего будет по-другому.

Читать статью  Как узнать GPT или MBR диск на компьютере |

Я должен также предупредить вас, что на полной скорости, вы будете записывать через пределы записи вашего SSD довольно быстро. В настоящее время я нахожусь в своей третьей вершине OCZ 3. Твердотельные накопители хотя и очень очень быстро, просто не очень прочный, так что ожидать, чтобы заменить их каждые несколько месяцев.

Стоит ли включать кэширование на SSD диске?

 Что такое SSD кэширование?

Сегодня мы рассмотрим еще один часто запутанный вычислительный термин, который обещает обеспечить повышенную производительность при изящном использовании компактного SSD в качестве кэша. Пустрая трата денег или стоящее приобретение? Мы углубились в эту тему, чтобы пролить свет на все, что нужно знать о кэшировании SSD.

Что такое SSD Cache?

Кэш SSD, или, как его правильно называют, SSD-кэширование, представляет собой механизм управления данными, разработанный Intel в начале 2010-х годов, который использует небольшой твердотельный накопитель в качестве кэша для жесткого диска, как правило, большего размера.

Что такое SSD Cache?

Кэш-память — это аппаратная или программная память, предназначенная для хранения часто используемых данных для быстрого и быстрого доступа. В случае процессоров кэш состоит из флэш-памяти, доступ к которой быстрее, чем в стандартной системной памяти, а кэш-память браузера хранит компоненты с часто посещаемых сайтов, поэтому они загружаются быстрее, что исключает необходимость извлечения данных через Интернет с хост-сервера.

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

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

В реальном выражении кэширование SSD будет включать в себя SSD небольшого размера, скажем, 40 ГБ, в сочетании с большим традиционным жестким диском, например, с емкостью 1 ТБ.

SSD Кэширование — совместимость

Intel разработала технологию кэширования SSD Smart Response Technology (SRT), а запатентованная итерация этого механизма доступна только на материнских платах с поддержкой SRT и чипсетами Intel. Что еще хуже, Intel не использует технологию всех своих наборов микросхем, которая ограничивает аппаратные конфигурации, которые пользователь может ожидать, сохраняя при этом возможность кэширования SSD.

стоит ли включать ssd кэширование?

Системы с чипсетами AMD требуют, чтобы пользователь использовал стороннее программное обеспечение для эмуляции кэширования SSD, поскольку AMD до сих пор не разработала или не интегрировала конкурирующую технологию в свои чипсеты. К счастью, существует множество программных решений, таких как FancyCache и PrimoCache. Как общеизвестно, они ненадежны и имеют целый ряд проблем.

Ограничения SSD-кэширования

Кэширование SSD дает ощутимые преимущества только тогда, когда система находится в том состоянии, которое мы называем «чистым», таким как загрузка компьютера после его выключения, перезагрузка Windows или первоначальный запуск приложения после перезагрузки или выключения питания. Существует иерархия памяти, которая работает от кэша ЦП до ОЗУ, кэша SSD, затем HDD. Перезапуск очищает кэш ЦП и ОЗУ, превращая кэш SSD в место доступа к данным.

зачем нужен ssd cache?

Причина этого заключается в том, что во всех других случаях есть вероятность, что критически важные, часто используемые данные уже хранятся в ОЗУ системы, и, поскольку ОЗУ быстрее любого жесткого диска, будь то SSD или HDD, кэширование SSD делает процесс заполнения оперативной памяти данными, намного быстрее. Ничто не улучшит скорость, как то, что данные уже доступны в оперативной памяти.

Как видите, главное преимущество кэширования SSD наиболее очевидно при загрузке Windows: ОС находится в работоспособном состоянии гораздо раньше, чем в кэшированной системе без SSD. Аналогично, запуск Steam и вашей любимой игры после перезагрузки будет намного быстрее с SSD-кэшированием. Если вы работали без перезапуска в течение нескольких часов и открыли, затем закрыли различные программы и решили открыть их еще раз, SSD ничего не сделает для ускорения процесса.

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

В любом случае система вернется к медленному источнику жесткого диска для данных. Со стороны пользователя это означает, что программы, которые полагаются на небольшие пакеты данных, работают хорошо, в то время как те, которые зависят от емких носителей, таких как видео и высококачественные аудиофайлы, — нет.

Читать статью  FAT32 или NTFS: какую файловую систему выбрать для USB флешки или внешнего жесткого диска |

Если вы одновременно запускаете множество приложений, преимущества будут очевидны, в то время как если вы будете запускать одну и ту же программу изо дня в день, обрабатывая файлы большого формата, преимущества будут незначительными.

Стоит ли включать кэширование SSD?

Как только SSD-кэширование запущено, оно само по себе позаботится о том, чтобы не было никакой его настройки от пользователя. Преимущества, если таковые имеются, пассивно производятся, что делает его удобным решением.

Однако настройка кэширования, даже с набором микросхем Intel SRT, является трудной задачей, которая включает в себя использование правильных драйверов, правильную настройку BIOS и запуск его в качестве настройки RAID, установку драйверов Windows и Rapid Storage Technology, управление режимами и т.д. Суть в том, что он значительно сложнее, чем использование SSD-накопителя большой емкости и простая установка Windows.

Кэш дискового накопителя

Кэширование SSD исторически стоило намного меньше, чем выделение для SSD разумного размера, но, поскольку технология становится все более распространенной, цена даже 100 ГБ или более SSD экспоненциально становится более доступной с течением времени. Следовательно, комбинация SSD-кэша и жесткого диска заменяется более крупными бюджетными твердотельными накопителями в качестве места для ОС, в то время как больший жесткий диск используется для хранения носителей, к которому редко обращаются.

Вывод

По нашей оценке, основная концепция кэширования SSD стоит задуматься. На практике результаты не являются достаточно явными, чтобы выбрать кэширование SSD, а не большие затраты на больший SSD и запускать все — от Windows до ваших любимых шутеров с того же самого диска и позволить ОЗУ делать свои задачи быстрее.

Дешевые способы поддать жару системе хранения с помощью SSD

image alt text

В статьях про СХД из «конспекта админа» практически не рассматривались технологии софтовой организации дискового массива. Кроме того, за кадром остался целый пласт относительно дешевых сценариев ускорения хранилищ с помощью твердотельных дисков.

Поэтому в этой статье рассмотрю три неплохих варианта использования SSD-дисков для ускорения подсистемы хранения.

Почему просто не собрать массив из SSD – немного теории и рассуждений на тему

Чаще всего твердотельные накопители рассматривают просто как альтернативу HDD, с большей пропускной способностью и IOPS. Однако, такая замена «в лоб» часто стоит слишком дорого (брендовые диски HP, например, стоят от $2 000), и в проект возвращаются привычные накопители SAS. Как вариант, быстрые диски просто используются точечно.

В частности, удобным выглядит использование SSD для системного раздела или для раздела с базами данных – с конкретным выигрышем в производительности можно ознакомится в соответствующих материалах. Из этих же сравнений видно, что при использовании обычных HDD узким местом является производительность диска, а в случае SSD сдерживать будет уже интерфейс. Поэтому замена одного лишь диска не всегда даст такую же отдачу, как комплексный апгрейд.

В серверах используют SSD с интерфейсом SATA, либо более производительные SAS и PCI-E. Большинство представленных на рынке серверных SSD с интерфейсом SAS продаются под брендами HP, Dell и IBM. К слову, даже в брендовых серверах можно использовать диски OEM-производителей Toshiba, HGST (Hitachi) и других, которые позволяют сделать апгрейд максимально дешевым при схожих характеристиках.

С широким распространением SSD был разработан отдельный протокол доступа к дискам, подключенным к шине PCI-E – NVM Express (NVMe). Протокол разработан с нуля и значительно превосходит своими возможностями привычные SCSI и AHCI. С NVMe обычно работают твердотельные диски с интерфейсами PCI-E, U.2 (SFF-8639) и некоторые M.2, которые быстрее обычных SSD более чем вдвое. Технология относительно новая, но со временем она обязательно займет свое место в самых быстрых дисковых системах.

При выборе твердотельных дисков с интерфейсом SATA следует обращать внимание на параметр DWPD, который определяет долговечность диска. DWPD (Drive Writes Per Day) – это допустимое количество циклов перезаписи всего диска в сутки на протяжении гарантийного периода. Иногда встречается альтернативная характеристика TBW/PBW (TeraBytes Written, PetaBytes Written) – это заявленный объем записи на диск на протяжении гарантийного периода. В SSD для домашнего использования показатель DWPD может быть меньше единицы, в так называемых «серверных» SSD — 10 и более.

Такая разница возникает из-за разных типов памяти:

SLC NAND. Самый простой тип – в каждой ячейке памяти хранится один бит информации. Поэтому такие диски надежны и обладают хорошей производительностью. Но приходится использовать больше ячеек памяти, что негативно влияет на стоимость;

MLC NAND. В каждой ячейке хранится уже два бита информации – самый популярный тип памяти.

eMLC NAND. То же самое что и MLC, но повышена устойчивость к перезаписи благодаря более дорогим и качественным чипам.

Таким образом, при точечной замене обычных дисков твердотельными логично использовать MLC-модели в RAID 1, что даст отличную скорость при том же уровне надежности.

Считается, что использование RAID совместно с SSD – не лучшая идея. Теория основывается на том, что SSD в RAID изнашиваются синхронно и в определенный момент могут выйти из строя все диски разом, особенно при ребилде массива. Однако, с HDD ситуация точно такая же. Разве что, испорченные блоки магнитной поверхности не дадут даже прочитать информацию, в отличие от SSD.

По-прежнему высокая стоимость твердотельных накопителей заставляет задуматься об альтернативном их использовании, помимо точечной замены или использования СХД на базе одних лишь SSD.

Читать статью  Как удалить загрузочные секторы 🚩 Компьютеры и ПО 🚩 Другое

Расширяем кэш RAID-контроллера

От размера и скорости кэша RAID-контроллера зависит скорость работы массива в целом. Расширить этот кэш можно с помощью SSD. Технология напоминает решение Smart Response от Intel.

При использовании подобного кэша данные, которые используются чаще, хранятся на кэширующих SSD, с которых производится чтение или дальнейшая запись на обычный HDD. Режимов работы обычно два, аналогично привычному RAID: write-back и write-through.

В случае write-through ускоряется только чтение, а при write-back – чтение и запись.

При настройке кэша write-through запись проводится как в кэш, так и на основной массив. Это не влияет на операции записи, но ускоряет чтение. К тому же, перебои питания или всей системы для целостности данных уже не так страшны;

Для работы обычно требуется специальная лицензия или аппаратный ключ. Вот конкретные названия технологии у популярных на рынке производителей:

LSI (Broadcom) MegaRAID CacheCade. Позволяет использовать до 32 SSD под кэш, суммарным размером не более 512 ГБ, поддерживается RAID из кэширующих дисков. Есть несколько видов аппаратных и программных ключей, стоимость составляет около 20 000 р;

Microsemi Adaptec MaxCache. Позволяет использовать до 8 SSD в кэше в любой конфигурации RAID. Отдельно лицензию покупать не нужно, кэш поддерживается в адаптерах серии Q;

Схема работы SSD-кэша предельно проста – часто используемые данные перемещаются или копируются на SSD для оперативного доступа, а менее популярная информация остается на HDD. Как итог, скорость работы с повторяющимися данными значительно возрастает.

В качестве иллюстрации работы RAID-кэша на базе SSD можно привести следующие графики:

image alt text

StorageReview – сравнение производительности разных массивов при работе с базой данных: использованы обычные диски и их альтернатива на базе LSI CacheCade.

Но если есть аппаратная реализация, то наверняка существует и программный аналог за меньшие деньги.

Быстрый кэш без контроллера

Помимо программного RAID существует и программный SSD-кэш. В Windows Server 2012 появилась интересная технология Storage Spaces, которая позволяет собирать RAID-массивы из любых доступных дисков. Накопители объединяются в пулы, на которых уже размещаются тома данных – схема напоминает большинство аппаратных систем хранения. Из полезных возможностей Storage Spaces можно выделить многоярусное хранение (Storage Tiers) и кэш записи (write-back cache).

image alt text

Storage Tiers позволяет создавать один пул из HDD и SSD, где более востребованные данные хранятся на SSD. Рекомендованное соотношение количества SSD к HDD 1:4-1:6. При проектировании стоит учитывать и возможность зеркалирования или четности (аналоги RAID-1 и RAID-5), так как в каждой части зеркала должно быть одинаковое количество обычных дисков и SSD.

Кэш записи в Storage Spaces ничем не отличается от обычного write-back в RAID-массивах. Только здесь необходимый объем «откусывается» от SSD и по умолчанию составляет один гигабайт.

Общая схема работы выглядит так:

При записи на чистый диск данные сохраняются на SSD;

Когда SSD заполнены, данные пишутся в write-back кэш, который записывается на HDD;

Если кэш переполнен, запись ведется напрямую на HDD;

Если рассматривать другие операционные системы, то технологий доступно еще больше. Например, в GNULinux есть bcache, EnhanceIO, dm-cache и lvmcache, L2ARC в ZFS, Cache Tiering и Cache Pool в Cephs.

Если говорить о программном ускорении дисковой системы, то интересным вариантом выглядит использование для этих целей оперативной памяти. Существует ряд приложений, позволяющих «откусить» часть RAM под кэш – например PrimoCache. Подобные решения, помимо ускорения работы, помогут и продлить жизнь SSD. Главное предусмотреть защиту от проблем с питанием и не размещать в таких разделах слишком важные данные.

Итого

Файловые и веб-серверы хорошо работают с кэшем на SSD, а для размещения производственной базы данных приоритетнее RAID-массив из обычных дисков под данные и отдельное SSD-зеркало под журналы транзакций. Остальные сценарии работы с данными требуют более творческого подхода и знания специфики использования.

Если у вас есть собственные приемы правильного использования твердотельных накопителей – поделитесь в комментариях, чтобы дополнить примеры из статьи.

Заодно расскажите, что думаете о RAM-дисках – только ли это just for fun технология, на ваш взгляд?

Источник https://kompsekret.ru/q/how-can-i-use-my-small-ssd-as-a-cache-for-a-larger-hard-disk-1435/

Источник https://fps-up.ru/computer/ssd-cache-chto-takoe-i-stoit-li-vklyuchat-keshirovanie

Источник https://habr.com/ru/company/servermall/blog/319214/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *