A blog by Jose Barreto, a member of the File Server team at Microsoft.
All messages posted to this blog are provided "AS IS" with no warranties, and confer no rights.
Information on unreleased products are subject to change without notice.
Dates related to unreleased products are estimates and are subject to change without notice.
The content of this site are personal opinions and might not represent the Microsoft Corporation view.
The information contained in this blog represents my view on the issues discussed as of the date of publication.
You should not consider older, out-of-date posts to reflect my current thoughts and opinions.
© Copyright 2004-2012 by Jose Barreto. All rights reserved.
Follow @josebarreto on Twitter for updates on new blog posts.
1. Overview
One of the new features in the Microsoft iSCSI Software Target 3.3 (included in Windows Storage Server 2008 R2) is the inclusion of PowerShell cmdlets for management. In this blog post, we will examine the details of the cmdlets available to manage targets and their associated virtual disks.
One of the new features in the Microsoft iSCSI Software Target 3.3 (included in Windows Storage Server 2008 R2) is the inclusion of PowerShell cmdlets for management.
In this blog post, we will examine the details of the cmdlets available to manage targets and their associated virtual disks.
2. Modules, Cmdlets and Classes
The iSCSI Target PowerShell is provided in a single module called MicrosoftIscsiTarget, which includes 10 cmdlets, as listed in the example below: PS C:\> Import-Module MicrosoftIscsiTarget PS C:\> Get-Command -module MicrosoftIscsiTarget | Sort Noun CommandType Name Definition ----------- ---- ---------- Cmdlet Remove-IscsiServerTarget Remove-IscsiServerTarget [-TargetName] <String> ... Cmdlet New-IscsiServerTarget New-IscsiServerTarget [-TargetName] <String> [-I... Cmdlet Set-IscsiServerTarget Set-IscsiServerTarget [-TargetName] <String> [-T... Cmdlet Get-IscsiServerTarget Get-IscsiServerTarget [[-TargetName] <String>] [... Cmdlet Remove-IscsiVirtualDisk Remove-IscsiVirtualDisk [-DevicePath] <WindowsPa... Cmdlet New-IscsiVirtualDisk New-IscsiVirtualDisk [-DevicePath] <WindowsPath>... Cmdlet Get-IscsiVirtualDisk Get-IscsiVirtualDisk [[-DevicePath] <WindowsPath... Cmdlet Set-IscsiVirtualDisk Set-IscsiVirtualDisk [-DevicePath] <WindowsPath>... Cmdlet Add-VirtualDiskTargetMapping Add-VirtualDiskTargetMapping [-TargetName] <Stri... Cmdlet Remove-VirtualDiskTargetMapping Remove-VirtualDiskTargetMapping [-TargetName] <S... As you can see, these cmdlets relate to three different nouns: IscsiServerTarget (Target), IscsiVirtualDisk (Virtual Disks) and VirtualDiskTargetMapping (LUN Mapping). Next, we will examine these three main classes (or types) used to manage a Microsoft iSCSI Software Target, looking at their specific cmdlets and properties.
The iSCSI Target PowerShell is provided in a single module called MicrosoftIscsiTarget, which includes 10 cmdlets, as listed in the example below:
PS C:\> Import-Module MicrosoftIscsiTarget PS C:\> Get-Command -module MicrosoftIscsiTarget | Sort Noun CommandType Name Definition ----------- ---- ---------- Cmdlet Remove-IscsiServerTarget Remove-IscsiServerTarget [-TargetName] <String> ... Cmdlet New-IscsiServerTarget New-IscsiServerTarget [-TargetName] <String> [-I... Cmdlet Set-IscsiServerTarget Set-IscsiServerTarget [-TargetName] <String> [-T... Cmdlet Get-IscsiServerTarget Get-IscsiServerTarget [[-TargetName] <String>] [... Cmdlet Remove-IscsiVirtualDisk Remove-IscsiVirtualDisk [-DevicePath] <WindowsPa... Cmdlet New-IscsiVirtualDisk New-IscsiVirtualDisk [-DevicePath] <WindowsPath>... Cmdlet Get-IscsiVirtualDisk Get-IscsiVirtualDisk [[-DevicePath] <WindowsPath... Cmdlet Set-IscsiVirtualDisk Set-IscsiVirtualDisk [-DevicePath] <WindowsPath>... Cmdlet Add-VirtualDiskTargetMapping Add-VirtualDiskTargetMapping [-TargetName] <Stri... Cmdlet Remove-VirtualDiskTargetMapping Remove-VirtualDiskTargetMapping [-TargetName] <S...
As you can see, these cmdlets relate to three different nouns: IscsiServerTarget (Target), IscsiVirtualDisk (Virtual Disks) and VirtualDiskTargetMapping (LUN Mapping).
Next, we will examine these three main classes (or types) used to manage a Microsoft iSCSI Software Target, looking at their specific cmdlets and properties.
2.1. IscsiServerTarget
TypeName: Microsoft.Iscsi.Target.Commands.IscsiServerTarget Associated Cmdlets: New-IscsiServerTarget (Creates a new iSCSI target object with the specified name) Get-IscsiServerTarget (Obtains the iSCSI targets and their associated properties) Set-IscsiServerTarget (Modifies settings for the iSCSi target) Remove-IscsiServerTarget (Deletes an iSCSI target object) Properties: Id (Microsoft.Iscsi.Target.Commands.IscsiServerTargetIdentity) TargetName (System.String) TargetIqn (Microsoft.Iscsi.Target.Commands.Iqn) ComputerName (System.String) ServerInfo (Microsoft.Iscsi.Server.ServerInfo) Description (System.String) InitiatorIds (Collection of Microsoft.Iscsi.Target.Command.InitiatorId) LunMappings (Collection of Microsoft.Iscsi.Target.Command.LunMapping) Enable (System.Boolean) Status (Microsoft.Iscsi.Target.Commands.IscsiServerTargetStatus) LastLogin (System.DateTime) EnableChap (System.Boolean) EnableReverseChap (System.Boolean) EnforceIdleTimeoutDetection (System.Boolean) FirstBurstLength (System.Int32) MaxBurstLength (System.Int32) MaxReceiveDataSegmentLength (System.Int32) ReceiveBufferCount (System.Int32) Version (System.Version)
TypeName:
Associated Cmdlets:
Properties:
2.2. IscsiVirtualDisk
TypeName Microsoft.Iscsi.Target.Commands.IscsiVirtualDisk Associated Cmdlets New-IscsiVirtualDisk (Creates an iSCSI virtual disk with the specified file path and size, or imports the VHD file if it already exists) Get-IscsiVirtualDisk (Obtains the iSCSI virtual disks and their associated properties) Set-IscsiVirtualDisk (Modifies the settings for the specified iSCSI virtual disk) Remove-IscsiVirtualDisk (Deletes the specified iSCSI virtual disk) Properties Id (Microsoft.Iscsi.Target.Commands.IscsiVirtualDiskIdentity) DevicePath (Microsoft.Iscsi.Server.WindowsPath) VirtualDiskIndex (System.Int32) Size (Microsoft.Iscsi.Server.StorageSize) SnapshotStorageSize (Microsoft.Iscsi.Server.StorageSize) ComputerName (System.String) ServerInfo (Microsoft.Iscsi.Server.ServerInfo) Description (System.String) Enabled (System.Boolean) Status (Microsoft.Iscsi.Target.Commands.IscsiVirtualDiskStatus) LastLocalMountTime (System.DateTime) Flags (Microsoft.Iscsi.Target.Commands.IscsiVirtualDiskFlags) SerialNumber (System.String) LocalMountDeviceId (System.String) LocalMountPaths (Collection of System.String) LocalMountStatus (Microsoft.Iscsi.Target.Commands.LocalMountStatus) Version (System.Version)
TypeName
Associated Cmdlets
Properties
2.3. VirtualDiskTargetMapping or LunMapping
Typename Microsoft.Iscsi.Target.Command.LunMapping Associated Cmdlets Add-VirtualDiskTargetMapping (Assigns a virtual disk to an iSCSI target) Remove-VirtualDiskTargetMapping (Removes the assignment between the specified iSCSI virtual disk and iSCSI target) Note: To obtains a list of Lun mappings, use the cmdlet: “(Get-IscsiServerTarget <name>).LunMappings” Properties TargetName (System.String) VirtualDiskIndex (System.Int32) LUN (System.Int32)
Typename
Note: To obtains a list of Lun mappings, use the cmdlet: “(Get-IscsiServerTarget <name>).LunMappings”
3. Class Diagram
Here’s a simplified class diagram showing the related classes, their properties and methods. Note 1: The Initiator is implemented as the InitiatorIds collection, which is a property of iSCSIServerTarget Note 2: The LUN Mapping is implemented as the LunMappings collection, which is a property of iSCSIServerTarget
Here’s a simplified class diagram showing the related classes, their properties and methods.
Note 1: The Initiator is implemented as the InitiatorIds collection, which is a property of iSCSIServerTarget Note 2: The LUN Mapping is implemented as the LunMappings collection, which is a property of iSCSIServerTarget
4. Cmdlet Details
Here is a list of the 10 cmdlets in the MicrosoftIscsiTarget module, with a description, syntax and examples. Note: The optional –ComputerName parameter, available for all cmdlets, is used to execute the task on a remote computer running the Microsoft iSCSI Target. In order to use the cmdlets remotely you need to use another computer running Windows Storage Server 2008 R2 or Windows Server 2008 R2 with the Microsoft iSCSI Target installed. You also need to be running with an account that has local administrator rights for the computer you are managing.
Here is a list of the 10 cmdlets in the MicrosoftIscsiTarget module, with a description, syntax and examples.
Note: The optional –ComputerName parameter, available for all cmdlets, is used to execute the task on a remote computer running the Microsoft iSCSI Target. In order to use the cmdlets remotely you need to use another computer running Windows Storage Server 2008 R2 or Windows Server 2008 R2 with the Microsoft iSCSI Target installed. You also need to be running with an account that has local administrator rights for the computer you are managing.
4.1. New-IscsiServerTarget
DESCRIPTION: Creates a new iSCSI target object with the specified name. Afterwards, the iSCSI target can be assigned to an iSCSI initiator, and then a virtual disk can be associated with the target. SYNTAX: New-IscsiServerTarget [-TargetName] <string> [-ComputerName <string>] [-InitiatorId <InitiatorId[]>] EXAMPLES: New-IscsiServerTarget -TargetName "TargetOne" New-IscsiServerTarget -TargetName "TargetOne" -InitiatorId IPAddress:10.10.1.1,IPAddress:10.10.1.2 -ComputerName vcoName1 New-IscsiServerTarget -TargetName "targetone" -ComputerName iSCSIsvr
DESCRIPTION: Creates a new iSCSI target object with the specified name. Afterwards, the iSCSI target can be assigned to an iSCSI initiator, and then a virtual disk can be associated with the target.
SYNTAX: New-IscsiServerTarget [-TargetName] <string> [-ComputerName <string>] [-InitiatorId <InitiatorId[]>]
EXAMPLES: New-IscsiServerTarget -TargetName "TargetOne" New-IscsiServerTarget -TargetName "TargetOne" -InitiatorId IPAddress:10.10.1.1,IPAddress:10.10.1.2 -ComputerName vcoName1 New-IscsiServerTarget -TargetName "targetone" -ComputerName iSCSIsvr
4.2. Get-IscsiServerTarget
DESCRIPTION: Obtains the iSCSI targets and their associated properties from the local server or specified computer. SYNTAX: Get-IscsiServerTarget [[-TargetName] <string>] [-ComputerName <string>] EXAMPLES: Get-IscsiServerTarget Get-IscsiServerTarget -ComputerName vcoName1 Get-IscsiServerTarget -TargetName "TargetOne"
DESCRIPTION: Obtains the iSCSI targets and their associated properties from the local server or specified computer.
SYNTAX: Get-IscsiServerTarget [[-TargetName] <string>] [-ComputerName <string>]
EXAMPLES: Get-IscsiServerTarget Get-IscsiServerTarget -ComputerName vcoName1 Get-IscsiServerTarget -TargetName "TargetOne"
4.3. Set-IscsiServerTarget
DESCRIPTION: Modifies settings for the iSCSi target and returns the corresponding iSCSI target object if the PassThru parameter is specified. SYNTAX: Set-IscsiServerTarget [-TargetName] <string> [-Chap <PSCredential>] [-ComputerName <string>] [-Description <string>] [-Enable <Boolean>] [-EnableChap <Boolean>] [-EnableReverseChap <Boolean>] [-EnforceIdleTimeoutDetection <Boolean>] [-FirstBurstLength <int>] [-Force] [-InitiatorId <InitiatorId[]>] [-InputObject <IscsiServerTarget>] [-MaxBurstLength <int>] [-MaxReceiveDataSegmentLength <int>] [-PassThru] [-ReceiveBufferCount <int>] [-ReverseChap <PSCredential>] [-TargetIqn <Iqn>] EXAMPLES: Set-IscsiServerTarget "TargetOne" -Description "new description" Set-IscsiServerTarget "TargetOne" -EnableChap 1 -Chap chapUserName
DESCRIPTION: Modifies settings for the iSCSi target and returns the corresponding iSCSI target object if the PassThru parameter is specified.
SYNTAX: Set-IscsiServerTarget [-TargetName] <string> [-Chap <PSCredential>] [-ComputerName <string>] [-Description <string>] [-Enable <Boolean>] [-EnableChap <Boolean>] [-EnableReverseChap <Boolean>] [-EnforceIdleTimeoutDetection <Boolean>] [-FirstBurstLength <int>] [-Force] [-InitiatorId <InitiatorId[]>] [-InputObject <IscsiServerTarget>] [-MaxBurstLength <int>] [-MaxReceiveDataSegmentLength <int>] [-PassThru] [-ReceiveBufferCount <int>] [-ReverseChap <PSCredential>] [-TargetIqn <Iqn>]
EXAMPLES: Set-IscsiServerTarget "TargetOne" -Description "new description" Set-IscsiServerTarget "TargetOne" -EnableChap 1 -Chap chapUserName
4.4. Remove-IscsiServerTarget
DESCRIPTION: Deletes an iSCSI target object. An iSCSI initiator cannot access the VHD or LUN after the target is deleted. SYNTAX: Remove-IscsiServerTarget [-TargetName] <string> [-ComputerName <string>] [-Force] [-InputObject <IscsiServerTarget>] EXAMPLES: Remove-IscsiServerTarget “Target One” Get-IscsiServerTarget “Target One” | Remove-IscsiServerTarget
DESCRIPTION: Deletes an iSCSI target object. An iSCSI initiator cannot access the VHD or LUN after the target is deleted.
SYNTAX: Remove-IscsiServerTarget [-TargetName] <string> [-ComputerName <string>] [-Force] [-InputObject <IscsiServerTarget>]
EXAMPLES: Remove-IscsiServerTarget “Target One” Get-IscsiServerTarget “Target One” | Remove-IscsiServerTarget
4.5. New-IscsiVirtualDisk
DESCRIPTION: Creates a new iSCSI virtual hard disk (VHD) object with the specified file path and size. Afterwards, the virtual disk can be assigned to an iSCSI target. Once a virtual disk has been assigned to a target, an iSCSI initiator can access the virtual disk after the initiator connects to the target. SYNTAX: New-IscsiVirtualDisk [-DevicePath] <WindowsPath> [-Size] <StorageSize> [-ComputerName <string>] EXAMPLES: New-IscsiVirtualDisk "E:\temp\test.vhd" -Size 10GB New-IscsiVirtualDisk "E:\temp\test.vhd" New-IscsiVirtualDisk "E:\temp\test.vhd" -Size 10GB -ComputerName iscsisvr
DESCRIPTION: Creates a new iSCSI virtual hard disk (VHD) object with the specified file path and size. Afterwards, the virtual disk can be assigned to an iSCSI target. Once a virtual disk has been assigned to a target, an iSCSI initiator can access the virtual disk after the initiator connects to the target.
SYNTAX: New-IscsiVirtualDisk [-DevicePath] <WindowsPath> [-Size] <StorageSize> [-ComputerName <string>]
EXAMPLES: New-IscsiVirtualDisk "E:\temp\test.vhd" -Size 10GB New-IscsiVirtualDisk "E:\temp\test.vhd" New-IscsiVirtualDisk "E:\temp\test.vhd" -Size 10GB -ComputerName iscsisvr
4.6. Get-IscsiVirtualDisk
DESCRIPTION: Obtains the iSCSI virtual disks and their associated properties. SYNTAX: Get-IscsiVirtualDisk [[-DevicePath] <WindowsPath>] [-ComputerName <string>] EXAMPLES: Get-IscsiVirtualDisk Get-IscsiVirtualDisk "E:\temp\test.vhd" Get-IscsiVirtualDisk "E:\temp\test.vhd" -ComputerName vcoName1
DESCRIPTION: Obtains the iSCSI virtual disks and their associated properties.
SYNTAX: Get-IscsiVirtualDisk [[-DevicePath] <WindowsPath>] [-ComputerName <string>]
EXAMPLES: Get-IscsiVirtualDisk Get-IscsiVirtualDisk "E:\temp\test.vhd" Get-IscsiVirtualDisk "E:\temp\test.vhd" -ComputerName vcoName1
4.7. Set-IscsiVirtualDisk
DESCRIPTION: Modifies the settings for the virtual disk and returns the corresponding iSCSI virtual disk object if the PassThru parameter is specified. SYNTAX: Set-IscsiVirtualDisk [-DevicePath] <WindowsPath> [-ComputerName <string>] [-Description <string>] [-Enable <Boolean>] [-Force] [-InputObject <IscsiVirtualDisk>] [-PassThru] [-SnapshotStorageSize <StorageSize>] EXAMPLE: Set-IscsiVirtualDisk "e:\temp\vhd1.vhd" -Description "disk for data"
DESCRIPTION: Modifies the settings for the virtual disk and returns the corresponding iSCSI virtual disk object if the PassThru parameter is specified.
SYNTAX: Set-IscsiVirtualDisk [-DevicePath] <WindowsPath> [-ComputerName <string>] [-Description <string>] [-Enable <Boolean>] [-Force] [-InputObject <IscsiVirtualDisk>] [-PassThru] [-SnapshotStorageSize <StorageSize>]
EXAMPLE: Set-IscsiVirtualDisk "e:\temp\vhd1.vhd" -Description "disk for data"
4.8. Remove-IscsiVirtualDisk
DESCRIPTION: Deletes the iSCSI virtual disk object. The VHD file is not deleted. SYNTAX: Remove-IscsiVirtualDisk [-DevicePath] <WindowsPath> [-ComputerName <string>] [-Force] [-InputObject <IscsiVirtualDisk>] EXAMPLE: Remove-IscsiVirtualDisk "e:\temp\vhd1.vhd"
DESCRIPTION: Deletes the iSCSI virtual disk object. The VHD file is not deleted.
SYNTAX: Remove-IscsiVirtualDisk [-DevicePath] <WindowsPath> [-ComputerName <string>] [-Force] [-InputObject <IscsiVirtualDisk>]
EXAMPLE: Remove-IscsiVirtualDisk "e:\temp\vhd1.vhd"
4.9. Add-VirtualDiskTargetMapping
DESCRIPTION: Assigns a virtual disk to an iSCSI target. Once a virtual disk has been assigned to a target, an iSCSI initiator can access the virtual disk after the initiator connects to the target. All the virtual disks assigned to the same iSCSI target will be accessible by the connected iSCSI initiator. SYNTAX: Add-VirtualDiskTargetMapping [-TargetName] <string> [-DevicePath] <WindowsPath> [-ComputerName <string>] [-Lun <int>] EXAMPLE: Add-VirtualDiskTargetMapping -TargetName "TargetOne" -DevicePath "e:\temp\vhd1.vhd"
DESCRIPTION: Assigns a virtual disk to an iSCSI target. Once a virtual disk has been assigned to a target, an iSCSI initiator can access the virtual disk after the initiator connects to the target. All the virtual disks assigned to the same iSCSI target will be accessible by the connected iSCSI initiator.
SYNTAX: Add-VirtualDiskTargetMapping [-TargetName] <string> [-DevicePath] <WindowsPath> [-ComputerName <string>] [-Lun <int>]
EXAMPLE: Add-VirtualDiskTargetMapping -TargetName "TargetOne" -DevicePath "e:\temp\vhd1.vhd"
4.10. Remove-VirtualDiskTargetMapping
DESCRIPTION: Removes the assignment between a virtual disk and iSCSI target. The virtual disk will be no longer accessible by an iSCSI initiator once the assignment is removed. SYNTAX: Remove-VirtualDiskTargetMapping [-TargetName] <string> [-DevicePath] <WindowsPath> [-ComputerName <string>] [-Force] EXAMPLE: Remove-VirtualDiskTargetMapping "TargetOne" "e:\temp\vhd1.vhd"
DESCRIPTION: Removes the assignment between a virtual disk and iSCSI target. The virtual disk will be no longer accessible by an iSCSI initiator once the assignment is removed.
SYNTAX: Remove-VirtualDiskTargetMapping [-TargetName] <string> [-DevicePath] <WindowsPath> [-ComputerName <string>] [-Force]
EXAMPLE: Remove-VirtualDiskTargetMapping "TargetOne" "e:\temp\vhd1.vhd"
5. Examples with output
5.1. Listing existing targets in a server (only one target listed):
PS C:\> Get-IscsiServerTarget Id : Server0.contoso.local:FileCluster TargetName : FileCluster TargetIqn : iqn.1991-05.com.microsoft:server0-filecluster-target Description : Storage for File Server Cluster Enable : True Status : Connected LastLogin : 9/16/2010 2:38:51 PM EnableChap : False EnableReverseChap : False ComputerName : Server0.contoso.local MaxReceiveDataSegmentLength : 65536 FirstBurstLength : 65536 MaxBurstLength : 262144 ReceiveBufferCount : 10 EnforceIdleTimeoutDetection : True InitiatorIds : {IPAddress:192.168.100.1, IPAddress:192.168.100.2} LunMappings : {TargetName:FileCluster;WTD:0;LUN:0, TargetName:FileCluster;WTD:1;LUN:1} Version : 3.3.16543 ServerInfo : Server0.contoso.local
5.2. Listing existing virtual disks in a server (two virtual disks listed):
PS C:\> Get-IscsiVirtualDisk Id : Server0.contoso.local:E:\LU0.VHD VirtualDiskIndex : 0 DevicePath : E:\LU0.VHD Description : LU0 Size : 1.00 GB Status : InUse Flags : None SerialNumber : BBCB1D5A-3942-446B-87A7-D264B2C77216 SnapshotStorageSize : 3.20 GB LocalMountStatus : NotMounted LastLocalMountTime : 12/31/1600 4:00:00 PM LocalMountDeviceId : LocalMountPaths : {} Enabled : True ComputerName : Server0.contoso.local Version : 3.3.16543 ServerInfo : Server0.contoso.local Id : Server0.contoso.local:E:\LU1.VHD VirtualDiskIndex : 1 DevicePath : E:\LU1.VHD Description : LU1 Size : 10.0 GB Status : InUse Flags : None SerialNumber : 152E24BF-DC02-46B6-98E2-1F517CB18A48 SnapshotStorageSize : 3.20 GB LocalMountStatus : NotMounted LastLocalMountTime : 12/31/1600 4:00:00 PM LocalMountDeviceId : LocalMountPaths : {} Enabled : True ComputerName : Server0.contoso.local Version : 3.3.16543 ServerInfo : Server0.contoso.local
5.3. Listing existing LUN mappings for one Target (two mappings listed):
PS C:\> (Get-IscsiServerTarget "FileCluster").LunMappings TargetName VirtualDiskIndex Lun ---------- ---------------- --- FileCluster 0 0 FileCluster 1 1
5.4. Add new Target
PS C:\> New-IscsiServerTarget -TargetName SQLTarget -InitiatorId IPAddress:10.1.1.3 Id : Server0.contoso.local:SQLTarget TargetName : SQLTarget TargetIqn : iqn.1991-05.com.microsoft:server0-sqltarget-target Description : Enable : True Status : Idle LastLogin : 12/31/1600 4:00:00 PM EnableChap : False EnableReverseChap : False ComputerName : Server0.contoso.local MaxReceiveDataSegmentLength : 65536 FirstBurstLength : 65536 MaxBurstLength : 262144 ReceiveBufferCount : 10 EnforceIdleTimeoutDetection : True InitiatorIds : {IPAddress:10.1.1.3} LunMappings : {} Version : 3.3.16543 ServerInfo : Server0.contoso.local
5.5. Add new Virtual Disk
PS C:\> New-IscsiVirtualDisk "E:\SQL-LU0.VHD" -Size 10GB Id : Server0.contoso.local:E:\SQL-LU0.VHD VirtualDiskIndex : 2 DevicePath : E:\SQL-LU0.VHD Description : Size : 10.0 GB Status : Idle Flags : None SerialNumber : CD296DCA-A2CE-412D-8D0C-0D3E5077DEC7 SnapshotStorageSize : 3.20 GB LocalMountStatus : NotMounted LastLocalMountTime : 12/31/1600 4:00:00 PM LocalMountDeviceId : LocalMountPaths : {} Enabled : True ComputerName : Server0.contoso.local Version : 3.3.16543 ServerInfo : Server0.contoso.local
5.6. Add new Virtual Disk Target mapping (LUN mapping) and then list it.
PS C:\> Add-VirtualDiskTargetMapping -TargetName SQLTarget -DevicePath "E:\SQL-LU0.VHD" PS C:\> (Get-IscsiServerTarget SQLTarget).LunMappings TargetName VirtualDiskIndex Lun ---------- ---------------- --- SQLTarget 2 0
5.7. Listing existing targets in a server (now two targets listed):
PS C:\> Get-IscsiServerTarget Id : Server0.contoso.local:FileCluster TargetName : FileCluster TargetIqn : iqn.1991-05.com.microsoft:server0-filecluster-target Description : Storage for File Server Cluster Enable : True Status : Connected LastLogin : 9/16/2010 2:38:51 PM EnableChap : False EnableReverseChap : False ComputerName : Server0.contoso.local MaxReceiveDataSegmentLength : 65536 FirstBurstLength : 65536 MaxBurstLength : 262144 ReceiveBufferCount : 10 EnforceIdleTimeoutDetection : True InitiatorIds : {IPAddress:192.168.100.1, IPAddress:192.168.100.2} LunMappings : {TargetName:FileCluster;WTD:0;LUN:0, TargetName:FileCluster;WTD:1;LUN:1} Version : 3.3.16543 ServerInfo : Server0.contoso.local Id : Server0.contoso.local:SQLTarget TargetName : SQLTarget TargetIqn : iqn.1991-05.com.microsoft:server0-sqltarget-target Description : Enable : True Status : Idle LastLogin : 12/31/1600 4:00:00 PM EnableChap : False EnableReverseChap : False ComputerName : Server0.contoso.local MaxReceiveDataSegmentLength : 65536 FirstBurstLength : 65536 MaxBurstLength : 262144 ReceiveBufferCount : 10 EnforceIdleTimeoutDetection : True InitiatorIds : {IPAddress:10.1.1.3} LunMappings : {TargetName:SQLTarget;WTD:2;LUN:0} Version : 3.3.16543 ServerInfo : Server0.contoso.local
5.8. Listing existing LUN mappings for all Targets (three mappings listed):
PS C:\> Get-IscsiServerTarget | % { $_.LunMappings} TargetName VirtualDiskIndex Lun ---------- ---------------- --- FileCluster 0 0 FileCluster 1 1 SQLTarget 2 0
6. Conclusion
I hope you enjoy the new cmdlets. The best way to learn how to use them is to practice, so I encourage you to install the evaluation software on a test machine and experiment with the cmdlets yourself. If you are an MSDN or TechNet subscriber, find the details on how to obtain an evaluation copy of the Microsoft iSCSI Software Target 3.3 at http://blogs.technet.com/b/josebda/archive/2010/09/27/windows-storage-server-2008-r2-and-the-microsoft-iscsi-software-target-3-3-are-available-on-msdn-technet-here-s-how-to-install-them.aspx For more details about Window Storage Server and the Microsoft iSCSI Software target, check the Windows Storage Server blog at http://blogs.technet.com/b/storageserver/ and the other posts on Windows Storage Server on this blog at http://blogs.technet.com/b/josebda/archive/tags/windows+storage+server/
I hope you enjoy the new cmdlets. The best way to learn how to use them is to practice, so I encourage you to install the evaluation software on a test machine and experiment with the cmdlets yourself.
If you are an MSDN or TechNet subscriber, find the details on how to obtain an evaluation copy of the Microsoft iSCSI Software Target 3.3 at http://blogs.technet.com/b/josebda/archive/2010/09/27/windows-storage-server-2008-r2-and-the-microsoft-iscsi-software-target-3-3-are-available-on-msdn-technet-here-s-how-to-install-them.aspx
For more details about Window Storage Server and the Microsoft iSCSI Software target, check the Windows Storage Server blog at http://blogs.technet.com/b/storageserver/ and the other posts on Windows Storage Server on this blog at http://blogs.technet.com/b/josebda/archive/tags/windows+storage+server/
One of the big features in iSCSI Software Target 3.3 are the new PowerShell cmdlets. Checkout Jose
Does iscsi target 3.3 support server core installation?
... The good news is that PowerShell is really good at using WMI directly. So I set out to find how to create an iSCSI Target differencing disk using PowerShell and the WMI classes.
Yucong: We don't test the iSCSI Target with Server Core. The offerings you will see from OEMs will not use Server Core. Having said that, there's no technical issue with it and you could try it.
Here are some relevant references to Windows Storage Server-centric content. Keep checking back for more
Copied from blogs.technet.com/.../windows-storage-server-2008-r2
Introduction For the last few years, I’ve been blogging about the Microsoft iSCSI Software Target