Configuring an SMI-S Provider for iSCSI Target Server in VMM
Applies To: System Center 2012 SP1 - Virtual Machine Manager, System Center 2012 R2 Virtual Machine Manager
As of Windows Server 2012, Microsoft iSCSI Target Server is a server role that enables the server to function as a storage device. This topic provides information about the SMI-S provider for the Microsoft iSCSI Target Server. This is the provider that Virtual Machine Manager (VMM) uses for managing an iSCSI Target Server (starting with System Center 2012 SP1).
Depending on the version of software you are using, you might need to install this provider software on an iSCSI Target Server before you can begin managing that server with VMM. Use the following list to evaluate your own environment:
With VMM in System Center 2012 SP1, you can manage an iSCSI Target Server running Windows Server 2012, if you first install the necessary SMI-S provider on the iSCSI Target Server. The provider is included in VMM. To install it, see Prepare the iSCSI Target Server for management by VMM, later in this topic.
With VMM in System Center 2012 R2, you can manage an iSCSI Target Server running any of several operating system versions:
With Windows Server 2012 on the iSCSI Target Server: You must first install the necessary SMI-S provider on the iSCSI Target Server. The provider is included in VMM. To install it, see Prepare the iSCSI Target Server for management by VMM, later in this topic.
Starting with Windows Server 2012 R2 on the iSCSI Target Server: You only need to install the iSCSI Target Server role. (The provider does not need to be installed separately.) For more information about installing a server role, see Install or Uninstall Roles, Role Services, or Features.
For more information about the iSCSI Target Server, see Introduction of iSCSI Target in Windows Server 2012.
This topic includes the following sections:
The SMI-S provider follows an "embedded" provider model, where the provider is installed on the iSCSI Target Server computer. The following diagram shows how the SMI-S provider interacts with other components. The SMI-S provider is WMI-based and manages the iSCSI Target Server by using the iSCSI Target WMI provider.
In this release of the SMI-S provider, there are the following known issues:
iSCSI Target Server supports failover-clustering to provide high availability (HA). To be managed by the SMI-S provider, only one iSCSI Target Server resource group can be supported per cluster. This restriction is due to a limitation in the SMI-S provider, which currently can only handle one computer object. If there are multiple iSCSI Target resource groups present on the same cluster node, the SMI-S provider cannot obtain an accurate view of the objects on the computer.
Only one WMI-based SMI-S provider can be loaded on to one computer. Currently there are two WMI-based providers, and both of these providers are affected by this issue:
iSCSI Target Server SMI-S provider
LSI MegaRAID SMI-S provider
To avoid this issue, you must use separate computers to host each SMI-S provider.
This issue affects the two scenarios that are described in the following sections. The first scenario describes two SMI-S providers that are installed on the same computer, and both of them are intended for VMM management. The second scenario describes two SMI-S providers that are installed on the same computer, and only one of them is intended for VMM management. In both of these scenarios, when two WMI-based SMI-S providers are installed on an iSCSI Target Server computer, only one of the providers is discovered by the Storage Management service.
As the following diagrams show, two SMI-S providers are installed on the same computer, and each provider is registered with the Storage Management service for VMM. Due to a known issue with the Storage Management service, only one of the providers is discovered.
Two WMI-based SMI-S providers are installed on the same computer. One SMI-S provider is intended for VMM management, and the other third-party SMI-S provider is intended for File Server Storage Management. Due to a known issue in the Storage Management service, both VMM and File Service Storage Management only discover one provider, which might not be the intended provider for the application.
As shown in the previous diagrams, the SMI-S provider is WMI-based and passes information from the iSCSI Target service to the Storage Management service on the VMM server. After being registered with VMM, a full discovery request is sent to retrieve all the objects and their mappings from the SMI-S provider.
In a failover cluster for iSCSI Target Server, you must register the storage device by using the network name or IP address for the iSCSI Target resource group, which is also referred as the client access point. In this way, the network name or IP address is kept the same, no matter which node receives the fail over. VMM can connect to the SMI-S provider that runs on the failed-over resource group node. After a failover event, you must perform a full discovery by using VMM.
MaskingSet maps to the iSCSI Target object—By default, the friendly name of a MaskingSet object uses the prefix string "SPC:" + 16-bit random. We recommend using a friendly name when you create the MaskingSet object. VMM uses either the virtualization server name or cluster name as the friendly name. The SMI-S provider uses the friendly name, which also becomes the Description property of the WT_Host object for iSCSI Target Server.
StorageVolume maps to WT_Disk, the virtual hard disk (VHD). When a user creates an iSCSI disk by using VMM, the SMI-S provider uses the friendly name as the VHD name. If the Virtual Disk already exists during SMI-S discovery, the provider uses its description as the friendly name. If the VHD already exists but does not have a description string, that is, the description string is empty or NULL, then the VHD friendly name uses the prefix string "VirtualDiskIndex:" + WTD as the integer of the index.
ConcretePool maps to WT_Volume—The friendly name that is displayed for the SMI-S provider is: "iSCSITarget: SubsystemName" + first mount point string. For example, if the mount point string is "C:", then its name is "iSCSITarget: SubsystemName: C:". There is a single root pool and its name is fixed as "MS iSCSITarget Primordial".
The following example shows how to install the SMI-S provider.
The previous diagram shows two computers, one computer for the VMM management server, and one computer that is running the iSCSI Target Server. The VMM management server must be in a domain. The iSCSI Target Server can be in a domain or a workgroup.
VMM has specific software requirements such as the requirement for the Microsoft .NET Framework. For more information, see System Requirements: VMM Management Server in System Center 2012 and in System Center 2012 SP1 or System Requirements for System Center 2012 R2. The Microsoft Standard-based Storage Management service is enabled during VMM installation.
Prepare the iSCSI Target Server for management by VMM by using the following steps:
Install the iSCSI Target Server role. One way of doing this is to use the Windows PowerShell command Install-WindowsFeature FS-iSCSITarget-Server. iSCSI Target Server is included in the server operating system starting with Windows Server 2012. For more information about using Windows PowerShell to install roles or features, see Get-WindowsFeature and Install-WindowsFeature.
For an iSCSI Target Server that runs Windows Server 2012, continue to the next step. Otherwise (for example, for a server that runs Windows Server 2012 R2), skip the rest of this procedure.
For a server running Windows Server 2012, install an update rollup no earlier than Windows 8 and Windows Server 2012 cumulative update: November 2012 (Microsoft KB article 2770917). One of the updates in the update rollup contains WMI-related changes to iSCSI Target Server that improve the VMM discovery performance.
If your iSCSI Target Server runs Windows Server 2012, you must install the SMI-S provider on it, as follows:
Find the Setup file in one of the following locations:
On the VMM installation media at:
On the VMM server at:
\Program Files\Microsoft System Center 2012\Virtual Machine Manager\Setup\Msi\iSCSITargetProv\iSCSITargetSMISProvider.msi
On the iSCSI Target Server, run the .msi file to start the SMI-S Provider Setup wizard.
Complete the wizard to install the provider.
You can use VMM to configure the iSCSI Target Server through Windows PowerShell. This section lists some common tasks with examples of Windows PowerShell commands that you can use for those tasks. The SMI-S provider supports all management tasks through VMM.
To open the VMM PowerShell interface, use the Windows PowerShell menu, as shown in the following illustration.
Obtain the iSCSI Target Server local administrative credentials that are based on user name and password as follows:
$Cred = Get-Credential
Note that any account that is part of the Local Administrators group is sufficient.
Create a Run As account in VMM as follows:
$Runas = New-SCRunAsAccount -Name "iSCSIRunas" -Credential $Cred
Add the storage provider as follows:
Add-SCStorageProvider -Name "Microsoft iSCSI Target Provider" -RunAsAccount $Runas -ComputerName "<computername>" -AddSmisWmiProvider
Review the storage array attributes as follows:
$array = Get-SCStorageArray -Name “<computername>”
View available storage pools as follows:
Get the specific storage pool to add as follows:
$pool = Get-SCStoragePool -Name "MS iSCSITarget Concrete: D:"
Create a storage classification, if none existed, as follows:
$class = New-SCStorageClassification -Name “gold”
Add the storage pool to VMM as follows:
Set-SCStorageArray -AddStoragePoolToManagement $pool -StorageArray $pool.StorageArray -StorageClassification $class
Allocate the storage pool to a virtualization server group as follows:
Set-SCStoragePool -StoragePool $pool -AddVMHostGroup (Get-SCVMHostGroup -Name "All Hosts")
Create an iSCSI logical unit number (LUN) as follows:
$LUN = New-SCStorageLogicalUnit -Name "iSCSI1" -StoragePool $pool -DiskSizeMB 1000
Allocate the LUN to the virtualization server group as follows:
Set-SCStorageLogicalUnit -StorageLogicalUnit $LUN -VMHostGroup (Get-SCVMHostGroup -Name "All Hosts")
Assign the LUN to the host group as follows:
$host = Get-SCVMhost -ComputerName <host name>
Add the host to the virtualization server group as follows:
Register-SCStorageLogicalUnit -StorageLogicalUnit $LUN -VMHost $host
Delete a LUN as follows:
Remove-SCStorageLogicalUnit -StorageLogicalUnit $LUN
Remove a storage provider as follows:
Remove-SCStorageProvider -StorageProvider (Get-SCStorageProvider -Name "Microsoft iSCSI Target Provider")
This article demonstrated only a few of the tasks that you can perform with VMM by using the SMI-S provider. For information about additional Windows PowerShell cmdlets that you can use to manage storage by using the SMI-S provider, see Cmdlet Reference for Virtual Machine Manager in System Center 2012 R2.