What is iSCSI?
iSCSI is a protocol that allows two hosts to send SCSI commands over a TCP/IP network. By doing this, you can use SCSI but free yourself of the limitations of traditional SCSI cabling and, instead, use your LAN to connect your SCSI PCs and Server to your SCSI storage.
iSCSI is a type of storage area network (SAN) and it is typically compared to Fibre Channel (FC) – its much more expensive competitor.
With iSCSI you have a client who needs access to the storage on the server. The client uses initiator software (making it the initiator) to connect to the storage server (called the target). While the iSCSI client software initiator is included in Windows Vista and Windows Server 2008, the iSCSI target (the server) is usually costly to obtain.
How do I create a free iSCSI Storage Target Server?
Perhaps you already have a hardware-based iSCSI Server. If so, excellent! However, if not, you should consider OpenFiler. OpenFiler is a free open-source iSCSI target server that can run on just about any PC or Server system. This is a modified Linux kernel with a GUI interface front-end. Don’t worry if you don’t know Linux. With OpenFiler, you never have to use the Linux command line (in fact, it isn’t even possible to access it).
Like other storage servers, OpenFiler can turn regular disks into RAID disks and it offers many different sharing options besides iSCSI, such as SMB, FTP, HTTP, and NFS.
With this simply software, you can create your iSCSI target server that your Windows Server 2008 and your Windows Vista systems can access.
To obtain OpenFiler, just go to the OpenFiler download site and download the 370MB ISO. This ISO is the OpenFiler installation. All you have to do is to insert it in the system. Once it boots the CD, all you have to do is to press Enter to install OpenFiler. The installation is very simple. I clicked Next 3 times, Yes, Next 2 more times, Configured a static IP address on OpenFiler (recommended but not required), changed my time zone, set the root password, clicked Next, rebooted the server, and the installation was completed.
In my case, I installed and ran all 3 of the servers I am demonstrating in this article inside VMware Workstation. – OpenFiler, Windows Server 2008, and Windows Vista.
While this article is about connecting the Windows initiators to an iSCSI target and not about how to administer or configure the iSCSI target, let me touch on how to configure OpenFiler for just a moment.
How do I configure OpenFiler to allow access to the iSCSI clients?
Here are the basics of configuring OpenFiler to allow access to the iSCSI clients:
- Login to the Admin console using your web browser at: https://x.x.x.x:446
Figure 1: OpenFiler Administrative login interface
- The default username is openfiler, password password
- Go to services & enable the iSCSI Target service.
- Go to Volumes, then Physical Storage Management, and click on the name of the disk where you want to create a new volume (I do this by having a second disk in the server besides the boot disk). In my case, I clicked on /dev/sdb
- Create a partition on that disk.
- Now go to Volume Group Management, give the new VG a name, click the Select checkbox, and click Add volume group.
- Now click on Create new Volume. Create an iSCSI file system volume in the VG, of whatever size you want.
- Now, go to the General tab and add your local network to the networks tab. This should be the same network that the Win 2008 Server or Vista hosts are located on.
- Go back to the Volume properties, edit the volume, and change that local network to Allow instead of the default of block. Click Update.
- Now disable and enable the iSCSI service.
Now, take the IP address of the OpenFiler iSCSI server and you are ready to access it from your Windows Server 2008 or Windows Vista systems.
How do I connect Windows Vista to my iSCSI SAN?
To connect Windows Vista to an iSCSI target, you need to first go to Control Panel and double click on the iSCSI Initiator.
Figure 2: Vista’s Control Panel – iSCSI Initiator
When you see the dialog box below, answer Yes to start the iSCSI service every time the system boots, in the future.
Figure 3: Vista – start iSCSI Initiator Automatically
When you see the dialog box below, answer Yes to unblock the iSCSI service from the Windows Firewall.
Figure 4: Vista – Allow iSCSI thought the Firewall
When the iSCSI Initiator Properties come up, click on the Discovery tab. Click on Add Portal.
Figure 5: Vista – Add an iSCSI Portal
Enter the IP address or DNS name of the iSCSI server when the Add Target Portal window appears, like this:
Figure 6: Vista – iSCSI Adding a Target Portal
(the port number of 3260 will already be there as this is the default iSCSI port number).
Go to the Targets tab and click Refresh. You should see the name of your iSCSI Target in the list.
Select your target server and click Log on.
Check to automatically restore this connection when the computer starts and click OK.
Figure 7: Vista – Log on to iSCSI Target
You should now see that you are Connected.
Click OK and close out the iSCSI Initiator Properties.
Now click on Administrative Tools, open Computer Management, and click on Storage -> Disk Management.
You will have to initialize the disk if it hasn’t been used before.
Figure 8: Vista’s Disk Manager 1
You should now see the new disk in your Disk Manager. In my case, you see it as the Disk 1 / Basic / 32MB / Online, in the graphic above.
(I created my disk size to be 32MB only for demonstration purposes)
Right Click on the disk and click on New Simple Volume.
Go through the steps of formatting it and assigning it a drive letter.
When you are done, your disk manager should look like this:
Figure 9: Vista’s Disk Manager 2
You can now access your shared iSCSI disk in My Computer as a drive letter, like this:
Figure 10: Vista – Viewing the new iSCSI volume in My Computer
For testing purposes, I went ahead and put a file on the new iSCSI E: Drive.
As our Vista iSCSI connection is complete, let’s move on to Windows Server 2008.
How do you connect a Windows 2008 Server to an iSCSI Target?
Again, just like in Windows Vista, to connect Windows Server 2008 to an iSCSI target, you need to first go to Control Panel and double click on the iSCSI Initiator.
Figure 11: Windows Server 2008 – Launch iSCSI Initiator in Control Panel
Next, you will be prompted to indicate if you want the iSCSI Service to start automatically. I clicked Yes.
Figure 12: Windows Server 2008 – Launch iSCSI Initiator whenever Win 2008 starts
Then, click Yes, that you want iSCSI to be allowed through the Windows Server 2008 Firewall.
Figure 13: Windows Server 2008 – Allow iSCSI through Firewall
(The following steps where you configure the iSCSI Initiator is just like it is in Windows Vista. For that reason, I will leave you the graphics.)
- When the iSCSI Initiator Properties come up, click on the Discovery tab. Click on Add Portal.
- Enter the IP address or DNS name of the iSCSI server when the Add Target Portal window appears and click OK.
- Go to the Targets tab and click Refresh. You should see the name of your iSCSI Target in the list.
- Select your target server and click Log on.
- Check to automatically restore this connection when the computer starts and click OK.
- You should now see that you are Connected.
- Click OK and close out the iSCSI Initiator Properties.
Because, in our case, this iSCSI volume was already initialized on our Windows Vista machine, we don’t need to go into the Disk Manager. If, however, this is a new iSCSI volume that has never been connected to from another Windows machine, you will have to use your Windows 2008 Server’s Disk Manager to initialize the volume, format it, and assign a drive letter.
As this is already done in our case, just go into my computer and you can see the new disk volume.
Figure 14: Windows Server 2008 – view of shared iSCSI volume
In fact, if you open the drive, you can see the same file that I copied onto this iSCSI shared volume from the Windows Vista machine (below).
Figure 15: Windows Server 2008 – view of shared iSCSI volume and shared file
iSCSI SAN Technology is becoming more and more popular. The ability to connect Windows Vista and Server 2008 to an iSCSI SAN is a critical skill for system administrators. Being able to setup a free iSCSI storage server also gives you a lot of flexibility! In this article, you learned how to accomplish each of these tasks, step by step.