Consignes relatives aux espaces de stockage directs

12

J'ai récemment déployé WS2016 DC sur 4x DL380 G7 à des fins PoC. Chaque serveur dispose de 4 disques SAS de 10 000 Go et de 300 Go. J'ai également quelques SSD Intel que je peux emprunter temporairement à mon entreprise. Mon objectif principal est de tester différents "modes" de réplica de stockage et de déployer le rôle de serveur de fichiers évolutif au-dessus de Storage Spaces Direct.

Il y a environ un mois, j'ai eu du mal à déployer des espaces de stockage à 2 nœuds directement sur une configuration matérielle différente (2 serveurs Supermicro). Pour être honnête, le processus d'installation était loin d'être "simple". Il y avait un problème avec WinRM, l'erreur "type de bus non pris en charge" pendant que j'essayais de "-Enable-ClusterS2D" et quelques problèmes plus tard lorsque j'ai essayé de créer un nouvel espace hiérarchisé.

Essentiellement, je recherche les conseils les plus récents sur la façon de configurer les espaces de stockage directs dans un environnement à 4 nœuds à l'aide de Powershell. Le type de résilience n'est pas important car je voudrais tester différents paramètres de résilience.

Merci de votre aide!

Mwilliams
la source

Réponses:

11

Parlant brièvement, la séquence de déploiement se présente comme suit:

  1. Déployer les rôles et fonctionnalités WS nécessaires
  2. Valider le cluster de basculement
  3. Créer le cluster de basculement
  4. Activer les espaces de stockage directement

-EnableStorageS2D

  1. Créer et configurer des pools de stockage

Exemple d'entrée:

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

  1. Créer et configurer des disques virtuels

Exemple d'entrée:

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

  1. Déployer SOFS
  2. Créer des partages de fichiers C'est tout!

Voici deux articles que j'ai trouvé utiles:

Link1 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
la source
2
J'ai configuré Storage Spaces Direct en suivant les instructions que vous avez fournies et je vais maintenant déployer SOFS pour tester cette configuration plus avant. Merci pour votre aide!
Mwilliams
2
Réfléchissez bien avant de le faire: le S2D à 2 nœuds ne prend pas en charge les codes de reconstruction locaux et ne fait que du miroir bidirectionnel. TL; DR: une défaillance du disque lors du redémarrage du deuxième correctif de nœud entraînera l'arrêt de votre cluster. De plus, les performances ne sont pas si bonnes du tout: pas de cache de réécriture DRAM et CSV est en lecture seule.
BaronSamedi1958
Peut être assez bon pour un POC inidial.
TomTom
4

Mon script actuel pour évaluer les espaces de stockage directs

# 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
la source