World Wide Name

From Wikipedia, the free encyclopedia

A World Wide Name (WWN) or World Wide Identifier (WWID) is a unique identifier used in storage technologies including Fibre Channel, Parallel ATA, Serial ATA, SCSI and Serial Attached SCSI (SAS).[1]

A WWN may be employed in a variety of roles, such as a serial number or for addressability; for example, in Fibre Channel networks, a WWN may be used as a WWNN (World Wide Node Name) to identify an endpoint, or a WWPN (World Wide Port Name) to identify an individual port on a switch. Two WWNs which do not refer to the same thing should always be different even if the two are used in different roles, i.e. a role such as WWPN or WWNN does not define a separate WWN space. The use of burned-in addresses and specification compliance by vendors is relied upon to enforce uniqueness.

Formats[edit]

Each WWN is an 8- or 16-byte number, the length and format of which is determined by the most significant four bits, which are referred to as an NAA (Network Address Authority). The remainder of the value is derived from an IEEE OUI (or from Company Id (CID)) and vendor-supplied information. Each format defines a different way to arrange and/or interpret these components. OUIs are used with the U/L and multicast bits zeroed, or sometimes even omitted (and assumed zero), though CID has U/L set to 1.[2]

The WWN formats include:[3]

  • "Original" IEEE formats are essentially a two-byte header followed by an embedded EUI-48 address (which contains the OUI). The first 2 bytes are either hex 10:00 or 2x:xx (where the x's are vendor-specified) followed by the 3-byte OUI and 3 bytes for a vendor-specified serial number. Thus, the difference between NAA 1 format and NAA 2 format is merely the presence of either a zero pad or an extra 3 nibbles of vendor information.
  • "Registered" IEEE formats dispense with padding and place the OUI immediately after the NAA. The OUI is no longer considered to be part of a EUI-48 address. For NAA 5 format, this leaves 9 contiguous nibbles for a vendor-defined value. This is the same format used by the companion NAA 6 format, the only difference being a 16-byte number space is assumed, rather than an 8-byte number space. This leaves a total of 25 contiguous nibbles for vendor-defined values.
  • "Mapped EUI-64" formats manage to fit an EUI-64 address into an 8-byte WWN. Since the NAA is mandatory, and takes up a nibble, this represents a four-bit deficit. These four bits are recouped through the following tricks: First, two bits are stolen from the NAA by allocating NAAs 12, 13, 14, and 15 to all refer to the same format. Second, the remaining two bits are recouped by omitting the U/L and multicast bits from the EUI-64's OUI. When reconstructing the embedded EUI-64 value, the U/L and multicast bits are assumed to have carried zero values.

Presentation[edit]

WWN addresses are predominantly represented as colon separated hexadecimal octets, MSB-first, with leading zeros — similar to Ethernet's MAC address. However, there is much variance between vendors.[4]

Example usage[edit]

Linux uses WWN to identify disks by providing symbolic links to the real device entry:

ls -l /dev/disk/by-id/
[…]
lrwxrwxrwx 1 root root  9 Jul  4 22:00 wwn-0x5002e10000000000 -> ../../sr0
lrwxrwxrwx 1 root root  9 Jul  4 22:00 wwn-0x500277a4100c4e21 -> ../../sda
lrwxrwxrwx 1 root root 10 Jul  4 22:00 wwn-0x500277a4100c4e21-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Jul  4 22:00 wwn-0x500277a4100c4e21-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Jul  4 22:00 wwn-0x500277a4100c4e21-part3 -> ../../sda3

(There are more entries in this directory which are omitted here)

The target names (sr0, sda) might change when new devices are added to the computer (e.g. sda might become sdb) but the WWN will be the same. That is an advantage when the WWNs are used in configuration files and scripts, e.g., /etc/fstab.

How to Find WWN Information in Linux[edit]

There are various ways how to find WWN information.[5]

Regardless of HBA type, below commands can be used to find WWN number information.

Method 1[edit]

# cat /sys/class/fc_host/host*/port_name

0x10000090fa2537d6

0x10000090fa253a29

Method 2 : using syminq command[edit]

If EMC Storage is being used so there is a chance you must have SYMCLI software installed. syminq comes with SYSCLI. syminq is also helpful in getting WWN in easy way.

[root@server]# syminq hba
Host Name : server
HBA Type            : FibreChannel
HBA Name            : Emulex-LPe11000-E-2
Vendor              : Emulex Corporation
Model               : LPe11000-E
Serial Number       : BT01473025
Firmware Version    : 2.72A2 (Z3D2.72A2), sli-3
Driver Version      : 8.2.0.63.3p; HBAAPI(I) v2.1.g, 12-07-07
Node WWN            : 20000000c9b0513a
Number of Ports     : 1
Port WWN            : 10000000c9b0513a
Port name           : /sys/class/scsi_host/host3
Port type           : NPort
Port FCID           : 2764032
Port speed          : 4gbit
Supported speed     : 4gbit
Port state          : Online
Supported COS       : 00000008
Supported FC4 types : 0000010000000001000000000000000000000000000000000000000000000000
Active FC4 types    : 0000010000000001000000000000000000000000000000000000000000000000
Max frame size      : 2048

Method 3 : using hbacmd command[edit]

It will work if hbanyware package is installed.

[root@server]# /usr/sbin/hbanyware/hbacmd listHBAs
Manageable HBA List
Port WWN   : 10:00:00:00:c9:b0:55:2e
Node WWN   : 20:00:00:00:c9:b0:55:2e
Fabric Name: 10:00:50:eb:1a:5f:c7:0c
Flags      : 8000fe00
Host Name  : server
Mfg        : Emulex Corporation
Serial No. : BT01474056
Port Number: n/a
Mode       : Initiator
Port WWN   : 10:00:00:00:c9:b0:51:32
Node WWN   : 20:00:00:00:c9:b0:51:32
Fabric Name: 10:00:50:eb:1a:5f:bd:0c
Flags      : 8000fe00
Host Name  : server
Mfg        : Emulex Corporation
Serial No. : BT01472998
Port Number: n/a
Mode       : Initiator
[root@server]#

Method 4 : using systool command[edit]

systool utility comes with Linux distros. If it is not available it can be installed on servers where HBA is already installed.

 # systool -c fc_host -v
(output trimmed for clarity)
  Class Device path = "/sys/class/fc_host/host8"    port_name           = "10:00:00:00:c9:b0:51:32"    node_name           = "20:00:00:00:c9:b0:51:32"

List of OUIs commonly seen as WWN Company Identifiers[edit]

OUIs can be queried searching the IEEE organization's Public Manufacturers OUI list. OUIs can also be queried by searching IEEE Standards Registration authority [1].

See also[edit]

External links[edit]

References[edit]

  1. ^ "lsscsi(8) — lsscsi — Debian testing". manpages.debian.org. Retrieved 2020-09-26.
  2. ^ "Guidelines for Use of Extended Unique Identifier (EUI), Organizationally Unique Identifier (OUI), and Company ID (CID)" (PDF). IEEE Standards Association. IEEE. Retrieved 5 August 2018.
  3. ^ IEEE. "Guidelines for Fibre Channel Use of the Organizationally Unique Identifier (OUI)" (PDF).
  4. ^ Richard Butler. "WWN Notes v1.3" (PDF). Archived from the original (PDF) on 2013-09-18.
  5. ^ Raj Rai (16 October 2019). "How to Find WWN Number Information in Linux". nixDrafts. Retrieved 29 November 2021.
  6. ^ "VMFS Snapshots and the FlashArray Part IV: How to correlate a VMFS to a FlashArray volume". 25 January 2016.