Pautas directas de espacios de almacenamiento

12

Recientemente he implementado WS2016 DC en 4x DL380 G7s para fines de PoC. Cada servidor tiene 4 unidades de disco duro SAS de 10 GB y 300 GB, además, tengo un par de SSD Intel que puedo tomar prestados temporalmente de mi empresa. Mi objetivo principal es probar diferentes "modos" de réplica de almacenamiento e implementar la función de servidor de archivos de escalabilidad horizontal en la parte superior de Storage Spaces Direct.

Hace aproximadamente un mes, tuve dificultades para implementar Storage Spaces Direct de 2 nodos en una configuración de hardware diferente (2 servidores Supermicro). Para ser honesto, el proceso de instalación estaba lejos de ser "sencillo". Hubo un problema con WinRM, el error "tipo de bus no compatible" mientras intentaba "-Enable-ClusterS2D" y algunos problemas más tarde cuando intentaba crear un nuevo espacio en niveles.

Básicamente, estoy buscando la guía más actualizada sobre cómo configurar Storage Spaces Direct en un entorno de 4 nodos usando Powershell. El tipo de resiliencia no es importante ya que me gustaría probar diferentes configuraciones de resiliencia.

¡Gracias por tu ayuda!

Mwilliams
fuente

Respuestas:

11

Hablando brevemente, la secuencia de implementación tiene el siguiente aspecto:

  1. Implemente las funciones y funciones necesarias de WS
  2. Validar el clúster de conmutación por error
  3. Crear el clúster de conmutación por error
  4. Habilitar espacios de almacenamiento directo

-EnableStorageS2D

  1. Crear y configurar agrupaciones de almacenamiento

Entrada de ejemplo:

New-StoragePool -StorageSubSystemName #CLUSTER_NAME# -FriendlyName #POOL_NAME# -WriteCacheSizeDefault 0 -ProvisioningTypeDefault Fixed -ResiliencySettingNameDefault Simple -PhysicalDisk (Get-StorageSubSystem -Name #CLUSTER_NAME# | Get-PhysicalDisk)

  1. Crear y configurar discos virtuales

Entrada de ejemplo:

New-Volume -StoragePoolFriendlyName #POOL_NAME# -FriendlyName #VD_NAME# -PhysicalDiskRedundancy 2 -FileSystem CSVFS_REFS –Size 100GB

  1. Implementar SOFS
  2. Crear archivos compartidos ¡Eso es!

Aquí hay dos artículos que encontré útiles:

Enlace1 https://www.starwindsoftware.com/blog/microsoft-storage-spaces-direct-4-node-setup-2

Link2 https://technet.microsoft.com/en-us/windows-server-docs/storage/storage-spaces/hyper-converged-solution-using-storage-spaces-direct

Net Runner
fuente
2
He configurado Storage Spaces Direct siguiendo la guía que me ha proporcionado y ahora desplegaré SOFS para probar esta configuración aún más. Gracias por la ayuda!
Mwilliams
2
Piénselo dos veces antes de hacerlo: el S2D ​​de 2 nodos carece de compatibilidad con códigos de reconstrucción local y solo hace un espejo bidireccional. TL; DR: la falla del disco durante el reinicio del parche del segundo nodo derribará su clúster. Además, el rendimiento no es tan bueno en absoluto: no hay memoria caché de escritura DRAM y CSV es de solo lectura.
BaronSamedi1958
Todavía puede ser lo suficientemente bueno para un POC inicial.
TomTom
4

Mi script actual para evaluar Storage Spaces Direct

# windows server installation
Install-WindowsFeature Hyper-V, Data-Center-Bridging, Failover-Clustering, RSAT-Clustering-Powershell, Hyper-V-PowerShell -IncludeManagementTools

# before creating cluster set correct MediaType for all disks
#note before setting MediaType disks have to be assigned to a Storage Pool which can be deleted right after setting
Get-Physicaldisk | where size -gt 506870912000 | Set-PhysicalDisk MediaType HDD

# Create the cluster
New-Cluster -Name w16hyper -Node w16hyper1, w16hyper2, w16hyper3 -NoStorage -StaticAddress 192.168.2.100

# hack to use RAID cards as JBOD
(Get-Cluster).S2DBusTypes=0x100

Enable-ClusterStorageSpacesDirect -CacheState Disabled

Get-StorageSubSystem Cluster*
Get-StorageSubSystem Cluster* | Get-Volume

#statistics
Get-StorageSubSystem Cluster* | Get-StorageHealthReport

#jobs running on background (eg. rebuild)
Get-StorageJob | ? JobState -Eq Running

#status
Get-StoragePool S2D* | Get-PhysicalDisk | Group OperationalStatus -NoElement
Get-StoragePool S2D* | Get-PhysicalDisk | Sort Model, OperationalStatus

#get log info
Get-StorageSubSystem Cluster* | Debug-StorageSubSystem

Get-VirtualDisk
Get-PhysicalDisk -Usage Retired

#create new mirrored volume (survive 1 fail for 2node system, 2 simultaneous fails for more nodes)
New-Volume -FriendlyName "Volume A" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S* -Size 1TB

#create hybrid volume (mirror + parity) with recommended 10% mirror part size
New-Volume -FriendlyName "Volume A" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S* -StorageTierFriendlyNames Performance, Capacity -StorageTierSizes 100GB, 900GB

#cleanup (pool has to be deleted on each node)
Disable-ClusterStorageSpacesDirect
Get-StoragePool S2D* | Set-StoragePool -IsReadOnly $false
Get-StoragePool S2D* | Remove-StoragePool
Jan Zahradník
fuente