Espaços de armazenamento - misture SSD com HDD

8

Não consigo encontrar nenhuma informação, então espero que alguém aqui possa esclarecer alguma coisa.

Eu tenho uma nova cópia do Windows 8 Pro instalada. Quero usar espaços de armazenamento com 4 HDDs internos e 2 SSDs internos. O Windows 8 utiliza os SSDs de alguma maneira especial (por exemplo, cache) para aumentar a velocidade do pool de armazenamento?

Ou os SSDs apenas farão parte do pool de dados e nenhum benefício de desempenho será fornecido?

Markaway
fonte

Respostas:

13

Isso estende um pouco a resposta do TiernanO - lutei para encontrar bons antecedentes detalhados sobre tudo isso, então pensei em escrever bem para todos:

Os SSDs podem ser usados ​​para acelerar seus pools, mas só funcionam em determinadas situações e há várias condições que devem ser respeitadas.

Em primeiro lugar, você não pode simplesmente adicionar SSDs a um pool existente e esperar que ele acelere seu sistema. De fato, se você estiver misturando SSDs com HDDs no mesmo pool, estará basicamente desperdiçando os SSDs porque cada um dos seus arquivos está dividido entre os outros discos, portanto metade do arquivo pode estar em um SSD e a outra metade em o HDD - então você ainda precisará esperar o HDD girar e buscar os dados antes que eles possam realmente ser usados ​​pelo seu computador, mesmo que o SSD tenha encontrado a primeira metade dos dados há muito tempo. [isso é uma simplificação excessiva; de fato, os dados são divididos em diferentes discos no nível do bloco, não no nível do arquivo]

Portanto, você provavelmente não deseja misturar SSDs e HDDs no mesmo disco virtual - possui pools compostos apenas por HDDs ou apenas SSDs, não por ambos. Aliás, não há problema em tê-los no mesmo pool de armazenamento, apenas não trabalhando no mesmo disco virtual.

Agora, voltando à sua pergunta - sim, é possível usar SSDs para acelerar as coisas usando o recurso 'journaling' do Storage Space - mas há algumas condições:

  1. Você deve estar usando um disco virtual com uma configuração de resiliência de 'Paridade', os discos do diário não podem ser usados ​​com os discos virtuais 'Simples' ou 'Espelho'
  2. Você deve ter pelo menos dois SSDs - não é possível substituí-lo (em segundo plano, eles são configurados como um espaço de espelho em si, caso um falhe)
  3. Todo o espaço no SSD deve ser dedicado ao registro no diário; você não poderá usar nenhum dos SSDs para armazenar dados
  4. Nada disso pode ser configurado na interface do usuário do Windows no Windows 8 ou no Server 2012 - você precisa fazer isso manualmente usando o PowerShell
  5. Se você aumentou manualmente o número de espaços de paridade no seu pool, deve aumentar igualmente o número de discos de diário (por exemplo, se você estiver usando o espaço de 1 paridade padrão, precisará de 2 SSDs. Se você tiver 2 espaços de paridade , você precisa de 4 SSDs etc.).
  6. Pode ser óbvio, mas adicionar discos do Journal aumenta apenas a velocidade da gravação de dados no disco virtual - a velocidade da leitura dos dados não será afetada.

Supondo que você esteja satisfeito com essas restrições, eis o que você precisará fazer em uma janela elevada do PowerShell:

Neste exemplo, suponho que você ainda não criou seu pool de armazenamento ou discos virtuais - se você já possui um conjunto, modifique as instruções para adequá-lo.

# See what disks you've got available so you can set the below variables
Get-StoragePool -IsPrimordial $true | Get-PhysicalDisk `
    | Where-Object CanPool -eq $True

# Tell Windows which disk is a traditional HDD and which is an SSD
$HDDs = "PhysicalDisk1", "PhysicalDisk2", "PhysicalDisk3"
$SSDs = "PhysicalDisk4", "PhysicalDisk5"

# Create a new storage pool (these are fairly default options)
New-StoragePool -FriendlyName "Your Storage Pool" `
    -PhysicalDisks (Get-PhysicalDisk $HDDs) `
    -StorageSubSystemFriendlyName "Storage Spaces*" `
    -ResiliencySettingNameDefault Parity

# Add in your two (or more) Journal disks
Add-PhysicalDisk -StoragePoolFriendlyName "Your Storage Pool" `
    -PhysicalDisks (Get-PhysicalDisk $SSDs) -Usage Journal

# Create the virtual disk and get it ready for use
New-VirtualDisk -FriendlyName "Parity Protected & Journaled Data" `
    -StoragePoolFriendlyName "Your Storage Pool" -NumberOfColumns 3 `
     -ProvisioningType Thin -ResiliencySettingName Parity -Size 2TB `
    | Initialize-Disk -PassThru -PartitionStyle MBR `
    | New-Partition -AssignDriveLetter -UseMaximumSize `
    | Format-Volume -FileSystem NTFS `
        -NewFileSystemLabel "Parity Protected & Journaled" -Confirm:$false

Agora você pode verificar tudo funcionou usando um Get-PhysicalDisk:

FriendlyName  CanPool OperationalStatus HealthStatus Usage            Size
------------  ------- ----------------- ------------ -----            ----
PhysicalDisk1 False   OK                Healthy      Auto-Select  10.25 GB
PhysicalDisk2 False   OK                Healthy      Auto-Select  10.25 GB
PhysicalDisk3 False   OK                Healthy      Auto-Select  10.25 GB
PhysicalDisk4 False   OK                Healthy      Journal      10.25 GB
PhysicalDisk5 False   OK                Healthy      Journal      10.25 GB

Fontes:

Alan Isherwood
fonte
O ponto 4 ainda é válido para o Windows 8.1 e 2012 r2?
Peter Peter
11
@ Peter Ainda se aplica tanto quanto eu sei.
24515 Alan Isherwood
5

Eu acho que isso foi melhorado no Windows Server 2012 R2 .

  • Cache de write-back

Os Espaços de Armazenamento podem usar unidades de estado sólido existentes no pool de armazenamento para criar um cache de write-back tolerante a falhas de energia e que armazena em buffer pequenas gravações aleatórias em unidades de estado sólido antes de gravá-las posteriormente em unidades de disco rígido.

  • Que valor essa alteração agrega?

As gravações aleatórias pequenas geralmente dominam as cargas de trabalho comuns da empresa e podem afetar o desempenho de outras transferências de dados que estão ocorrendo. Ao usar unidades de estado sólido (que se destacam no acesso aleatório) para um cache de write-back, os Espaços de Armazenamento podem reduzir a latência das gravações aleatórias e também reduzir significativamente qualquer impacto no desempenho de outras transferências de dados.

  • O que funciona de maneira diferente?

O cache de write-back é transparente para administradores e usuários e é criado em todos os novos discos virtuais se houver um número suficiente de unidades de estado sólido no pool de armazenamento, conforme determinado pelos seguintes requisitos para o espaço de armazenamento associado:

  1. Espaços simples requerem uma unidade de estado sólido
  2. Os espaços de espelho bidirecional e de paridade única requerem duas unidades de estado sólido
  3. Os espaços de espelho de três vias e os espaços de paridade dupla requerem três unidades de estado sólido

O cache de write-back funciona com todos os tipos de espaços de armazenamento, incluindo espaços de armazenamento com camadas de armazenamento.

Os espaços de armazenamento recém-criados usam automaticamente um cache de write-back de 1 GB por padrão quando o pool de armazenamento contém discos físicos suficientes com MediaType definido como SSD ou Uso definido como Diário para suportar a configuração de resiliência especificada. Se não houver discos físicos suficientes com essas configurações, o tamanho do cache de write-back será definido como 0, exceto para espaços de paridade, quando definido como 32 MB.

alonsomh
fonte
Olá e bem-vindo ao superuser.com. Seu exemplo refere-se ao servidor Windows, enquanto o pôster perguntou sobre o Windows 8.1. Você tem certeza de que o que está falando também vale para o Windows 8.1? Se sim, você tem referências para isso?
Mogget
3

Depende, realmente. Há pelo menos quatro maneiras de utilizar SSDs em uma configuração mista, ou seja, quando houver HDDs e SSDs:

  • Você pode apenas adicioná-los cegamente à piscina. Isso não faz nenhum sentido, porque os dados se espalham aleatoriamente pelos discos, independentemente da intensidade da gravação. Nota: essa é a configuração padrão, é claro.
  • Você pode usar os SSDs para registrar em diário com espaços de paridade (RAID5 / 6), ou seja, armazenar em cache durante gravações. Isso eu recomendaria sinceramente se os espaços de paridade não fossem tão difíceis. Não, na verdade é ruim, evite a todo custo. Para espaços espelhados, um diário dedicado é inútil, pois não há paridade, apenas uma cópia 1: 1.
  • Você pode configurar o armazenamento em camadas e permitir que o Windows mova automaticamente os dados acessados ​​com frequência para os SSDs mais rápidos. Isso pode funcionar decentemente, mas é realmente difícil fazer benchmarks, então não posso dizer se é bom ou ruim.
  • Você também pode criar duas matrizes separadas, colocar os 2 SSDs em um espelho bidirecional para arquivos de programas e outras coisas que exigem muita gravação e colocar os 4 HDDs em outro espelho bidirecional para todo o resto. Este é o que eu recomendo para você.

Se você está curioso para saber por que estou tão confiante, é porque passei algumas semanas (sem brincadeira) testando os Espaços de Armazenamento. Confira minha série detalhada de benchmarking para todos os números que apóiam minhas declarações:

Felicidades.

bviktor
fonte
2

Há muito pouca documentação sobre isso, mas li em algum lugar que o Storage Spaces tem a opção de adicionar um disco a um pool para o Journaling. Não consigo encontrar o artigo original, mas se você observar o cmdlet Add-PhysicalDisk , em Uso, há uma opção para o Diário ... Quando li sobre isso, o cara mencionou que ele usava um SSD como um disco do diário e adicionou-o a um conjunto de 8 unidades de 2 TB e a leitura e gravação aumentaram em 40% + ... Sua milhagem pode variar, mas pode valer a pena tentar ...

Como opção de terceiros, você também pode querer dar uma olhada no FancyCache . Você pode usar memória e SSDs como cache para sua mídia mais lenta. Eu o usei antes e funcionou bem, só não tive a chance de reinstalar desde que fui para o Server 2012 ...

TiernanO
fonte
+1 para a dica FancyCache, nunca ouvi falar dessa antes e pode valer a pena dar uma olhada.
TheBlastOne
Os discos de registro no diário são usados ​​apenas para espaços de paridade IIRC. Para espaços espelhados, você precisa configurar o WBC.
Monstieur 3/08/16