Configure iSCSI SAN in Server 2012 R2
iSCSI (Internet Small Computer System Interface) is a protocol that uses underlying TCP/IP protocol for transmission of data. Unlike FC (Fiber Channel) which requires dedicated hardware like HBAs (Host Bus Adapters), fiber optics, etc., iSCSI uses existing network devices (routers, switches, firewalls) making it very cost effective storage solution. In iSCSI, data is transferred in block by block in raw form between the host and SAN. This makes operating systems to think as if the disk is locally connected or DAS (Direct Attached Storage). You can create LUNs (Logian Unit Numbers) or virtual disks in SAN which will be used by operating systems as a volume as if they were DAS. Note, NAS (Network Attached Storage) uses protocols like SMB, CIFS, or NFS to transfer data between operating systems and NAS device. In this post, I will show steps to configure iSCSI SAN in Server 2012 R2.
Configure iSCSI SAN in Server 2012 R2
In my Lab I don’t have a good storage which I can use for my Hyper-V Clusters. But with Windows Server 2012 Microsoft added a lot of new storage features and included a iSCSI Target Server. With the new Storage Pooling / Storage Spaces features this allows me to use a Windows Server as a great storage replacement.
This offers features like:
- Thin provisioning
- Data Deduplication
- Disk aggregation
- Storage Spaces
- and a lot more
- We will aggregate physical disks to a Storage Pool
- On this Storage Pool we will create a Virtual Disk. Here we have to option to use Data Deduplication, Thin provisioning, Reliability options (Simple, Mirror, Parity), etc.
- On the Virtual Disk we will create a NTFS volume
- On this Volume we will create iSCSI Virtual Disks (LUNs)
I am using a Windows Server with 3 network ports. The first is used for Management and the others are used for iSCSI traffic.
In my Case I have a disk which I use for the Operating System and 4 disk which I use as Storage Pool.
Add Roles and Features
- Add the File Service Role ISCSI Target Server. I also added the Data Deduplication role.
- Add the iSCSI Target Storage Provider (VDS and VSS hardware providers). They enable ISCSI target and disk management by using the Virtual Disk Service (VDS) hardware provider, and enable Microsoft Volume Shadow Copy Services (VSS) snapshot creation and management by using the VSS hardware provider.
- This takes a short moment to complete
Configure Storage Pools and Storage Spaces
- First create a New Storage Pool (This can be done by using the Server Manager or Windows PowerShell.
- Choose name for your Storage Pool
- Choose the disks which should be in this new storage pool. In my case I only see one right volume. But you could also add simple disks via JBOD, which is great to save money and be fexible.
- Create the Storage Pool
Create a Virtual Disk on the Storage Pool
- Open the New Virtual Disk Wizard.
- Choose the storage pool you want to place the Virtual Disk on.
- Enter a name fo the new virtual disk. I will use the name “iSCSI Volumes” because I will later add iSCSI volumes on this virtual disk volume.
- Now choose the storage layout. Because I use a RAID 5 array on my physical raid controller I choose “Simple”. When you are adding disk JBOD style, you can use Mirror or Parity to get reliability.
- Choose a Provisioning type. I use Thin so I can create a virtual disk up to 64TB without having the capacity at the moment. I still can only use the disk capacity I have at the moment, but I can add disks to the storage pool later without having to change the Virtual Disksize.
- Now specify the size of the virtual disk. If you have chosen the Provisioning type to be “Fixed” you cannot create a virtual disk bigger than your free space.
- wait for the virtual disk to be created
Create a Volume
- Now you have to create a volume on this Virtual Disk.
- Choose the Virtual Disk
- Choose the options how you want to use the volume
- Now you can see a new volume
Create a new iSCSI Virtual Disk and a new iSCSI Target
- Launch the New Virtual Disk wizard
- Choose the volume where the iSCSI Virtual Disk should be created. In my case I choose the Volume which I created on my storage pool.
- Choose a name for the iSCSI Virtual Disk
- Specify the size of the iSCSI Virtual Disk
- Create a new iSCSI Target
- Specify a target name
- Specify the iSCSI initiators (Access Server) which can access the ISCSI Virtual Disk. If this are Windows 8 or Windows Server 8 machines you can do a directory search.
- You can enable Authentication if you need
- Now you can create the iSCSI Virtual Disk
- Now you have a new iSCSI Virtual Disk on your Virtual Disk, which you have created on your Storage Pool, which is an aggregation of your physical disks .