Questão Cache de write-back do Windows Spaces Storage Espaços, como configurar o limite que determina se a gravação é executada no cache de write-back?


o Espaços de Armazenamento recurso incluído com Windows Server 2012 e o próximo Windows Server 2016 consiste em um disco virtual. Em uma implantação de armazenamento em camadas, cache de write-back é criado (o tamanho padrão é 1 GB). Existe um limite configurado nos Espaços de Armazenamento que determina se uma determinada operação de gravação irá ou não ao cache de write-back. Esse limite é muito pequeno e faz com que a maioria das gravações não caia no cache de write-back.

Como exemplo, vamos supor que o cache write-back possa atingir 500MB / s, enquanto o nível mais lento opera com apenas 75MB / s. Depois de criar o disco virtual e criar um volume recém-formatado, é imediatamente notado que uma operação de cópia de um arquivo de 386 MB leva mais de um segundo para terminar no Disco Virtual do Storage Spaces. Seria de se esperar que o arquivo fosse copiado em menos de um segundo supondo que o cache write-back consumiria a operação, mas isso não acontece. Em vez disso, a camada de armazenamento detecta que o tamanho da gravação excede o limite predefinido para gravação no cache de write-back e encaminha a gravação para a camada mais lenta, o que leva cerca de 5 segundos para ser concluída. Acho decepcionante que o cache write-back não acelere essa operação de cópia de arquivos.

Informações básicas podem ser encontradas aqui:

Meu objetivo é acelerar mais operações de gravação, não apenas aquelas de tamanho muito pequeno. Aqui está uma lista de alguns outros provedores de software que conseguiram isso:

Se a Microsoft tivesse uma maneira de simplesmente permitir o cache de gravação adiada, ou modificar o limite para o que deve ser gravado no cache de write-back, as velocidades do Storage Spaces poderiam ser melhoradas em 20 vezes (de acordo com os benchmarks fornecidos por esses terceiros. fornecedores).

Duas questões:

1) Qual é o limite padrão (em Kilobytes) para os Espaços de Armazenamento escolherem executar gravações no cache de write-back?

2) Qual comando pode ser emitido no PowerShell para modificar o limite para que eu possa instruir os Espaços de Armazenamento a realizar gravações maiores no cache de write-back?


2


origem




Respostas:


Não há limite conhecido para isso. Se o WBC habilitado, todas as gravações passarão a piscar independentemente do tamanho. O único caso em que eles vão para o flash de bypass do disco é quando o flash já está cheio e liberando-o antes de confirmar que a gravação mais recente é inútil: a latência vai aumentar em todo o telhado.

Alguma boa leitura sobre o assunto:

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

https://technet.microsoft.com/pt-br/library/dn789160.aspx

Eu prefiro evitar software de armazenamento em cache de terceiros, a menos que eles tenham algo de real valor para trazer, como f.e. cache de write-back de DRAM distribuído. Você precisa executar um cluster com algo como o StarWind vSAN para isso, já que um cache DRAM enorme em um único servidor está implorando por problemas.

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

Você pode experimentar o cache do CSV, mas é somente leitura até o momento.

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

O próximo Windows Server 2016 tem algumas otimizações aqui, então vale a pena tentar.

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


4





Se você quiser personalizar o tamanho do cache de write-back, use os cmdlets do Windows PowerShell e o parâmetro -WriteCacheSize, por exemplo:

New-VirtualDisk -StoragePoolFriendlyName "Meu pool de armazenamento" -FriendlyName TieredSpace -StorageTiers @ ($ ssd_tier, $ hdd_tier) -StorageTierSizes @ (50 GB, 300 GB) -ResiliencySettingName Espelho -WriteCacheSize 2GB

Nota: Depois que um disco virtual é criado, seu WriteCacheSize não pode ser modificado.

Fonte: http://windowsitpro.com/windows-server-2012-r2/set-windows-server-2012-r2-storage-space-write-back-cache

De um modo geral, o Storage Spaces WBC não é otimizado para grande capacidade de cache e eu, pessoalmente, não atribuiria mais de 5GB em qualquer caso.

Além disso, como observou o @ BaronSamedi1958, o cache de RAM distribuído é uma maneira muito melhor de acelerar a E / S de gravação e a implementação de cache do StarWind definitivamente vale a pena tentar.


2



"De um modo geral, o Storage Spaces WBC não é otimizado para grande capacidade de cache e eu, pessoalmente, não iria atribuir mais de 5GB em qualquer caso" há uma fonte para isso? - wbkang