Каковы преимущества / недостатки различных вариантов кэширования с SSD на HDD (dm-cache, flashcash & hellip;)?

Существуют различные технологии, доступные для использования SSD в качестве кеша для HHD. Из тех, что я знаю:

  • dm-кеш (от Redhat - в ядре 3.9, поэтому он должен быть в Ubuntu 13.10)
  • Flashcache (разработан и используется Facebook) [ 111]
  • Bcache (разработан и используется Google)
  • EnhanceIO (от STEC; основан на Flashcache)

Есть ли примечательные различия в различных реализациях? Какой из них лучше всего подходит для обычного настольного ПК - для повышения производительности обычных программ, таких как веб-браузеры или игры?

23
задан 4 May 2013 в 14:29

2 ответа

Обратная связь: я установил стандартные deb-пакеты flashcache на Ubuntu около года назад в режиме обратной записи в кэш / home (2 ТБ) для 50-ГБ слайса на SSD. Он прекрасно работал без проблем. У меня было несколько «зависаний», связанных с X (то есть, не относящихся к flashcache), и я несколько раз использовал «Ctrl-Alt-PrtScr REISUB» для восстановления без проблем и проблем с повреждением. Я использовал flashcache, потому что а) были доступны дэбы и б) он не требовал резервного копирования и восстановления /home.

0
ответ дан 4 May 2013 в 14:29

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

Преимущества / Недостатки

  • Цена: твердотельные накопители стоят дорого
  • Максимальная и общая емкость: твердотельные накопители высокой емкости очень редки и дороги
  • Скорость: именно здесь SSD получают преимущество
  • Долговечность: SSD не имеет движущихся частей

Лучше всего иметь гибридную систему, чтобы иметь лучшее из обоих миров ( емкость, надежность, скорость и т. д.)

В ядре Linux 3.9 (выпущенном 28 апреля 2013 г.) введено SSD-кэширование. Устройство отображения ядра в ядре теперь включает цель кэширования, называемую dm-cache, которая позволяет использовать SSD или другое устройство хранения в качестве кэша для жесткого диска. Он существенно ускоряет запись и чтение данных, поскольку позволяет более быстрому SSD сначала кэшировать данные, а затем передавать их на более медленный жесткий диск.

Источник: Iwn

Flashcache - это модуль, изначально написанный и выпущенный Facebook (Мохан Шринивасан, Пол Сааб и Вадим Ткаченко) в апреле 2010 года. Это модуль ядра, который позволяет записывать кэширование диска на другой диск. Это чаще всего используется для кэширования вращательного диска на меньшем твердотельном диске из соображений производительности. Это дает вам скорость SSD и размер стандартного ротационного диска для недавно кэшированных файлов. FlashCache - это блочный кэш обратной записи общего назначения для Linux.

Источник: ArchLinux

Bcache - это кеш уровня блоков ядра Linux. Он позволяет одному или нескольким быстрым дискам, таким как твердотельные накопители на флэш-памяти (SSD), выступать в качестве кэша для одного или нескольких медленных жестких дисков.

Жесткие диски дешевые и большие, твердотельные накопители быстрые, но маленькие и дорогие. Разве не было бы хорошо, если бы вы могли прозрачно получить преимущества обоих? С Bcache вы можете получить свой торт и съесть его.

Патчи Bcache для ядра Linux позволяют использовать SSD для кэширования других блочных устройств. Он аналогичен L2Arc для ZFS, но Bcache также выполняет кэширование с обратной записью (помимо простой записи через кэширование) и не зависит от файловой системы. Он спроектирован так, чтобы его можно было включить с минимальными усилиями и хорошо работать без каких-либо настроек при любой настройке. По умолчанию он не будет кэшировать последовательный ввод-вывод, а только случайное чтение и запись, в которых превосходят твердотельные накопители. Он предназначен для настольных ПК, серверов, высокопроизводительных массивов хранения и, возможно, даже для встраивания.

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

Источник: Bcache

У Bcache есть большой недостаток, и он отнимает память у системы для реализации кеша. [ 1120]

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

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

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

Источник: Stec-Inc

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

Блеск EnhanceIO заключается в том, что ему вообще не требуется промежуточное устройство, и его можно подключать к любому блочному устройству на лету, даже если оно уже установлено. Еще одна крутая вещь - вы можете подключить кэш EnhanceIO не только к разделу, но и к многораздельному блочному устройству, чтобы кэшировать все его разделы одновременно. Точно так же модули flashcache enchanceio построены с DKMS и могут использоваться с более старыми ядрами.

Источник: Debian

Преимущества кэша DM

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

Недостатки кэша DM

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

Источник: Дополнения от Fraser Sherman

Так что из приведенной выше информации ясно, что EnhanceIO - это путь, но, на мой взгляд, поскольку он основан на Flashcache Я бы пошел с флэш-кешем. Но я обязательно попробую оба, прежде чем принять окончательное решение.

0
ответ дан 4 May 2013 в 14:29

Другие вопросы по тегам:

Похожие вопросы: