LUN storage: Working with a SAN's logical unit numbers
A comprehensive collection of articles, videos and more, hand-picked by our editors
Managing logical unit numbers (LUNs) is among the most important concepts to understand with regard to data storage networking. This tip discusses five fundamental ideas storage professionals must understand when dealing with LUN management.
1. A LUN is really nothing more than a logical reference point to a portion of the available storage. This is a fancy way of saying a LUN is versatile when it comes to the ways it can be used. A LUN can reference a disk, a portion of a disk, an entire storage array or part of a storage array.
LUNs simplify storage management. Without them, you would likely need separate mechanisms to assign access and control privileges to various types of storage. For example, you might need one mechanism to assign permissions to a disk and another to assign permissions to an array. LUNs make it possible to assign access control and permissions in a consistent manner regardless of the underlying storage type.
2. LUN management works slightly differently for iSCSI and Fibre Channel (FC) storage. Typically, in an FC environment, a LUN created on a storage device is accessible directly by a server. You must simply specify which server will access the LUN and which host bus adapter (HBA) port will be used. The actual method for doing so varies based on the software used.
In the case of iSCSI, there is an extra step that must be performed. ISCSI connections are not made directly to LUNs, but rather to an iSCSI target, and a target is responsible for managing the connection between the server and the LUN. Among other things, an iSCSI target defines the IP addresses allowed to connect to the underlying LUN.
3. Multipath I/O is a feature that allows multiple read and write paths to a LUN. Multipath I/O can be used to increase storage availability. For example, a server might use multipath I/O to connect two HBA ports to a common LUN by way of two separate FC switches. That way, if an FC switch or HBA fails, the server would still be able to communicate with the LUN.
Multipath I/O is also used in failover clustering. Most Windows-based failover clusters are based around the use of Cluster Shared Volumes that are accessible to every node in the cluster. Because storage volumes are normally only connected to a single server, the multipath I/O feature must be used to facilitate connectivity to multiple servers.
4. When you create a LUN, you must specify the LUN type. The types of LUNs you can create vary based on the software you are using and the underlying physical storage. In a Windows environment, there are five different types of LUNs that can be created:
- Simple LUNs occupy a single physical disk or a portion of a single physical disk.
- Spanned LUN. This type of LUN is generally too large to fit onto a single disk (or within the remaining space on a physical disk), so portions exist on multiple physical disks.
- Striped LUN. Just like a spanned LUN, a striped LUN makes use of multiple disks. The difference is that striping writes data to each disk in the LUN at the same rate. The idea is to use multiple spindles to provide higher speed read and write access than would be possible using a single disk.
- Mirrored LUN. A fault-tolerant set that uses two or more disks. Write operations are simultaneously performed on each disk in the mirror set.
- Striping with parity. Striping with parity is very similar to a striped LUN. The difference is that parity data is written to each disk in the stripe set. This way, if a disk failure occurs, the parity information can be used to rebuild the lost disk. There are many different variations of striping with parity. Some can survive the failure of a single disk within a set, while others can survive multiple disk failures. Striping with parity delivers lower performance than a stripped LUN and provides significantly less storage space because of the overhead involved in writing and storing parity data.
5. Most storage platforms allow LUNs to be extended. However, it is best to define the correct LUN size when the LUN is created rather than creating the LUN with the mindset that it can be extended later on.
More on LUN management
Sub-LUN-level tiering: What to consider
How do you make a snapshot of a LUN?
One of the reasons for this is that LUN extensions tend to impact performance. By definition, an extended LUN is fragmented (in much the same way a spanned LUN is fragmented because it exists on multiple disks). Fragmented LUNs tend not to perform as well as LUNs that do not span disks.
More important, extending a LUN does not necessarily make more storage space available to the server connected to the LUN. This is because extending a LUN is not the same as extending the partition that exists on the LUN. Depending on the server's operating system and the partition type, extending a partition to match a LUN extension may prove to be impossible.
About the author
Brien Posey is a Microsoft MVP with two decades of IT experience. Before becoming a freelance technical writer, Brien worked as a CIO for a national chain of hospitals and healthcare facilities. He has also served as a network administrator for some of the nation's largest insurance companies and for the Department of Defense at Fort Knox.