A question I have heard asked many times and wondered myself is "How do I get SAN knowledge and experience if I don't have a SAN at work or home?" It's a common catch-22 for IT professionals who don't come the chance to manage a SAN in their work environments. Considering what most people call a SAN is based around a physical device which can easily cost in the $10,000+ range for basic models, it's not the easiest thing to reproduce in your home lab environment.
So what can you do to get the knowledge and hands on with SAN and other storage types?
- Understand fundamental definitions, theory and applications.
- Vendor specific white papers, training programs and courses.
- Lab at home using software based SAN's.
What is a SAN?
The firsts step to learning about SAN is to really clarify the core definitions of what it is. SAN, Storage Area Network, is a dedicated network which allows access to block level storage. This may sound confusing if we don't define block level storage. The term block level essentially means the storage is exposed to the end device (server) at it's most basic level. Still not clear? When you connect a hard drive directly into the motherboard of the computer, it is a block level connection to the computer. The only difference with a SAN is that instead of being in the server itself, there is a network, usually iSCSI or Fibre, between the sever and the storage. With a SAN the storage is treated by the operating system as normal physical disk which must be formatted with a filesystem.
If you compare this to a NAS, Network Attached Storage, which provides file based access and the filesystem is created and maintained on the NAS itself. You would then be able to access the storage by using a protocol such as SMB or NFS commonly through a UNC path such as \\NAS-NAME\FOLDER. This is the exact same way it works when you share a folder on a Windows or any other server and access it across the network. You can even call your Windows Server with network shares a NAS if you wanted to. It's important to understand that NAS and SAN define HOW the storage is managed and exposed to the clients NOT a specific hardware device.
Another common type of storage type is DAS, Direct Attached Storage. This type of storage again defines HOW the storage is connected.With DAS storage is exposed to the server as block level storage and it's up to the server to manage the filesystem. DAS storage connection types include ATA, SATA, eSATA, SCSI, SAS, and Fibre Channel. The primary difference between DAS and SAN is that with DAS there is no network (router, switch etc) between the storage and the server.
I encourage you to further explorer the basics of storage definitions and concepts based on many different types. Some further books which could help are:
What type of storage is "best"?
A common misconception is that SAN is the "best" type of storage because it offers many features, is very expensive and can often be seen used in large businesses. The short answer is that there is no best type of storage only the best choice for your requirements.
Scott Alan Miller provides a great resource on choosing a storage type, along with extensive resources on other storage and related IT topics on his blog.
How can I practice using a SAN/NAS?
With virtualization technologies such as VMware Workstation, VirtualBox etc, you can install appliances or OS services to allow you to practice using SAN and NAS technologies. Remember SAN and NAS do not define hardware devices, they are only services running on hardware devices which means we can emulate their function in a virtual lab. The only downside is you will not get experience with vendor specific hardware and interfaces.
Some common options include:
- Windows Server 2008 R2 /Microsoft iSCSI Target Software
- Windows Server 2012 (iSCSI target is built-in)
- StarWinds (runs on Windows Server)
- Any Linux/UNIX/BSD Distribution
In a future post I will go into more detail about setting up a few of these including configuring test environments to implement clustering features of Windows Server and vSphere.