Il dominio Manage storage and file services vale il 15-20% di AZ-802, e le domande raramente chiedono definizioni: mettono davanti un sintomo — un disco che non compare, un volume che sparisce, un job che non parte — e chiedono la causa. Le sei aree d’esame stanno tutte su una sola catena: disco fisico, pool, virtual disk, volume, condivisione. Saper dire dove si rompe la catena è la differenza fra rispondere e indovinare.
Dal disco fisico al pool: perché un disco «non c’è»
Server Manager mostra sotto il primordial pool solo i dischi eleggibili. Se un disco appena installato non compare, non è un bug: Storage Spaces lo sta rifiutando per un motivo preciso, che si legge così:
Get-PhysicalDisk | Format-Table FriendlyName, MediaType, Size, CanPool, CannotPoolReason
I valori di CannotPoolReason che l’esame usa più spesso:
| Motivo | Significato | Rimedio |
|---|---|---|
In a pool |
il disco appartiene già a un pool, anche di un altro server | Remove-PhysicalDisk se il pool è raggiungibile, altrimenti Reset-PhysicalDisk |
Insufficient capacity |
ci sono partizioni che occupano lo spazio libero | Clear-Disk (cancella i dati) |
Offline |
disco offline o in sola lettura | Set-Disk -IsOffline $false |
In use by cluster |
lo usa un failover cluster | rimuoverlo dal cluster |
Removable media |
Windows lo classifica come rimovibile | non utilizzabile |
Stessa logica per gli stati di salute: Unrecognized metadata e Stale metadata indicano metadati di un pool diverso e si risolvono con Reset-PhysicalDisk seguito da Repair-VirtualDisk. Su un server standalone i dischi devono essere vuoti, non formattati, di almeno 4 GB, dietro HBA con ogni funzione RAID disabilitata. I minimi di resilienza vanno ricordati a memoria: Simple 1 disco, two-way mirror 2, three-way mirror 5, Parity 3. Poi New-StoragePool, New-VirtualDisk (thin o fixed) e la creazione del volume. Nota che uno storage space non può ospitare il sistema operativo.
Storage bus cache: il tiering del server senza cluster
È la risposta quando lo scenario dice «migliorare le letture su un server standalone senza comprare all-flash». Introdotta con Windows Server 2022, ha tre requisiti che l’esame verifica quasi sempre:
- il server esegue Windows Server 2022 (non 2016, non 2019);
- ha due tipi di media, uno dei quali HDD (SSD+HDD o NVMe+HDD): una configurazione all-flash non è supportata, e nemmeno RAID o SAN;
- ha la feature Failover Clustering installata, pur non essendo membro di alcun cluster.
Si abilita con Import-Module StorageBusCache e Enable-StorageBusCache, che crea il pool e lega media veloce e lenta. Get-StorageBusCache mostra ProvisionMode (Shared, con SharedCachePercent al 15%): i parametri vanno cambiati prima di abilitare, perché dopo sono immutabili. Su volumi Simple la cache serve letture e scritture; su mirror-accelerated parity è sola cache in lettura. Aggiungendo HDD si esegue Update-StorageBusCache.
Storage Spaces Direct: la resilienza si sceglie una volta sola
Sul cluster S2D il tipo di resilienza si decide alla creazione del volume e non è convertibile dopo: si crea un nuovo volume e si migrano i dati. Oltre a two-way mirror, three-way mirror e dual parity, i cluster di esattamente due nodi (Windows Server 2019 o successivi) hanno la nested resiliency, l’unica che tiene il volume online quando cade un nodo e contemporaneamente un disco nel nodo superstite.
| Opzione | Tollera | Efficienza | Uso tipico |
|---|---|---|---|
| Two-way mirror | 1 guasto | ~50% | generico, prestazioni |
| Nested two-way mirror | nodo + disco | 25% | carichi a scrittura intensa |
| Nested mirror-accelerated parity | nodo + disco | 35-40% | archivi, dati poco riscritti |
Su Windows Server 2019 vanno prima creati i tier template con New-StorageTier (NestedMirrorOnHDD con -NumberOfDataCopies 4, NestedParityOnHDD con -PhysicalDiskRedundancy 1); su Windows Server 2022 il passaggio si salta e si va diretti a New-Volume -StorageTierFriendlyNames. Servono almeno 4 dischi di capacità per nodo più i dischi di cache, e la nested resiliency non si usa con tre o più nodi.
Storage Replica: la destinazione sparisce, ed è corretto
Replica a blocchi, uno-a-uno (niente uno-a-molti né catene A verso B verso C), sincrona per impostazione predefinita o asincrona con New-SRPartnership -ReplicationMode Asynchronous. La sincrona vuole una latenza media di andata e ritorno intorno ai 5 ms; ogni lato vuole volumi GPT, volumi dati di dimensione identica e un log volume dedicato su flash (8 GB di default, volume da almeno 10 GB) mai condiviso con altri carichi. Si valida con Test-SRTopology, si monitora con Get-SRGroup e Get-SRPartnership, si inverte la direzione con Set-SRPartnership.
Il punto che genera i ticket veri: la destinazione viene smontata di proposito, lettera di unità compresa, e resta inaccessibile per tutta la durata della replica. Dal 2019 si legge senza rompere nulla con il test failover, che monta uno snapshot usando un volume temporaneo non replicato:
Mount-SRDestination -Name RG2 -ComputerName SRV2 -TemporaryPath T:\
Dismount-SRDestination -Name RG2 -ComputerName SRV2
Altri dettagli che l’esame sfrutta: i volumi replicati si estendono solo dopo Set-SRGroup -AllowVolumeResize $TRUE e non si riducono mai; una partnership nuova fra Windows Server 2016 e 2019/2022 è bloccata dalla versione del log; la deduplicazione si installa su entrambi i server ma si abilita solo sull’origine.
Data Deduplication
Post-process, non inline: si installa con Install-WindowsFeature -Name FS-Data-Deduplication (su ogni nodo del cluster) e si abilita per volume con Enable-DedupVolume -Volume "C:\ClusterStorage\Volume1" -UsageType Default, scegliendo fra Default (file server generici), HyperV (VDI) e Backup (backup virtualizzati). Su ReFS è supportata da Windows Server 2019; su S2D vale per volumi mirror o parity, ma non su volumi con più tier. Regola di dimensionamento: 1 GB di RAM per TB logico.
Se la finestra pianificata non basta, il job si forza a mano:
Start-DedupJob -Type Optimization -Volume "C:\ClusterStorage\Volume1" -Memory 100 -Cores 100 -Priority High
In cluster il job manuale va lanciato dal nodo owner del CSV. Si controlla con Get-DedupJob e Get-DedupStatus (LastOptimizationResult a 0 significa successo). Una hard quota sulla radice di un volume deduplicato non è supportata e può far fallire l’ottimizzazione: sulla radice si usa una soft quota.
SMB Direct e RDMA
SMB Direct usa schede RDMA (iWARP, RoCE, InfiniBand) ed è attivo per impostazione predefinita. A rilevare la capacità RDMA è SMB Multichannel: disabilitarlo disabilita anche SMB Direct. Si verifica con Get-SmbClientNetworkInterface e Get-SmbServerNetworkInterface; si spegne con Disable-NetAdapterRdma o globalmente con Set-NetOffloadGlobalSetting -NetworkDirect Disabled. Le vNIC di una VM non espongono RDMA, e iWARP vuole aperta anche la porta 5445.
Il fatto che decide le domande sulla cifratura: fino a Windows Server 2019 abilitare la cifratura SMB disattivava il direct data placement, riducendo le prestazioni RDMA a quelle del TCP. Da Windows Server 2022 e Windows 11 SMB Direct supporta la cifratura (AES-128 e AES-256) con un degrado contenuto, e il cluster può cifrare selettivamente il traffico est-ovest di CSV e storage bus layer. Da ricordare separatamente: l’obbligo di cifratura lato client (Set-SmbClientConfiguration -RequireEncryption $true, o il criterio Require encryption in Lanman Workstation) esiste solo da Windows 11 24H2 e Windows Server 2025.
Trappole tipiche d’esame
- Disco nuovo assente dal primordial pool. Non è guasto: leggi
CannotPoolReason. Metadati di un altro pool si puliscono conReset-PhysicalDisk, partizioni residue conClear-Disk. Sostituire il disco è sempre il distrattore. - Storage bus cache e il cluster che non c’è. Serve la feature Failover Clustering installata su un server che non è membro di un cluster: le due metà della frase sembrano contraddirsi, ed è esattamente per questo che la domanda esiste. Aggiungi il vincolo dei due media type con almeno un HDD: un server all-flash è escluso.
- Due nodi, nodo giù più disco guasto. Il two-way mirror classico non basta: serve la nested resiliency. Per dati d’archivio la risposta è nested mirror-accelerated parity (35-40% di efficienza), non il nested two-way mirror che ne spreca il 75%. E un volume esistente non si converte.
- «Dopo aver creato la partnership la destinazione non è più accessibile». È il comportamento documentato, non un guasto. Per leggere i dati si usa
Mount-SRDestination: invertire la direzione o rimuovere la partnership sono risposte sbagliate a un problema che non esiste. - Job di dedup che non parte su un CSV.
Start-DedupJobva eseguito sul nodo proprietario del Cluster Shared Volume, e la feature dev’essere installata su tutti i nodi. Se lo scenario nomina anche una quota, ricorda che la hard quota sulla radice del volume non è supportata. - Cifratura SMB su un workload RDMA in Windows Server 2019. Attivarla lì azzera il vantaggio di SMB Direct perché disabilita il direct data placement: la risposta corretta è l’aggiornamento a Windows Server 2022, non «abilitare e basta» né «rinunciare alla cifratura».