This disclosure relates generally to a storage area network (SAN) and, more particularly, to techniques for dynamically tracking logical unit numbers moving between input/output (I/O) ports of a SAN target.
In computer system storage, a logical unit number (LUN) is a number used to identify a logical unit, which is a device addressed by a small computer system interface (SCSI) protocol or a protocol that encapsulates SCSI, such as Fibre Channel (FC). SCSI is a set of standards for physically connecting and transferring data between computer systems and peripheral devices. The SCSI standards define commands, protocols, and electrical and optical interfaces. The SCSI protocol defines communication from host-to-host, host-to-peripheral device, and peripheral device-to-peripheral device. Typically, most peripheral devices are SCSI targets that are incapable of acting as SCSI initiators, i.e., unable to initiate SCSI transactions themselves.
FC protocol is a transport protocol that predominantly transports SCSI commands over FC networks. FC supports a number of protocols, including SCSI, asynchronous transfer mode (ATM), and Internet protocol (IP). FC is a popular storage area network (SAN) protocol that allows organizations to consolidate storage into data center storage arrays, while providing hosts (such as database and web servers) with the illusion of locally-attached disks. A SAN is a dedicated storage network that provides access to consolidated block level data storage. A SAN architecture is typically used to attach remote computer storage devices (e.g., disk arrays, tape libraries, and optical jukeboxes) to servers in such a way that the devices appear locally attached, with respect to an operating system (OS). In general, a SAN only provides block-level operations, as contrasted with file abstraction. However, file systems may be built on top of SANs to provide file abstraction. Protocols employed in SANs include SCSI, FC, advanced technology attachment (ATA), and ATA over Ethernet (AoE), among other protocols.
LUNs may be used with any peripheral device that supports read/write operations, but are most often used to refer to logical disks created on a SAN. Peripheral device storage (or secondary storage) differs from primary storage in that secondary storage is not directly accessible by a central processing unit (CPU) of a server computer system (server). That is, a server usually employs input/output (I/O) channels to access secondary storage and transfers desired data to a CPU using an intermediate area in primary storage. Unlike most primary storage, secondary storage does not lose data when a storage device is powered down, i.e., secondary storage is non-volatile. In general, modern computer systems typically have two orders of magnitude more secondary storage than primary storage. In modern computer systems, secondary storage usually takes the form of hard disk drives (HDDs) or solid state drives (SSDs).
FC host bus adapters (HBAs) are generally available for all major computer architectures and buses. Each FC HBA has a unique world wide name (WWN), which is similar to an Ethernet media access control (MAC) address in that the WWN uses an organizationally unique identifier (OUI) that is assigned by the Institute of Electrical and Electronics Engineers (IEEE). A first type of WWN is a world wide node name (WWNN), which can be shared by some or all ports of a peripheral device. A second type of WWN is a world wide port name (WWPN), which is necessarily unique to each port of a peripheral device.