Espacios de almacenamiento en Windows 10 y niveles

Espacios de almacenamiento en Windows 10 y niveles

Tengo varios discos en mi escritorio con Windows 10 (pro si es importante) y he estado jugando con los espacios de almacenamiento. Me gustaría recibir algunos consejos sobre cómo configurar volúmenes de almacenamiento para mis casos de uso. Sé que la interfaz de usuario de Windows 10 es limitada, pero parece que puedes acceder a las funciones de niveles desde Powershell. Me complace leer los documentos sobre espacios de almacenamiento e intentar desentrañar la función, pero me gustaría recibir comentarios si mi estrategia es sólida.

Esto es lo que tengo actualmente:

  • SSD de 2 x 256 GB: no asignado, era mi antiguo volumen de arranque+aplicaciones RAID0
  • 1 disco duro de 5 TB: medios+juegos+aplicaciones (quiero retirar esta unidad)
  • 1 disco duro de 8 TB: medios+documentos+fotos
  • 2x8TB HDD - discos nuevos sin usar
  • CPU: i7 4790k en mobo con chipset Z97, probablemente actualice a Ryzen3 cuando llegue el momento
  • Mi unidad de arranque es un disco NVMe de 512 GB

Me gustaría construir dos volúmenes a partir de las unidades anteriores. Idealmente esto es lo que querría:

  • juegos+volumen de scratch: nivel SSD seccionado de 256 GB + nivel HDD seccionado de 3 TB
  • volumen de medios+documentos+fotos: nivel SSD reflejado de 256 GB + nivel HDD de 'paridad' de 14 TB

Todo lo que hay en el volumen de juegos y scratch puedo perderlo, ya que puedo volver a descargar los datos. Por ejemplo, pondría los archivos de 'memoria' de mi máquina virtual, la base de datos plex, etc. en el disco temporal. Cualquier cosa sensible la respaldaría en el otro volumen.

Quiero al menos una redundancia de unidad en el volumen de medios+documentos+fotos. Tengo una copia de seguridad de mis documentos y fotos fuera del sitio. así que esto me ahorrará un dolor de cabeza si perdiera un disco.

¿Esta configuración parece razonable y es algo que puedo lograr en una máquina con Windows 10 pro?

También leí que los espacios de almacenamiento tienen un rendimiento del grupo de "paridad" realmente pobre en versiones anteriores de Windows. Es estoaún¿verdadero? No he podido realizar una prueba real de una configuración de paridad porque se utilizan 2 de mis 4 HDD. Pensé en preguntar aquí en caso de que alguien tenga alguna experiencia en hacer esto antes.

¿Qué otras soluciones debería considerar?

Respuesta1

Para crear espacios de almacenamiento por niveles de Windows 10, consulte estas referencias:

Reproduzco aquí el script de PowerShell de Nils Schimmelmann para crear espacios de almacenamiento de dos niveles, para SSD y 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

Respuesta2

El siguiente ejemplo muestra cómo crear un volumen multirresiliente donde el nivel SSD está reflejado y el nivel HDD está configurado en Paridad.

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

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

Respuesta3

La respuesta de @harrymc no funcionó para mí.

Tuve que reducir un poco ambos tamaños (aquí por un factor del "Divisor")

Además, vi que los niveles reportaban Resiliencia como "Espejo", así que también los configuré como "Simple", pero no estoy seguro de si eso era necesario.

#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

Respuesta4

La redundancia RAID puede ayudar en caso de falla de la unidad, pero no puede ayudar si un virus Ransomeware cifra sus archivos, o en caso de una (improbable) falla catastrófica en el suministro de energía que puede arruinar todos los discos duros conectados (lo he visto). Mi enfoque es tener sin conexión en un cajón una copia completa del conjunto de discos duros y una vez cada dos meses actualizarla e intercambiarla con el conjunto de trabajo. De esta forma se distribuirán las horas de uso. Los datos críticos tienen una copia de seguridad adicional. Para una sincronización rápida utilizo Total Commander. También es útil un archivo de texto MD5 completo de todo el contenido para detectar posibles corrupciones. Un creador de archivos de redundancia muy útil para agregar a una copia de seguridad y recuperarla en caso de corrupción o eliminación es:http://www.ice-graphics.com/ICEECC/IndexE.html

información relacionada