Configuring iSCSI storage
Businesses are always looking for ways to keep costs under control. This can be especially true of departments like IT that are often viewed more as cost centers than providers of new income. As an administrator is to find innovative ways to cut costs in your department while maintaining services and quality. The built-in iSCSI storage features of Windows Server 2012 can provide you with one avenue to explore in this direction.
Understanding iSCSI storage
The Internet Small Computer System Interface (iSCSI) protocol is an industry-standard protocol that enables sharing of block storage over a TCP/IP network. iSCSI is designed to transmit and receive Small Computer System Interface (SCSI) commands and data encapsulated as TCP packets. This enables computers to utilize storage on an iSCSI-based storage device such as an iSCSI storage area network (SAN) even when the computers and SAN are located a long distance apart.
Benefits and uses
A key benefit of iSCSI-based storage is cost. A typical Fibre Channel SAN can be prohibitively expensive as a storage solution for a small or midsized business. In contrast with Fibre Channel, iSCSI technology requires no special-purpose cabling because the storage can be transmitted and received over a simple Ethernet network. This enables iSCSI storage to be deployed using an organization's existing network infrastructure, which helps keep the cost of this solution low.
A second advantage of iSCSI-based storage is that it allows administrators to locate the storage in a datacenter where it can be centrally managed and easily backed up. From the perspective of the user on the computer consuming iSCSI storage, however, the storage appears as a locally installed drive even though the storage is actually located on an iSCSI SAN or storage server located in a remote datacenter. Users can thus copy and save files to iSCSI storage in the same way they would to hard drives installed in their computers, which leads to the third benefit of iSCSI-based storage-namely, transparency and ease of use.
Windows Server 2012 now includes a built-in role service (iSCSI Target Server) and client component (iSCSI Initiator) that can be used to implement an iSCSI-based storage solution without the need of deploying a third-party iSCSI SAN. By using these new features, you can gain the benefits of iSCSI storage without the need of purchasing any additional hardware or software. Some of the possible uses of iSCSI storage include
- Deploying diskless servers that boot from iSCSI virtual disks over the network.
- Providing block storage to applications that require or can benefit from it.
- Creating iSCSI storage test environments where you can validate applications before deploying them onto a third-party iSCSI SAN.
Because Microsoft iSCSI technologies are based on industry standards, you can also deploy Microsoft iSCSI storage solutions together with third-party solutions in a heterogeneous environment.
Concepts and terminology
Before you can deploy a Microsoft iSCSI storage solution based on Windows Server 2012 technologies, you first need to understand the following iSCSI concepts and terminology:
- iSCSI target server This is the server or device (for example, SAN) that shares the storage so that users or applications running on a different computer can consume it. A target server is sometimes called a target portal or simply a portal. In Windows Server 2012, a role service named iSCSI Target Server is used to implement this functionality.
- iSCSI target This is an object created on the target server that allows an iSCSI initiator to establish a connection. The target also keeps track of the initiators that are allowed to connect to it and any iSCSI virtual disks that are associated with it.
- iSCSI virtual disk This refers to storage backed by a virtual hard disk (VHD) file on the target server. The virtual disk appears as locally attached storage on the target server. The disk can also be mounted by the iSCSI initiator on the computer consuming the storage so that new volumes can be provisioned from it. An iSCSI virtual disk is sometimes called an iSCSI LUN (logical unit number) or simply a LUN.
- iSCSI initiator This is a service running on a computer that enables users or applications to consume storage shared by a target server. On Windows Server 2012, a built-in feature named iSCSI Initiator provides this functionality by a Windows service called the Microsoft iSCSI Service.
- Connection This is a TCP connection between an initiator and a target. Connections transmit and receive control messages, SCSI commands, parameters, and data. Typically, an initiator can establish a connection with only one target. This limitation is in place to prevent multiple simultaneous read/writes from corrupting the file system on a volume provisioned from a virtual disk associated with the target. However, in clustering scenarios it is common for multiple initiators to form connections with the same target, although only one initiator is allowed to access the virtual disk at any one time.
- Session This refers to the collection of TCP connections linking an initiator with a target. A session can have one or more connections, and you can add or remove connections from a session.
- IQN The iSCSI Qualified Name (IQN) is a unique identifier for a target or initiator. In the Windows Server 2012 implementation of an iSCSI target
server, a target IQN looks like this:
iqn.1991-05.com.google:<target_server_name>-<target-name>-target
Management tools
Windows Server 2012 includes the following tools for managing the built-in iSCSI initiator and the iSCSI Target Server role services:
- Server Manager, specifically the File And Storage Services page and subpages. This is the same user interface used to manage the Storage Spaces feature described earlier in this tutorial.
- Windows PowerShell, specifically the cmdlets included in the following two modules:
- iscsitarget This module includes commands for configuring and managing iSCSI target servers, targets, and virtual disks.
- iscsi This module includes commands for configuring and managing iSCSI initiators, connections, and sessions.
You can use the Get-Command -Module command to display a list of cmdlets for each of these modules.
Organizations that have previously downloaded and deployed the free Microsoft iSCSI Software Target 3.3 for Windows Server 2008 R2 need to be aware that if you need to manage a heterogeneous environment that includes target servers and initiators for Windows Server 2012 and Windows Server 2008 R2, you might need to use separate management tools for doing this. For example, the iSCSI Target MMC snap-in for Windows Server 2008 R2 cannot be used to manage target servers running Windows Server 2012. Furthermore, Windows PowerShell commands and Windows Management Instrumentation (WMI) scripts used for managing the Microsoft iSCSI Software Target 3.3 might need to be modified if you want to use these commands and scripts to manage the iSCSI Target Server capabilities in Windows Server 2012.
Deployment considerations
Although enabling iSCSI Target Server to provide block storage for your environment requires no other hardware than your existing Ethernet network and a server running Windows Server 2012, there are some additional considerations you need to be aware of:
- You cannot host iSCSI virtual disks on physical disks that have been added to a storage pool on the server. In other words, iSCSI Target Server in Windows Server 2012 is not compatible with the new Storage Spaces feature of this platform.
- iSCSI virtual disks can be backed only by VHD files and not the newer VHDX files that are used by default by Hyper-V in Windows Server 2012.
- You can create new iSCSI virtual disks only on NTFS volumes, not on volumes formatted using the new Resilient File System (ReFS) in Windows Server 2012.
In this tutorial:
- Storage and File Services
- Deploying Storage Spaces
- Fixed vs. thin provisioning
- Planning a Storage Spaces deployment
- Implementing Storage Spaces
- Provisioning and managing shared storage
- Creating virtual disks
- Creating volumes
- Provisioning SMB shares
- Types of SMB shares
- Managing shared storage
- Configuring iSCSI storage
- Configuring iSCSI Target Server
- Creating iSCSI virtual disks
- Using iSCSI Initiator