Вопрос: Кабели хранения данных в хранилищах Windows Server, как настроить порог, который определяет, выполняется ли запись в кэше обратной записи?


Пространства хранения включенная функция Windows Server 2012 и предстоящие Windows Server 2016 состоит из виртуального диска. В многоуровневом развертывании хранилища обратный кэш (размер по умолчанию составляет 1 ГБ). Существует порог, который настроен в хранилищах, который определяет, будет ли конкретная операция записи переходить в кэш обратной записи или нет. Этот порог очень мал и делает его таким, чтобы большая часть записей не попадала в кеш обратной записи.

В качестве примера предположим, что кеш обратной записи может достигать 500 Мбайт / с, а более медленный уровень - всего 75 МБ / с. После создания виртуального диска и создания только что отформатированного тома сразу видно, что операция копирования файла размером 386 МБ занимает более одной секунды, чтобы завершить виртуальный диск хранилищ. Можно было бы надеяться, что файл будет скопирован в течение секунды, предполагая, что кеш обратной записи будет потреблять операцию, но это не так. Вместо этого уровень хранения определяет, что размер записи превышает заданный порог для записи в кэш обратной записи и перенаправляет запись на самый медленный уровень, который затем занимает около 5 секунд. Я считаю неутешительным, что кеш обратной записи не ускорит эту операцию копирования файлов.

Исходную информацию можно найти здесь:

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

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

Два вопроса:

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

2) Какую команду можно выпустить в PowerShell для изменения порога, чтобы я мог инструктировать Storage Spaces выполнять большие записи в кеш обратной записи?


2
2017-07-08 23:43


Источник




Ответы:


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

Некоторые хорошие чтения по теме:

https://blogs.technet.microsoft.com/larryexchange/2015/12/02/understand-storage-space-tiering-in-windows-server-2012-r2/

https://technet.microsoft.com/en-us/library/dn789160.aspx

Я бы предпочел избегать программного обеспечения для стороннего кэширования, если у них нет какой-то реальной ценности для ввода, например f.e. распределенный кэш обратной записи DRAM. Вам нужно запустить кластер с чем-то вроде StarWind vSAN для этого, хотя огромный кеш DRAM на одном сервере попросит о проблемах.

https://www.starwindsoftware.com/caching-page

Вы можете экспериментировать с кешем CSV, но до сих пор он доступен только для чтения.

https://blogs.msdn.microsoft.com/clustering/2013/07/19/how-to-enable-csv-cache/

Предстоящий Windows Server 2016 имеет некоторые оптимизации здесь, поэтому стоит попробовать.

https://blog.cdemi.io/caching-and-storage-tiering-in-storage-spaces-direct/


4
2017-07-10 12:53





Если вы хотите настроить размер кэша обратной записи, используйте командлеты Windows PowerShell и параметр -WriteCacheSize, например:

New-VirtualDisk -StoragePoolFriendlyName «Мой пул хранения» -FriendlyName TieredSpace -StorageTiers @ ($ ssd_tier, $ hdd_tier) -StorageTierSizes @ (50GB, 300GB) -ResiliencySettingName Mirror -WriteCacheSize 2GB

Примечание. После создания виртуального диска его WriteCacheSize не может быть изменен.

Источник: http://windowsitpro.com/windows-server-2012-r2/set-windows-server-2012-r2-storage-space-write-back-cache

Вообще говоря, Storage Spaces WBC не оптимизирован для большой емкости кэша, и я лично не буду назначать более 5 ГБ в любом случае.

Кроме того, как заметил @ BaronSamedi1958, распределенный RAM-кеш - намного лучший способ ускорить запись ввода-вывода, и реализация кеша StarWind обязательно стоит попробовать.


2
2017-07-11 10:39



«Вообще говоря, Storage Spaces WBC не оптимизирован для большой емкости кэша, и я лично не буду назначать более 5 ГБ в любом случае», есть ли источник для этого? - wbkang