Retrieve LUN properties or data
GET /storage/luns/{uuid}
Introduced In: 9.6
Retrieves a LUN.
Expensive properties
There is an added cost to retrieving values for these properties. They are not included by default in GET results and must be explicitly requested using the fields
query parameter. See Requesting specific fields to learn more.
-
auto_delete
-
lun_maps.*
-
movement.*
-
status.mapped
-
statistics.*
-
metric.*
Related ONTAP commands
-
lun mapping show
-
lun move show
-
lun show
-
volume file clone show-autodelete
Learn more
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
uuid |
string |
path |
True |
The unique identifier of the LUN to retrieve. |
fields |
array[string] |
query |
False |
Specify the fields to return. |
Response
Status: 200, Ok
Name | Type | Description |
---|---|---|
_links |
||
auto_delete |
boolean |
This property marks the LUN for auto deletion when the volume containing the LUN runs out of space. This is most commonly set on LUN clones. When set to true, the LUN becomes eligible for automatic deletion when the volume runs out of space. Auto deletion only occurs when the volume containing the LUN is also configured for auto deletion and free space in the volume decreases below a particular threshold. This property is optional in POST and PATCH. The default value for a new LUN is false. There is an added cost to retrieving this property's value. It is not populated for either a collection GET or an instance GET unless it is explicitly requested using the |
class |
string |
The class of LUN. Only regular LUNs can be created using the REST API. |
clone |
This sub-object is used in POST to create a new LUN as a clone of an existing LUN, or PATCH to overwrite an existing LUN as a clone of another. Setting a property in this sub-object indicates that a LUN clone is desired. Consider the following other properties when cloning a LUN: When used in a PATCH, the patched LUN's data is over-written as a clone of the source and the following properties are preserved from the patched LUN unless otherwise specified as part of the PATCH: Persistent reservations for the patched LUN are also preserved. |
|
comment |
string |
A configurable comment available for use by the administrator. Valid in POST and PATCH. |
create_time |
string |
The time the LUN was created. |
enabled |
boolean |
The enabled state of the LUN. LUNs can be disabled to prevent access to the LUN. Certain error conditions also cause the LUN to become disabled. If the LUN is disabled, you can consult the |
location |
The location of the LUN within the ONTAP cluster. Valid in POST and PATCH.
|
|
lun_maps |
array[lun_maps] |
The LUN maps with which the LUN is associated. There is an added cost to retrieving property values for |
metric |
Performance numbers, such as IOPS latency and throughput. |
|
movement |
This sub-object applies to LUN movement between volumes. A LUN can be moved to a new volume with a PATCH request that changes either the volume portion of property Moving a LUN between volumes is an asynchronous activity begun by a PATCH request. The data for the LUN is then asynchronously copied from the source volume to the destination volume. The time required to complete the move depends on the size of the LUN and the load on the cluster. The While the LUN is being moved, the status of the LUN movement operation can be obtained using a GET for the LUN that requests the There is added cost to retrieving property values for |
|
name |
string |
The fully qualified path name of the LUN composed of a "/vol" prefix, the volume name, the (optional) qtree name, and base name of the LUN. Valid in POST and PATCH. A PATCH that modifies the qtree and/or base name portion of the LUN path is considered a rename operation. A PATCH that modifies the volume portion of the LUN path begins an asynchronous LUN movement operation. |
os_type |
string |
The operating system type of the LUN. Required in POST when creating a LUN that is not a clone of another. Disallowed in POST when creating a LUN clone. |
qos_policy |
The QoS policy for the LUN. Both traditional and adaptive QoS policies are supported. If both property Note that a QoS policy can be set on a LUN, or a LUN's volume, but not both. |
|
serial_number |
string |
The LUN serial number. The serial number is generated by ONTAP when the LUN is created.
|
space |
The storage space related properties of the LUN. |
|
statistics |
These are raw performance numbers, such as IOPS latency and throughput. These numbers are aggregated across all nodes in the cluster and increase with the uptime of the cluster. |
|
status |
Status information about the LUN. |
|
svm |
The SVM in which the LUN is located. |
|
uuid |
string |
The unique identifier of the LUN. The UUID is generated by ONTAP when the LUN is created.
|
Example response
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"class": "string",
"clone": {
"source": {
"name": "/vol/volume1/lun1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"comment": "string",
"create_time": "2018-06-04T19:00:00Z",
"location": {
"logical_unit": "lun1",
"qtree": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"id": "1",
"name": "qt1"
},
"volume": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "volume1",
"uuid": "028baa66-41bd-11e9-81d5-00a0986138f7"
}
},
"lun_maps": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"igroup": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "igroup1",
"uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
},
"logical_unit_number": 0
}
],
"metric": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"duration": "PT15S",
"iops": {
"read": "200",
"total": "1000",
"write": "100"
},
"latency": {
"read": "200",
"total": "1000",
"write": "100"
},
"status": "ok",
"throughput": {
"read": "200",
"total": "1000",
"write": "100"
},
"timestamp": "2017-01-25T11:20:13Z"
},
"movement": {
"max_throughput": "string",
"paths": {
"destination": "/vol/vol1/lun1",
"source": "/vol/vol2/lun2"
},
"progress": {
"elapsed": 0,
"failure": {
"code": "4",
"message": "Destination volume is offline."
},
"percent_complete": 0,
"state": "string"
}
},
"name": "/vol/volume1/qtree1/lun1",
"os_type": "string",
"qos_policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "qos1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"serial_number": "string",
"space": {
"size": "1073741824",
"used": 0
},
"statistics": {
"iops_raw": {
"read": "200",
"total": "1000",
"write": "100"
},
"latency_raw": {
"read": "200",
"total": "1000",
"write": "100"
},
"status": "ok",
"throughput_raw": {
"read": "200",
"total": "1000",
"write": "100"
},
"timestamp": "2017-01-25T11:20:13Z"
},
"status": {
"container_state": "string",
"state": "online"
},
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
Error
Status: Default
ONTAP Error Response Codes
Error Code | Description |
---|---|
5374875 |
The specified LUN was not found. |
5374876 |
The specified LUN was not found. |
Name | Type | Description |
---|---|---|
error |
Example error
{
"error": {
"arguments": [
{
"code": "string",
"message": "string"
}
],
"code": "4",
"message": "entry doesn't exist",
"target": "uuid"
}
}
Definitions
See Definitions
href
Name | Type | Description |
---|---|---|
href |
string |
_links
Name | Type | Description |
---|---|---|
self |
source
The source LUN for a LUN clone operation. This can be specified using property clone.source.uuid
or clone.source.name
. If both properties are supplied, they must refer to the same LUN.
Valid in POST to create a new LUN as a clone of the source.
Valid in PATCH to overwrite an existing LUN's data as a clone of another.
Name | Type | Description |
---|---|---|
name |
string |
The fully qualified path name of the clone source LUN composed of a "/vol" prefix, the volume name, the (optional) qtree name, and base name of the LUN. Valid in POST and PATCH. |
uuid |
string |
The unique identifier of the clone source LUN. Valid in POST and PATCH. |
clone
This sub-object is used in POST to create a new LUN as a clone of an existing LUN, or PATCH to overwrite an existing LUN as a clone of another. Setting a property in this sub-object indicates that a LUN clone is desired. Consider the following other properties when cloning a LUN: auto_delete
, qos_policy
, and space.guarantee.requested
.
When used in a PATCH, the patched LUN's data is over-written as a clone of the source and the following properties are preserved from the patched LUN unless otherwise specified as part of the PATCH: class
, auto_delete
, lun_maps
, serial_number
, status.state
, and uuid
.
Persistent reservations for the patched LUN are also preserved.
Name | Type | Description |
---|---|---|
source |
The source LUN for a LUN clone operation. This can be specified using property Valid in POST to create a new LUN as a clone of the source. Valid in PATCH to overwrite an existing LUN's data as a clone of another. |
qtree
The qtree in which the LUN is optionally located. Valid in POST and PATCH.
If properties name
and location.qtree.name
and/or location.qtree.uuid
are specified in the same request, they must refer to the same qtree.
A PATCH that modifies the qtree of the LUN is considered a rename operation.
Name | Type | Description |
---|---|---|
_links |
||
id |
integer |
The identifier for the qtree, unique within the qtree's volume. |
name |
string |
The name of the qtree. |
volume
The volume in which the LUN is located. Valid in POST and PATCH.
If properties name
and location.volume.name
and/or location.volume.uuid
are specified in the same request, they must refer to the same volume.
A PATCH that modifies the volume of the LUN begins an asynchronous LUN movement operation.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the volume. |
uuid |
string |
Unique identifier for the volume. This corresponds to the instance-uuid that is exposed in the CLI and ONTAPI. It does not change due to a volume move.
|
location
The location of the LUN within the ONTAP cluster. Valid in POST and PATCH.
Name | Type | Description |
---|---|---|
logical_unit |
string |
The base name component of the LUN. Valid in POST and PATCH. If properties A PATCH that modifies the base name of the LUN is considered a rename operation. |
qtree |
The qtree in which the LUN is optionally located. Valid in POST and PATCH. If properties A PATCH that modifies the qtree of the LUN is considered a rename operation. |
|
volume |
The volume in which the LUN is located. Valid in POST and PATCH. If properties A PATCH that modifies the volume of the LUN begins an asynchronous LUN movement operation. |
igroup
The initiator group to which the LUN is mapped.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the initiator group. |
uuid |
string |
The unique identifier of the initiator group. |
lun_maps
A LUN map with which the LUN is associated.
Name | Type | Description |
---|---|---|
_links |
||
igroup |
The initiator group to which the LUN is mapped. |
|
logical_unit_number |
integer |
The logical unit number assigned to the LUN for initiators in the initiator group. |
iops
The rate of I/O operations observed at the storage object.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
latency
The round trip latency in microseconds observed at the storage object.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
throughput
The rate of throughput bytes per second observed at the storage object.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
metric
Performance numbers, such as IOPS latency and throughput.
Name | Type | Description |
---|---|---|
_links |
||
duration |
string |
The duration over which this sample is calculated. The time durations are represented in the ISO-8601 standard format. Samples can be calculated over the following durations: |
iops |
The rate of I/O operations observed at the storage object. |
|
latency |
The round trip latency in microseconds observed at the storage object. |
|
status |
string |
Errors associated with the sample. For example, if the aggregation of data over multiple nodes fails, then any partial errors might return "ok" on success or "error" on an internal uncategorized failure. Whenever a sample collection is missed but done at a later time, it is back filled to the previous 15 second timestamp and tagged with "backfilled_data". "Inconsistent_ delta_time" is encountered when the time between two collections is not the same for all nodes. Therefore, the aggregated value might be over or under inflated. "Negative_delta" is returned when an expected monotonically increasing value has decreased in value. "Inconsistent_old_data" is returned when one or more nodes do not have the latest data. |
throughput |
The rate of throughput bytes per second observed at the storage object. |
|
timestamp |
string |
The timestamp of the performance data. |
paths
The fully qualified LUN path names involved in the LUN movement.
Name | Type | Description |
---|---|---|
destination |
string |
The fully qualified path of the LUN movement destination composed of a "/vol" prefix, the volume name, the (optional) qtree name, and base name of the LUN. |
source |
string |
The fully qualified path of the LUN movement source composed of a "/vol" prefix, the volume name, the (optional) qtree name, and base name of the LUN. |
failure
Error information provided if the asynchronous LUN movement operation fails.
Name | Type | Description |
---|---|---|
code |
string |
The error code. |
message |
string |
The error message. |
progress
Name | Type | Description |
---|---|---|
elapsed |
integer |
The amount of time, in seconds, that has elapsed since the start of the LUN movement. |
failure |
Error information provided if the asynchronous LUN movement operation fails. |
|
percent_complete |
integer |
The percentage complete of the LUN movement. |
state |
string |
The state of the LUN movement. Valid in PATCH when an LUN movement is active. Set to paused to pause a LUN movement. Set to replicating to resume a paused LUN movement. |
volume_snapshot_blocked |
boolean |
This property reports if volume Snapshot copies are blocked by the LUN movement. This property can be polled to identify when volume Snapshot copies can be resumed after beginning a LUN movement. |
movement
This sub-object applies to LUN movement between volumes. A LUN can be moved to a new volume with a PATCH request that changes either the volume portion of property name
, location.volume.uuid
, or location.volume.name
. If the volume is changed using more than one of these properties, the supplied properties used must refer to the same volume.
Moving a LUN between volumes is an asynchronous activity begun by a PATCH request. The data for the LUN is then asynchronously copied from the source volume to the destination volume. The time required to complete the move depends on the size of the LUN and the load on the cluster. The movement
sub-object is populated while a LUN movement is in progress and for two (2) minutes following completion of a movement.
While the LUN is being moved, the status of the LUN movement operation can be obtained using a GET for the LUN that requests the movement
properties. The LUN movement operation can be further modified using a PATCH on the properties on the movement
sub-object.
There is added cost to retrieving property values for movement
. They are not populated for either a collection GET or an instance GET unless explicitly requested using the fields
query parameter. See Requesting specific fields to learn more.
Name | Type | Description |
---|---|---|
max_throughput |
string |
The maximum data throughput that should be utilized in support of the LUN movement. This property can be used to throttle a transfer and limit its impact on the performance of the source and destination nodes. The specified value will be rounded up to the nearest megabyte. If this property is not specified in a POST that begins a LUN movement, throttling is not applied to the data transfer. For more information, see Size properties in the docs section of the ONTAP REST API documentation. This property is valid only in a POST that begins a LUN movement or a PATCH when a LUN movement is already in process.
|
paths |
The fully qualified LUN path names involved in the LUN movement. |
|
progress |
qos_policy
The QoS policy for the LUN. Both traditional and adaptive QoS policies are supported. If both property qos_policy.uuid
and qos_policy.name
are specified in the same request, they must refer to the same QoS policy. To remove the QoS policy from a LUN, leaving it with no QoS policy, set property qos_policy.name
to an empty string ("") in a PATCH request. Valid in POST and PATCH.
Note that a QoS policy can be set on a LUN, or a LUN's volume, but not both.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the QoS policy. To remove the QoS policy from a LUN, leaving it with no QoS policy, set this property to an empty string ("") in a PATCH request. Valid in POST and PATCH. |
uuid |
string |
The unique identifier of the QoS policy. Valid in POST and PATCH. |
guarantee
Properties that request and report the space guarantee for the LUN.
Name | Type | Description |
---|---|---|
requested |
boolean |
The requested space reservation policy for the LUN. If true, a space reservation is requested for the LUN; if false, the LUN is thin provisioned. Guaranteeing a space reservation request for a LUN requires that the volume in which the LUN resides is also space reserved and that the fractional reserve for the volume is 100%. Valid in POST and PATCH. |
reserved |
boolean |
Reports if the LUN is space guaranteed. If true, a space guarantee is requested and the containing volume and aggregate support the request. If false, a space guarantee is not requested or a space guarantee is requested and either the containing volume or aggregate do not support the request. |
space
The storage space related properties of the LUN.
Name | Type | Description |
---|---|---|
guarantee |
Properties that request and report the space guarantee for the LUN. |
|
size |
integer |
The total provisioned size of the LUN. The LUN size can be increased but not be made smaller using the REST interface. The maximum and minimum sizes listed here are the absolute maximum and absolute minimum sizes in bytes. The actual minimum and maxiumum sizes vary depending on the ONTAP version, ONTAP platform and the available space in the containing volume and aggregate. For more information, see Size properties in the docs section of the ONTAP REST API documentation.
|
used |
integer |
The amount of space consumed by the main data stream of the LUN. This value is the total space consumed in the volume by the LUN, including filesystem overhead, but excluding prefix and suffix streams. Due to internal filesystem overhead and the many ways SAN filesystems and applications utilize blocks within a LUN, this value does not necessarily reflect actual consumption/availability from the perspective of the filesystem or application. Without specific knowledge of how the LUN blocks are utilized outside of ONTAP, this property should not be used as an indicator for an out-of-space condition. For more information, see Size properties in the docs section of the ONTAP REST API documentation.
|
iops_raw
The number of I/O operations observed at the storage object. This can be used along with delta time to calculate the rate of I/O operations per unit of time.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
latency_raw
The raw latency in microseconds observed at the storage object. This can be divided by the raw IOPS value to calculate the average latency per I/O operation.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
throughput_raw
Throughput bytes observed at the storage object. This can be used along with delta time to calculate the rate of throughput bytes per unit of time.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
statistics
These are raw performance numbers, such as IOPS latency and throughput. These numbers are aggregated across all nodes in the cluster and increase with the uptime of the cluster.
Name | Type | Description |
---|---|---|
iops_raw |
The number of I/O operations observed at the storage object. This can be used along with delta time to calculate the rate of I/O operations per unit of time. |
|
latency_raw |
The raw latency in microseconds observed at the storage object. This can be divided by the raw IOPS value to calculate the average latency per I/O operation. |
|
status |
string |
Errors associated with the sample. For example, if the aggregation of data over multiple nodes fails, then any partial errors might return "ok" on success or "error" on an internal uncategorized failure. Whenever a sample collection is missed but done at a later time, it is back filled to the previous 15 second timestamp and tagged with "backfilled_data". "Inconsistent_ delta_time" is encountered when the time between two collections is not the same for all nodes. Therefore, the aggregated value might be over or under inflated. "Negative_delta" is returned when an expected monotonically increasing value has decreased in value. "Inconsistent_old_data" is returned when one or more nodes do not have the latest data. |
throughput_raw |
Throughput bytes observed at the storage object. This can be used along with delta time to calculate the rate of throughput bytes per unit of time. |
|
timestamp |
string |
The timestamp of the performance data. |
status
Status information about the LUN.
Name | Type | Description |
---|---|---|
container_state |
string |
The state of the volume and aggregate that contain the LUN. LUNs are only available when their containers are available. |
mapped |
boolean |
Reports if the LUN is mapped to one or more initiator groups. There is an added cost to retrieving this property's value. It is not populated for either a collection GET or an instance GET unless it is explicitly requested using the |
read_only |
boolean |
Reports if the LUN allows only read access. |
state |
string |
The state of the LUN. Normal states for a LUN are online and offline. Other states indicate errors. |
svm
The SVM in which the LUN is located.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the SVM. |
uuid |
string |
The unique identifier of the SVM. |
error_arguments
Name | Type | Description |
---|---|---|
code |
string |
Argument code |
message |
string |
Message argument |
error
Name | Type | Description |
---|---|---|
arguments |
array[error_arguments] |
Message arguments |
code |
string |
Error code |
message |
string |
Error message |
target |
string |
The target parameter that caused the error. |