I found a
great link for working with iSCSI drives from Powershell. The first thing you have to do is turn on iSCSI:
PS C:\Windows\system32> Set-Service -Name MSiSCSI -StartupType Automatic
PS C:\Windows\system32> Start-Service MsiSCSI
Next, tell Windows Server Core where your SAN resides:
PS C:\Windows\system32> New-IscsiTargetPortal -TargetPortalAddress 192.168.12.34
0
InitiatorInstanceName :
InitiatorPortalAddress :
IsDataDigest : False
IsHeaderDigest : False
TargetPortalAddress : 192.168.12.34
TargetPortalPortNumber : 3260
PSComputerName :
I would have thought at this point it would know the iSCSI share but it did not. Had to run this command:
PS C:\Windows\system32> $target = Get-IscsiTarget
PS C:\Windows\system32> print $target.NodeAddress
Can't find file iqn.2003-06.com.equallogic:0-bf1bf6-56acce3eb-fd0030124795492f-testvol1
PS C:\Windows\system32> Connect-IscsiTarget -NodeAddress $target.NodeAddress
You just need the above TWO commands in black. I ran the line in red to see what it was looking at (making certain of the IQN before proceeding). The
Connect-IscsiTarget command responds with this:
AuthenticationType : NONE
InitiatorInstanceName : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress : iqn.1991-05.com.microsoft:testsrv.example.com
InitiatorPortalAddress : 0.0.0.0
InitiatorSideIdentifier : 412341375678
IsConnected : True
IsDataDigest : False
IsDiscovered : True
IsHeaderDigest : False
IsPersistent : False
NumberOfConnections : 1
SessionIdentifier : ffffe000cd87c020-4012313700056702
TargetNodeAddress : iqn.2003-06.com.equallogic:0-bf1bf6-56acce3eb-fd00301...-testvol1 TargetSideIdentifier : 4f00
PSComputerName :
Testing the iSCSI session...
PS C:\Windows\system32> Get-IscsiConnection
ConnectionIdentifier : feffe060cd87c029-1
InitiatorAddress : 0.0.0.0
InitiatorPortNumber : 15552
TargetAddress : 192.168.12.34
TargetPortNumber : 3260
PSComputerName :
Looks good so you permanently register it (you don't want your iSCSI volumes disappearing after a reboot after all this).
PS C:\Windows\system32> Get-IscsiSession | Register-IscsiSession
Now, check to see if you have a iSCSI session:
PS C:\Windows\system32> get-IscsiSession
AuthenticationType : NONE
InitiatorInstanceName : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress : iqn.1991-05.com.microsoft:testsrv.example.com
InitiatorPortalAddress : 0.0.0.0
InitiatorSideIdentifier : 400301370020
IsConnected : True
IsDataDigest : False
IsDiscovered : True
IsHeaderDigest : False
IsPersistent : True
NumberOfConnections : 1
SessionIdentifier : bfbfe030cd87c020-400201370020d002
TargetNodeAddress : iqn.2001-05.com.equallogic:0-af1bf6-66acce3eb-fd02300
24795492f-testvol1
TargetSideIdentifier : 4f00
PSComputerName :
Looking good. Now check your drives again:
PS C:\Windows\system32> get-disk
Number Friendly Name Operationa Total Size Partition
lStatus Style
------ ------------- ---------- ---------- ---------
0 XENSRC PVDISK SCSI Disk Device Online 88 GB MBR
1 XENSRC PVDISK SCSI Disk Device Online 40 GB MBR
2 EQLOGIC 100E-00 SCSI Disk Device Online 77.01 GB RAW
You can see the Dell Equalogic SAN volume has been added as disk number 2.
Now you just need to format the disk and give it a drive letter:
PS C:\Windows\system32> Get-Disk | Where partitionstyle -eq 'raw' | Initialize-D
isk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximum
Size | Format-Volume -FileSystem NTFS -NewFileSystemLabel "iDisk3" -Confirm:$fal
se
DriveLetter FileSystemL FileSystem DriveType HealthStat SizeRemain Size
abel us ing
----------- ----------- ---------- --------- ---------- ---------- ----
F iDisk3 NTFS Fixed Healthy 76.91 GB 77 GB
Remember:
Get-Disk | Where partitionstyle -eq 'raw' is CRUCIAL if you do not want to initialize a disk with data on it already.
That's it. You've added an iSCSI drive from the command line.