Мы планируем использовать функцию кеширования CSV от Microsoft в наших новых кластерах Hyper-V 2012 R2:
У наших узлов будет много свободной памяти (в случае сбоя узла и т. Д.), Поэтому большую часть времени на наших узлах будет много свободной памяти.
Я хотел бы узнать, что произойдет, если мы выделим, например, полные 64 ГБ, и произойдет сбой узла, так что оставшимся узлам потребуется освободить память. Сможет ли хост освободить память из кеша? Можно ли обнаружить кеш, проверив системные процессы?
Какое хранилище вы используете в качестве общего хранилища, в котором размещены ваши CSV-файлы?
Если это программное решение (программно-определяемое хранилище), я бы порекомендовал отключить собственное кеширование CSV и вместо этого использовать кеш решения. Программно-определяемое хранилище, такое как Starwind, например, имеет собственное кэширование DRAM, которое может работать в режиме обратной записи (CSV имеет кеш только для чтения) и имеет неограниченный размер (CSV ограничен 64 ГБ) и, при желании, может быть дедуплицирован (CSV не может ) https://www.starwindsoftware.com/starwind-virtual-san
Вы задали очень конкретный вопрос - что делает кеш CSV при загрузке памяти?
Ответ заключается в том, что память выделяется для кеш-памяти CSV статически и никогда не освобождается. Поэтому, если вы столкнетесь с аварийным переключением, эта память будет недоступна для чего-либо еще, например, для сбора виртуальных машин, которые могут потребоваться для запуска.
Я подозреваю, что после относительно небольшого выделения (по умолчанию 1/2 ГБ) предельное значение большего объема памяти в кэше CSV для вас мало.
Выделенные вами изменения были внесены в Windows 2012-R2, особенно для SoFS.
SoFS очень удобна для чтения и значительно выиграет от более высоких настроек кеша (макс-80% / рекомендовано-макс-64 ГБ)
Для Hyper-V рекомендуется быть более консервативным в отношении распределения памяти именно по той причине, которую вы указали. кэш CSV будет конкурировать за память в качестве ресурса с виртуальными машинами на узле, особенно в ситуациях сбоя, когда машины перемещаются с узла на узел из-за сбоя узла.
Говоря это; вы просто можете использовать кэш CSV в качестве требования для проектирования вашего оборудования. Вы говорите, что у вас «много». Таким образом, в этом «большом количестве» памяти вам необходимо рассчитать максимальный размер кеш-памяти, который вы можете использовать, не ограничивая подключение виртуальных машин.
HTH.