ScsiLun
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 ScsiLunTypeEnum 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
{
"_typeName": "string",
"deviceName": "string",
"deviceType": "string",
"key": "string",
"uuid": "string",
"descriptor": [
{
"_typeName": "string",
"quality": "string",
"id": "string"
}
],
"canonicalName": "string",
"displayName": "string",
"lunType": "string",
"vendor": "string",
"model": "string",
"revision": "string",
"scsiLevel": 0,
"serialNumber": "string",
"durableName": {
"_typeName": "string",
"namespace": "string",
"namespaceId": 0,
"data": [
0
]
},
"alternateName": [
{
"_typeName": "string",
"namespace": "string",
"namespaceId": 0,
"data": [
0
]
}
],
"standardInquiry": [
0
],
"queueDepth": 0,
"operationalState": [
"string"
],
"capabilities": {
"_typeName": "string",
"updateDisplayNameSupported": false
},
"vStorageSupport": "string",
"protocolEndpoint": false,
"perenniallyReserved": false,
"clusteredVmdkSupported": false,
"applicationProtocol": "string",
"dispersedNs": false
}
Linkable identifier
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 also HostMultipathInfoLogicalUnit, HostScsiTopologyLun.
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.
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 also diskName.
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.
The vendor of the SCSI device.
The model number of the SCSI device.
The revision of the SCSI device.
The SCSI level of the SCSI device.
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.
This data object type represents an SMI-S "Correlatable and Durable Name" which is an identifier for a logical unit number (LUN) that is generated using a common algorithm.
The algorithm divides the identifier into multiple namespaces where each namespace uses a different set of properties of the LUN to generate the identifier. The namespace itself is encoded in the identifier.
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.
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.
The queue depth of SCSI device.
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 also ScsiLunStateEnum.
vStorage hardware acceleration support status.
This property represents storage acceleration provided by the SCSI logical unit. See ScsiLunVStorageSupportStatusEnum 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.
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.
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.
Indicates if LUN has the prequisite properties to enable Clustered Vmdk feature once formatted into VMFS Datastore.
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 DeviceProtocolEnum.
Since: vSphere API Release 8.0.1.0
Indicates whether namespace is dispersed.
Set to true when the namespace of LUN is dispersed.
Since: vSphere API Release 8.0.1.0