Конфигурация кэша

Конфигурация кэша#

Поддерживаемые типы устройств

В настоящее время поддерживаемые диски включают HDD и SSD, в том числе устройства NVMe. Их характеристики описаны в таблице ниже.

Тип

Стоимость

Производительность

Интерфейс и форм-фактор

Жесткие диски (HDD)

Низкая

До 200 МБ/с

Десятки/сотни IOPS

SAS или SATA

Твердотельные накопители (SSD)

Средняя

До 600 МБ/с

Десятки тысяч IOPS

SAS или SATA

Твердотельные накопители NVMe (SSD NVMe)

Высокая

От 1 до 10 ГБ/с

Сотни тысяч IOPS

2.5" U.2, карта расширения PCIe (AIC) или M.2

Примечание

Поддержка устройств PMem или NVRAM не проверялась.

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

По причине, изложенной выше, возможны следующие комбинации устройств кэш-памяти и емкости:

image1

Примечание

Поддержка кэш-устройств, настроенных как RAID 1, не проверялась.

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

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

Выбор кэш-устройства

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

  • Число операций записи на диск в день (DWPD) показывает, сколько раз устройство может быть полностью перезаписано каждый день, чтобы достичь ожидаемого конца срока службы устройства (обычно пять лет).

  • Записанные терабайты (TBW) показывают ожидаемый объем данных, который может быть записан до того, как устройство выйдет из строя.

Оба параметра эквивалентны и должны быть тщательно оценены. Например, у вас есть флеш-накопитель на 1 ТБ с 1 DPWD, это означает, что вы можете записывать на него 1 ТБ каждый день в течение всего срока его службы. Если гарантийный срок накопителя равен пяти годам, то суммарно за это время получается 1 ТБ в день * 365 дней в году * 5 лет = 1825 ТБ совокупных операций записи, после чего диск обычно приходится заменять. Таким образом, TBW накопителя будет 1825.

DWPD типичного SSD-накопителя потребительского уровня может составлять всего 0,1, в то время как высокопроизводительный флеш-накопитель для центров обработки данных может иметь до 60 DWPD. Для устройства кэширования рекомендуемый минимум составляет 10 DWPD.

Еще одним параметром, который следует учитывать, является защита устройства от потери питания. Известно, что некоторые флеш-накопители потребительского уровня молча игнорируют запросы на сброс данных, что может привести к потере данных в случае отключения электроэнергии. Примеры таких дисков включают OCZ Vertex 3, Intel 520, Intel X25-E и Intel X-25-M G2. Рекомендуется избегать этих дисков (или протестировать их с помощью инструмента vstorage-hwflush-check) и использовать вместо них устройства корпоративного уровня или уровня центра обработки данных.

Предоставление устройств кэширования

Минимальное количество устройств кэширования на узел равно одному. Однако обратите внимание, что в этом случае, если кэширование используется для всех устройств емкости, кэш-устройство становится единой точкой отказа, что может привести к недоступности всего узла. Во избежание этого рекомендуется как минимум три устройства кэширования на узел.

Использование нескольких устройств кэширования также обеспечивает следующие улучшения:

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

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

  • Высокая доступность. С меньшим количеством устройств емкости на устройство кэш-памяти или зеркалированием RAID можно снизить вероятность простоя или его последствия.

Рекомендуется выделять одно устройство кэширования на каждые 4–12 устройств емкости. Однако скорость кэш-устройства должна быть как минимум в два раза выше, чем скорость базовых устройств вместе взятых.

Размер журнала

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

С одной стороны, если размер всех журналов меньше объема доступной оперативной памяти, то журнал будет использоваться только для хранения метаданных. Это позволит системе хранить журнал в ОЗУ, избегая всех операций чтения из журнала и приводя к меньшему количеству операций ввода-вывода. В конечном итоге это снизит нагрузку на устройства кэширования и может повысить общую производительность.

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

Размер кэша

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

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

Риски и возможные сбои

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

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

Возможные проблемы при использовании устройств кэширования:

  • Потеря данных. Сбой устройства кэширования может привести к потере данных, если данные не имеют реплик или не настроено использование RAID 1.

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

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

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

Чтобы предотвратить данные проблемы, используйте оптимальные политики избыточности и несколько устройств кэширования в вашей системе. Кроме того, возможно использование локальной репликации (например, RAID 1) поверх распределенной репликации, особенно в системах с низким коэффициентом репликации (1 реплика или кодировка 1+0).