Как ведет себя CSV-кеш под нагрузкой памяти?

Мы рассматриваем использование функции кэширования CSV от Microsoft в наших новых кластерах Hyper-V 2012 R2:

  • Он включен по умолчанию, с 512 МБ выделено для каждого CSV.
  • Максимальный объем памяти, который можно назначить, составляет 80%.
  • Рекомендация - максимальное выделение 64 ГБ.

У наших узлов будет много свободной памяти (в случае сбоя узла и т. Д.), Поэтому в большинстве случаев у наших хостов будет много свободной памяти.

Я хотел бы выяснить, что произойдет, если мы выделим, например, полные 64 ГБ, и произошел сбой узла, так что оставшимся узлам потребуется освободить память. Сможет ли хост восстановить память из кеша? Можно ли обнаружить кеш путем проверки системных процессов?

3 ответа

Решение

Вы задали очень конкретный вопрос - что делает CSV-кеш при загрузке памяти?

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

Я подозреваю, что после относительно небольшого выделения (по умолчанию 1/2 ГБ) предельное значение большего объема памяти в кэше CSV для вас невелико.

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

Если это программное решение (программно-определяемое хранилище), я бы рекомендовал отключить кеширование собственного CSV и использовать вместо этого кеш решения. Программно-определяемое хранилище, такое как, например, Starwind, имеет свое собственное кэширование DRAM, которое может работать в режиме обратной записи (CSV имеет кэш только для чтения) и имеет неограниченный размер (CSV ограничен 64 ГБ) и может быть дедуплицировано (CSV не может) https://www.starwindsoftware.com/starwind-virtual-san

Изменения, которые вы отметили, были введены в Windows 2012-R2, специально для SoFS.

SoFS очень активен для чтения и будет очень полезен при более высоких настройках кэша (max-80% / рекомендуемое-max-64 ГБ)

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

Говоря это; Вы просто можете взять CSV-кеш в качестве требования к дизайну вашего оборудования. Вы говорите, что у вас есть "много". Таким образом, в этом "большом" объеме памяти вам необходимо рассчитать, какой максимальный кэш вы можете использовать, не ограничивая при этом виртуальные машины.

НТН.