# Data Object - ScsiLun(vim.host.ScsiLun)

Property of
  HostMultipathInfoLogicalUnit, HostPlugStoreTopologyDevice, HostScsiTopologyLun, HostStorageDeviceInfo
Extended by
  HostScsiDisk
Extends
  HostDevice
See also
  ScsiLunCapabilities, ScsiLunDescriptor, ScsiLunDurableName
Since
  2.0

## Data Object Description

The ScsiLun data object describes a SCSI logical unit. A SCSI logical unit is a host device that an ESX Server or virtual machine can use for I/O operations.

An ESX Server creates SCSI logical unit objects to represent devices in the host configuration. (See the definition of ScsiLunType for a list of the supported device types.) The vSphere API uses one of two object types to represent a SCSI logical unit, depending on the device type.

- Disks containing file system volumes or parts of volumes for hosts or raw disks for virtual machines. To represent disks, the ESX Server creates a HostScsiDisk object, which inherits properties from the ScsiLun base class.
- Other SCSI devices, for example SCSI passthrough devices for virtual machines. To represent one of these devices, the ESX Server creates a ScsiLun object.

When the Server creates a HostScsiDisk or ScsiLun object, it specifies a valid device name and type:

- deviceName - A string representing the name of the device that is meaningful to the host. The following are some examples of device names.
  `/dev/cdrom`
  `/vmkdev/vmhba0:0:1:0`
  `PhysicalDrive0`
- deviceType - A string describing the type of device. The following are some examples of device types.
  `scsi-cdrom`
  `scsi-tape`
  `scsi-disk`
  `scsi-processor`
  `scsi-unknown`

Properties

Name | Type | Description
--- | --- | ---
alternateName* | ScsiLunDurableName[] | Alternate durable names. Records all available durable names derived from page 80h of the Vital Product Data (VPD) and the Identification Vital Product Data (VPD) page 83h as defined by the SCSI-3 Primary Commands. For devices that are not SCSI-3 compliant this property is not defined. Since VI API 2.5
applicationProtocol* | xsd:string | Indicates the current device protocol. Application protocol for a device which is set based on input from vmkctl storage control plane. Must be one of the values of DeviceProtocol. Since 8.0.1.0
canonicalName* | xsd:string | Canonical name of the SCSI logical unit. Disk partition or extent identifiers refer to this name when referring to a disk. Use this property to correlate a partition or extent to a specific SCSI disk. See diskName
capabilities* | ScsiLunCapabilities | Capabilities of SCSI device. Since vSphere API 4.0
clusteredVmdkSupported* | xsd:boolean | Indicates if LUN has the prequisite properties to enable Clustered Vmdk feature once formatted into VMFS Datastore. Since vSphere API 7.0
descriptor* | ScsiLunDescriptor[] | List of descriptors that can be used to identify the LUN object. The uuid will also appear as a descriptor. The id field in the descriptor is a string that can be used to correlate the ScsiLun across multiple servers. A ScsiLun may have multiple descriptors. The choice and order of these descriptors may be different on different servers. Not all descriptors are suitable for correlation. Some descriptors are only sufficient to identify the ScsiLun within a single host. Each descriptor contains a quality property that indicates whether or not the descriptor is suitable for correlation. Since vSphere API 4.0
dispersedNs* | xsd:boolean | Indicates whether namespace is dispersed. Set to true when the namespace of LUN is dispersed. Since 8.0.1.0
displayName* | xsd:string | User configurable display name of the SCSI logical unit. A default display name will be used if available. If the display name is not supported, it will be unset. The display name does not have to be unique but it is recommended that it be unique. Since vSphere API 4.0
durableName* | ScsiLunDurableName | The durable name of the SCSI device. For a SCSI-3 compliant device this property is derived from the payloads of pages 80h and 83h of the Vital Product Data (VPD) as defined by the T10 and SMI standards. For devices that do not provide this information, this property is not defined.
key* | xsd:string | Linkable identifier
lunType | xsd:string | The type of SCSI device. Must be one of the values of ScsiLunType.
model* | xsd:string | The model number of the SCSI device.
operationalState | xsd:string[] | The operational states of the LUN. When more than one item is present in the array, the first state should be considered the primary state. For example, a LUN may be "ok" and "degraded" indicating I/O is still possible to the LUN, but it is operating in a degraded mode. See ScsiLunState
perenniallyReserved* | xsd:boolean | Indicates the state of a perennially reserved flag for a LUN. If set for Raw Device Mapped (RDM) LUNs, the host startup or LUN rescan take comparatively shorter duration than when it is unset. Since vSphere API 6.7.2
protocolEndpoint* | xsd:boolean | Indicates that this SCSI LUN is protocol endpoint. This property will be populated if and only if host supports VirtualVolume based Datastore. Check the host capability virtualVolumeDatastoreSupported. See HostProtocolEndpoint. Since vSphere API 6.0
queueDepth* | xsd:int | The queue depth of SCSI device.
revision* | xsd:string | The revision of the SCSI device.
scsiLevel* | xsd:int | The SCSI level of the SCSI device.
serialNumber* | xsd:string | The serial number of the SCSI device. For a device that is SCSI-3 compliant, this property is derived from page 80h of the Vital Product Data (VPD), as defined by the SCSI-3 Primary Commands (SPC-3) spec. Not all SCSI-3 compliant devices provide this information. For devices that are not SCSI-3 compliant, this property is not defined.
standardInquiry* | xsd:byte[] | Standard Inquiry payload. For a SCSI-3 compliant device this property is derived from the standard inquiry data. For devices that are not SCSI-3 compliant this property is not defined. Since VI API 2.5
uuid | xsd:string | Universally unique identifier for the LUN used to identify ScsiLun across multiple servers. This identifier can be used to identify analogous objects in other views such as HostMultipathInfoLogicalUnit and HostScsiTopologyLun. See HostMultipathInfoLogicalUnit See HostScsiTopologyLun
vendor* | xsd:string | The vendor of the SCSI device.
vStorageSupport* | xsd:string | vStorage hardware acceleration support status. This property represents storage acceleration provided by the SCSI logical unit. See ScsiLunVStorageSupportStatus for valid values. If a storage device supports hardware acceleration, the ESX host can offload specific virtual machine management operations to the storage device. With hardware assistance, the host performs storage operations faster and consumes less CPU, memory, and storage fabric bandwidth. For vSphere 4.0 or earlier hosts, this value will be unset. Since vSphere API 4.1
Properties inherited from HostDevice
deviceName, deviceType
Properties inherited from DynamicData
None

*Need not be set
Show WSDL type definition
<complexType xmlns="http://www.w3.org/2001/XMLSchema" xmlns:vim25="urn:vim25" name="ScsiLun"> <complexContent> <extension base="vim25:HostDevice"> <sequence> <element name="key" type="xsd:string" minOccurs="0"/> <element name="uuid" type="xsd:string"/> <element name="descriptor" type="vim25:ScsiLunDescriptor" minOccurs="0" maxOccurs="unbounded"/> <element name="canonicalName" type="xsd:string" minOccurs="0"/> <element name="displayName" type="xsd:string" minOccurs="0"/> <element name="lunType" type="xsd:string"/> <element name="vendor" type="xsd:string" minOccurs="0"/> <element name="model" type="xsd:string" minOccurs="0"/> <element name="revision" type="xsd:string" minOccurs="0"/> <element name="scsiLevel" type="xsd:int" minOccurs="0"/> <element name="serialNumber" type="xsd:string" minOccurs="0"/> <element name="durableName" type="vim25:ScsiLunDurableName" minOccurs="0"/> <element name="alternateName" type="vim25:ScsiLunDurableName" minOccurs="0" maxOccurs="unbounded"/> <element name="standardInquiry" type="xsd:byte" minOccurs="0" maxOccurs="unbounded"/> <element name="queueDepth" type="xsd:int" minOccurs="0"/> <element name="operationalState" type="xsd:string" maxOccurs="unbounded"/> <element name="capabilities" type="vim25:ScsiLunCapabilities" minOccurs="0"/> <element name="vStorageSupport" type="xsd:string" minOccurs="0"/> <element name="protocolEndpoint" type="xsd:boolean" minOccurs="0"/> <element name="perenniallyReserved" type="xsd:boolean" minOccurs="0"/> <element name="clusteredVmdkSupported" type="xsd:boolean" minOccurs="0"/> <element name="applicationProtocol" type="xsd:string" minOccurs="0"/> <element name="dispersedNs" type="xsd:boolean" minOccurs="0"/> </sequence> </extension> </complexContent> </complexType>