Logical Unit Number

From Wikipedia, the free encyclopedia

In computer storage, a logical unit number or LUN is simply the number assigned to a logical unit. A logical unit is a SCSI protocol entity, the only one which may be addressed by the actual input/output (I/O) operations. Each SCSI target provides one or more logical units, and does not perform I/O as itself, but only on behalf of a specific logical unit.


Contents

[edit] Examples

To provide a practical example, a typical disk array has multiple physical SCSI ports, each with one SCSI target address assigned. Then the disk array is formatted as a RAID and then this RAID is partitioned into several separate storage volumes. To represent each volume, a SCSI target is configured to provide a LUN. Each SCSI target may provide multiple LUNs and thus represent multiple volumes, which does not mean that those volumes are concatenated.

Another example is a single disk drive with one physical SCSI port. It usually provides just a single target, which in turn usually provides just a single LUN numbered zero. This LUN represents the entire storage of the disk drive.

[edit] Other protocols

LUN term is applicable not only to traditional parallel SCSI, but also to its descendants, like Fibre Channel Protocol (FCP), iSCSI, HyperSCSI, and others.

[edit] cXtXdXsX nomenclature in Unix

From the computer perspective, SCSI LUN is only a part of full SCSI address. The full device's address is made from the:

  • controller ID of the host bus adapter,
    • target ID identifying the SCSI target on that bus,
      • disk ID identifying a LUN on that target,
        • an optional (and largely obsolete) slice ID identifying a specific slice on that disk.

In the Unix family of operating systems, these IDs are often combined into a single "name". For example, /dev/dsk/c1t2d3s4 would refer to controller 1, target 2, disk 3, slice 4. Presently Solaris, HP-UX, NCR, and others continue to use "cXtXdXsX" nomenclature, while AIX has abandoned it in favor of more familiar names.

[edit] Other uses

The term logical unit number also applies to a file access channel within certain programming languages. For example in FORTRAN, the WRITE statement has a form which identifies the LUN of the target file and the FORMAT of the data to be written as in WRITE(5,32) where 5 is the LUN of the file and 32 is the FORMAT statement for the write.

[edit] See also