When you configure S2D cluster with autoconfig=yes or using VMM, S2D creates storage pool with all disks of which parameter CanPool is True. For example, if you have 2 SSDs and 4 HDDs targeted to S2D and other 2 HDDs for system partitions (you plan to use mirrored volumes, for example), they all will be added to S2D pool (except of a system disk, of course, as it’s cannot be pooled). All physical disks that are part of any pool,including Primordial pool, will not be shown in the disk manager (diskmgmt.msc) if they had been claimed by S2D subsystem. In that case, to make your disk available in the diskmgmt, you need to remove it from pool, rebuild virtual disks (if existed) and unclaim it from S2D. Use the steps below to get your disk back from pool:
#Get all available disks Get-PhysicalDisk|ft FriendlyName,SerialNumber,CanPool #Variable for the disk that you want to remove from $pool $disk=Get-PhysicalDisk -SerialNumber disk_serial_number $pool=Get-StoragePool S2D* #Set disk usage to Retired $disk|Set-PhysicalDisk -Usage Retired #Repair Virtual Volumes in the pool Get-VirtualDisk | ft -AutoSize Repair-VirtualDisk -FriendlyName "vdisk_name" Get-StorageJob #Remove the disk from the pool. #The disk will be added to the Primordial pool #...but not be shown in the diskmgmt Remove-PhysicalDisk $disk -StoragePool $pool #Tell S2D cluster to not use the removed disk for pool purposes #....make disk available in the diskmgmt Set-ClusterS2DDisk -CanBeClaimed 0 -PhysicalDiskIds disk_id #Optimize pool Get-StoragePool $pool|Optimize-StoragePool
If you removed disk improperly from the pool, you might have the following status for the disk:
{Removing from Pool, Unrecognized Metadata)
Try to reset the physical disk and then disk will be shown in the diskmgmt as well.
Get-PhysicalDisk | ? OperationalStatus -eq "Unrecognized Metadata"|Reset-PhysicalDisk
P.S. if you add a new server to the S2D, its drives will be automatically added to the pool by default. You can change this behavior by setting AutoPool setting to False.
Get-StorageSubSystem Clu* | Set-StorageHealthSetting -Name “System.Storage.PhysicalDisk.AutoPool.Enabled” -Value False
Cool!
Hi. I add a new logical drive on the same Array as my OS-disk (HPE p408e-p controller)
I’ve already set the “..AutoPool.Enabled” to False, so the disk does not end up in the S2D-cluster. But it’s added to the Primordial pool, and therfore(?) not visible in diskmgmt.
When I run “Set-ClusterS2DDisk -CanBeClaimed 0 -PhysicalDiskIds disk_id” I get an error:
Set-ClusterS2DDisk : Physical disk with Id ’17b039…………………fd96b’ not found. Run cluster validation, includi
ng the Storage Spaces Direct tests, to verify the configuration
At line:1 char:1
+ Set-ClusterS2DDisk -CanBeClaimed 0 -PhysicalDiskIds 600……………..A18 …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (MSCluster_StorageSpacesDirect:root/MSCLUSTER/…ageSpacesDirect) [Set-Cluste
rStorageSpacesDirectDisk], CimException
+ FullyQualifiedErrorId : HRESULT 0x80070490,Set-ClusterStorageSpacesDirectDisk
Set-ClusterS2DDisk : Failed to run CIM method SetStorageSpacesDirectDisk on the root/MSCLUSTER/MSCluster_StorageSpacesDirect
CIM object. The CIM method returned the following error code: 1168
At line:1 char:1
+ Set-ClusterS2DDisk -CanBeClaimed 0 -PhysicalDiskIds 600………………88A18 …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidResult: (MSCluster_StorageSpacesDirect:String) [Set-ClusterStorageSpacesDirectDisk], C
imJobException
+ FullyQualifiedErrorId : CimJob_SetStorageSpacesDirectDisk_1168,Set-ClusterStorageSpacesDirectDisk
Any help appreciated
Matias, do you see the disk when running Get-PhysicalDisk -CanPool 1 ? Was the disk in the s2d pool?
Yes, the disks (there are 2, one on each host) are visble using Get-PhysicalDisk -CanPool 1
The disks never were in the S2D-pool. only Primordial.
It seems I can’t use “any” Set-PhysicalDisk command. I get error messages trying to change FriendlyName or Usage.
I’m thinking there might be a bug with the “Mixed Mode” of the Storage Controller. But I’m only really guessing.
The disk has the same serial number as the OS-disk, located on the same Storage Array. But the Uniqe ID is uniqe.
Well, it could be a storage controller. In my case, all disks were connected via simple pass-through mode on the controller (as recommended for S2D). Serial numbers must not be the same. It’s illogical. Could you please write me using contact page? Just drop a test email. I’d like to discuss your issue. + As far as I know, Mixed Mode is still not supported by S2D.
Same problem as Mattias Gustavsson. We use NVMe only and the disk is not showing in diskmanagement.
HPE controller in Mixed Mode? Try to add the disk to the pool, and then unclaim the disk (-CanBeClaimed 0)
I was trying to find how to release disks from S2D so that it appear in Windows Disk Management, but none of the blogs have this. This one command below from Microsoft site, did just that.
Syntax
Set-ClusterStorageSpacesDirectDisk -CanBeClaimed:$False -PhysicalDiskIds serial_number
Example
PS C:\> Set-ClusterStorageSpacesDirectDisk -CanBeClaimed:$False -PhysicalDiskIds “55CD2E404B75A3FC”,”50014EE05950DD7C”
CanBeClaimed parameter is used in the post.
PhysicalDiskIds parameter was replaced by PhysicalDisk and PhysicalDiskGuid.
PhysicalDisk accepts values of CimInstance#MSFT_PhysicalDisk class (it is a class of output of Get-PhysicalDisk cmdlet),
and PhysicalDiskGuid accepts GUID strings. These parameters cannot be used with each other.
Also, it has a new Reset parameter (without value)
There is also CacheUsage parameter, that accepts following values: NonHybrid, Capacity, Cache, Auto
So, the syntax is following:
Set-ClusterStorageSpacesDirectDisk -PhysicalDiskGuid [-CanBeClaimed ] [-Reset] [-CacheUsage {NonHybrid | Capacity | Cache | Auto}] [-CimSession ] [-ThrottleLimit ] [-AsJob] [-WhatIf] [-Confirm] []
Thanks for the update.