Espaços de armazenamento no Windows 10 e camadas

Espaços de armazenamento no Windows 10 e camadas

Eu tenho vários discos na minha área de trabalho do Windows 10 (pro, se for o caso) e tenho brincado com espaços de armazenamento. Gostaria de alguns conselhos sobre como configurar volumes de armazenamento para meus casos de uso. Eu sei que a IU do Windows 10 é limitada, mas parece que você pode obter os recursos de camadas do Powershell. Fico feliz em ler a documentação sobre espaços de armazenamento e tentar desvendar o recurso, mas gostaria de receber alguma opinião se minha estratégia for correta.

Aqui está o que tenho atualmente:

  • SSD de 2x256 GB - não alocado, era meu antigo volume de inicialização + aplicativos RAID0
  • HDD de 1x5 TB - mídia + jogos + aplicativos (quero aposentar esta unidade)
  • HDD de 1x8 TB - mídia+documentos+fotos
  • HDD de 2x8 TB - novos discos não utilizados
  • CPU: i7 4790k no chipset mobo Z97, provavelmente atualize para Ryzen3 quando chegar a hora
  • Minha unidade de inicialização é um disco NVMe de 512 GB

Eu gostaria de construir dois volumes com as unidades acima. Idealmente, isso é o que eu quero:

  • jogos + volume de trabalho: camada SSD listrada de 256 GB + camada HDD listrada de 3 TB
  • volume de mídia + documentos + fotos: camada SSD espelhada de 256 GB + camada HDD de 'paridade' de 14 TB

Posso perder tudo no volume de jogos + scratch, pois posso simplesmente baixar novamente os dados. Por exemplo, eu colocaria meus arquivos de 'memória' da VM, banco de dados plex etc. Qualquer coisa sensível eu faria backup para o outro volume.

Quero pelo menos uma redundância de unidade no volume mídia+documentos+fotos. Tenho backup dos meus documentos + fotos fora do local. então isso só vai me poupar um pouco de dor de cabeça se eu perder uma unidade.

Essa configuração parece razoável e é algo que posso conseguir em uma máquina Windows 10 pro?

Também li que os espaços de armazenamento apresentam desempenho de pool de 'paridade' muito ruim em versões anteriores do Windows. É istoaindaverdadeiro? Não consegui realizar um teste real de configuração de paridade porque 2 dos meus 4 HDDs são usados. Pensei em perguntar aqui caso alguém tenha alguma experiência em fazer isso antes.

Que outras soluções devo procurar?

Responder1

Para criar espaços de armazenamento em camadas do Windows 10, consulte estas referências:

Reproduzo aqui o script PowerShell de Nils Schimmelmann para criar espaços de armazenamento de duas camadas, para SSD e HDD:

#Variables
$StoragePoolName = "My Storage Pool"
$TieredSpaceName = "My Tiered Space"
$ResiliencySetting = "Simple"
$SSDTierName = "SSDTier"
$HDDTierName = "HDDTier"

#List all disks that can be pooled and output in table format (format-table)
Get-PhysicalDisk -CanPool $True | ft FriendlyName,OperationalStatus,Size,MediaType

#Store all physical disks that can be pooled into a variable, $PhysicalDisks
$PhysicalDisks = (Get-PhysicalDisk -CanPool $True | Where MediaType -NE UnSpecified)       

#Create a new Storage Pool using the disks in variable $PhysicalDisks with a name of My Storage Pool
$SubSysName = (Get-StorageSubSystem).FriendlyName
New-StoragePool -PhysicalDisks $PhysicalDisks -StorageSubSystemFriendlyName $SubSysName -FriendlyName $StoragePoolName

#View the disks in the Storage Pool just created
Get-StoragePool -FriendlyName $StoragePoolName | Get-PhysicalDisk | Select FriendlyName, MediaType

#Create two tiers in the Storage Pool created. One for SSD disks and one for HDD disks
$SSDTier = New-StorageTier -StoragePoolFriendlyName $StoragePoolName -FriendlyName $SSDTierName -MediaType SSD
$HDDTier = New-StorageTier -StoragePoolFriendlyName $StoragePoolName -FriendlyName $HDDTierName -MediaType HDD

#Identify tier sizes within this storage pool
$SSDTierSizes = (Get-StorageTierSupportedSize -FriendlyName $SSDTierName -ResiliencySettingName $ResiliencySetting).TierSizeMax
$HDDTierSizes = (Get-StorageTierSupportedSize -FriendlyName $HDDTierName -ResiliencySettingName $ResiliencySetting).TierSizeMax 

#Create a new virtual disk in the pool with a name of TieredSpace using the SSD and HDD tiers
New-VirtualDisk -StoragePoolFriendlyName $StoragePoolName -FriendlyName $TieredSpaceName -StorageTiers $SSDTier, $HDDTier -StorageTierSizes $SSDTierSizes, $HDDTierSizes -ResiliencySettingName $ResiliencySetting  -AutoWriteCacheSize -AutoNumberOfColumns

#Alternatively try adjusting the sizes manually:
#New-VirtualDisk -StoragePoolFriendlyName $StoragePoolName -FriendlyName $TieredSpaceName -StorageTiers @($SSDTier,$HDDTier) -StorageTierSizes @(228GB,1.816TB) -ResiliencySettingName $ResiliencySetting -AutoWriteCacheSize -AutoNumberOfColumns

Responder2

O exemplo a seguir mostra como criar um volume multirresiliente em que a camada SSD é espelhada e a camada HDD é configurada em paridade.

New-StorageTier -StoragePoolFriendlyName Pool1 -FriendlyName SSD_Tier -MediaType SSD -ResiliencySettingName Mirror
New-StorageTier -StoragePoolFriendlyName Pool1 -FriendlyName HDD_Tier -MediaType HDD -ResiliencySettingName Parity
$ssd_tier = Get-StorageTier -FriendlyName SSD_Tier
$hdd_tier = Get-StorageTier -FriendlyName HDD_Tier
New-VirtualDisk -StoragePoolFriendlyName Pool1 -FriendlyName "VirtualDisk" -StorageTiers @($ssd_tier,$hdd_tier) -StorageTierSizes 100GB, 300GB

Fonte:https://www.starwindsoftware.com/blog/configure-a-resilient-volume-on-windows-server-2016-using-storage-spaces

Responder3

A resposta de @harrymc não funcionou para mim.

Tive que reduzir um pouco os dois tamanhos (aqui por um fator do "Divisor")

Além disso, vi que as camadas relatavam Resiliência como "Espelho", então também as configurei como "Simples", mas não tenho certeza se isso era necessário.

#Variables
$StoragePoolName = "MyPool"
$TieredSpaceName = "MySpace"
$ResiliencySetting = "Simple"
$SSDTierName = "SSDTier"
$HDDTierName = "HDDTier"

#List all disks that can be pooled and output in table format (format-table)
Get-PhysicalDisk -CanPool $True | ft FriendlyName,OperationalStatus,Size,MediaType

#Store all physical disks that can be pooled into a variable, $PhysicalDisks
$PhysicalDisks = (Get-PhysicalDisk -CanPool $True | Where MediaType -NE UnSpecified)       

#Create a new Storage Pool using the disks in variable $PhysicalDisks with a name of My Storage Pool
$SubSysName = (Get-StorageSubSystem).FriendlyName
New-StoragePool -PhysicalDisks $PhysicalDisks -StorageSubSystemFriendlyName $SubSysName -FriendlyName $StoragePoolName

#View the disks in the Storage Pool just created
Get-StoragePool -FriendlyName $StoragePoolName | Get-PhysicalDisk | Select FriendlyName, MediaType

#Create two tiers in the Storage Pool created. One for SSD disks and one for HDD disks
$SSDTier = New-StorageTier -StoragePoolFriendlyName $StoragePoolName -FriendlyName $SSDTierName -MediaType SSD -ResiliencySettingName $ResiliencySetting
$HDDTier = New-StorageTier -StoragePoolFriendlyName $StoragePoolName -FriendlyName $HDDTierName -MediaType HDD -ResiliencySettingName $ResiliencySetting

#Identify tier sizes within this storage pool
$SSDTierSizes = (Get-StorageTierSupportedSize -FriendlyName $SSDTierName -ResiliencySettingName $ResiliencySetting)
$HDDTierSizes = (Get-StorageTierSupportedSize -FriendlyName $HDDTierName -ResiliencySettingName $ResiliencySetting)

#Create a new virtual disk in the pool with a name of TieredSpace using the SSD and HDD tiers
New-VirtualDisk -StoragePoolFriendlyName $StoragePoolName -FriendlyName $TieredSpaceName -StorageTiers $SSDTier, $HDDTier -StorageTierSizes @(($SSDTierSizes.TierSizeMax - $SSDTierSizes.TierSizeDivisor * 8), ($HDDTierSizes.TierSizeMax - $HDDTierSizes.TierSizeDivisor * 10)) -ResiliencySettingName $ResiliencySetting  -AutoWriteCacheSize -AutoNumberOfColumns

Responder4

A redundância de RAID pode ajudar em uma falha de unidade, mas não pode ajudar se um vírus Ransomeware criptografar seus arquivos ou em uma falha catastrófica (improvável) na fonte de alimentação que pode explodir todos os discos rígidos conectados a ele (já vi isso). Minha abordagem é ter off-line em uma gaveta uma cópia completa do conjunto de discos rígidos e, uma vez a cada dois meses, atualizá-los e trocá-los pelo conjunto de trabalho. Dessa forma, as horas de uso serão distribuídas. Os dados críticos têm um backup extra. Para sincronização rápida, uso o Total Commander. Além disso, um arquivo de texto MD5 completo com todo o conteúdo é útil para detectar possíveis corrupções. Um criador de arquivos de redundância muito útil para adicionar a um backup para recuperar em caso de corrupção ou exclusão é:http://www.ice-graphics.com/ICEECC/IndexE.html

informação relacionada