0

I have a mirrored S2D cluster setup, one of my drives has an IO error as evidenced below. How do I find what physical server in the cluster this drive is attached to? I've ran all sorts of commands and can't find this information.

PS C:\Windows\system32> Get-PhysicalDisk

FriendlyName                    SerialNumber    CanPool OperationalStatus           HealthStatus Usage            Size
------------                    ------------    ------- -----------------           ------------ -----            ----
ST3320413AS                     W2A749LZ        False   OK                          Healthy      Auto-Select 298.09 GB
SanDisk SSD PLUS 120 GB         181424801962    False   OK                          Healthy      Journal     111.75 GB
SAMSUNG SSD PM851 2.5 7mm 128GB S1CTNSAF829417  False   OK                          Healthy      Journal        119 GB
ST31500541AS                    6XW09SL5        False   OK                          Healthy      Auto-Select   1.36 TB
ST1000DM003-1ER162              Z4Y43R31        False   OK                          Healthy      Auto-Select  931.5 GB
ST1000DM003-1CH162              S1DFPS7G        False   OK                          Healthy      Auto-Select  931.5 GB
WDC WD30EZRX-00MMMB0            WD-WCAWZ2490999 False   {Transient Error, IO Error} Unhealthy    Auto-Select   2.73 TB
ST2000DM006-2DM164              Z4Z8A7A8        False   OK                          Healthy      Auto-Select   1.82 TB
SanDisk SSD PLUS 120 GB         181424800647    False   OK                          Healthy      Journal     111.75 GB
ST1000DM003-1ER162              Z4Y43A3E        False   OK                          Healthy      Auto-Select  931.5 GB
ST2000DM006-2DM164              Z4Z89YEP        False   OK                          Healthy      Auto-Select   1.82 TB
ST1000DM003-1ER162              W4Y17MW5        False   OK                          Healthy      Auto-Select  931.5 GB
SAMSUNG SSD PM851 2.5 7mm 128GB S1CTNSAF719804  False   OK                          Healthy      Journal        119 GB
  • Can you use physical disk identification? E. g. Get-PhysicalDisk |? OperationalStatus -Notlike OK | Enable-PhysicalDiskIdentification and look for the LED? – Lenniey Aug 16 '18 at 15:31
  • LED's are not an option because these are not in a server chassis. I have them all crammed in a desktop chassis. – Corey Manshack Aug 16 '18 at 15:38
  • Ouch...what about Get-StorageSubSystem Cluster* | Debug-StorageSubSystem? – Lenniey Aug 17 '18 at 7:36
  • @Lenniey that returns nothing. – Corey Manshack Aug 20 '18 at 20:01
1

After some research because I wanted to know myself, you can use

Get-PhysicalDisk -SerialNumber 'WD-WXL1AC73EVDU' | Get-PhysicalDiskStorageNodeView

The command will return something like this:

   StorageNodeObjectId: {1}\\CLUSTOR\ROOT/microsoft/windows/storage/providers_v2\SPACES_StorageNode.ObjectId="{c5edeb90-e0c3-487e-bcb7-6c166cd5db95}:SN:Server1"


DiskNumber            : 2011
IsPhysicallyConnected : False
HealthStatus          : Healthy
OperationalStatus     : OK
IsMpioEnabled         : False
LoadBalancePolicy     :
PathId                :
PathState             :
StorageNode           : MSFT_StorageNode (ObjectId = "{1}\\CLUSTOR\ROOT/microsoft/windows/sto...)
PhysicalDisk          : MSFT_PhysicalDisk (ObjectId = "{1}\\CLUSTOR\ROOT/microsoft/windows/sto...)


   StorageNodeObjectId: {1}\\CLUSTOR\ROOT/microsoft/windows/storage/providers_v2\SPACES_StorageNode.ObjectId="{c5edeb90-e0c3-487e-bcb7-6c166cd5db95}:SN:Server2"


DiskNumber            : 2011
IsPhysicallyConnected : True
HealthStatus          : Healthy
OperationalStatus     : OK
IsMpioEnabled         : False
LoadBalancePolicy     :
PathId                :
PathState             :
StorageNode           : MSFT_StorageNode (ObjectId = "{1}\\CLUSTOR\ROOT/microsoft/windows/sto...)
PhysicalDisk          : MSFT_PhysicalDisk (ObjectId = "{1}\\CLUSTOR\ROOT/microsoft/windows/sto...)

IsPhysicallyConnected : True on SN:Server2 being the important part.

I think there has to be another, easier way (or I hope so), but it should be enough for your purpose.

| improve this answer | |
0

I know this is old but this is a quick copy/paste I used

$a = @()
Get-PhysicalDisk |  where { $_.SlotNumber -ne $null} | ForEach-Object {
    $d=$_| Get-PhysicalDiskStorageNodeView|  where { $_.IsPhysicallyConnected } |select StorageNodeObjectId
    $f=$d.StorageNodeObjectId -match '.*SN:(.*)"'
    $a += [pscustomobject]@{Server = $Matches.1;SlotNumber=$_.SlotNumber;DeviceId = $_.DeviceId ; OperationalStatus = $_.OperationalStatus ;HealthStatus=$_.HealthStatus;SerialNumber=$_.SerialNumber;Name=$_.FriendlyName;}
}
$a | Sort-Object -property Server,SlotNumber | Format-Table
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.