LUN 프로비저닝
Active IQ Unified Manager의 일부로 제공되는 프로비저닝 API를 사용하여 SVM(스토리지 가상 머신)에서 LUN을 프로비저닝할 수 있습니다. 이 프로비저닝 워크플로에서는 LUN을 생성하기 전에 SVM의 키, 성능 서비스 수준 및 스토리지 효율성 정책을 검색하는 단계에 대해 자세히 설명합니다.
다음 다이어그램에서는 LUN 프로비저닝 워크플로우의 단계를 보여 줍니다.
|
|
이 워크플로우에서는 ONTAP 클러스터가 Unified Manager에 추가되었으며 클러스터 키를 얻었다고 가정합니다. 또한 이 워크플로우에서는 SVM이 클러스터에 이미 생성되어 있다고 가정합니다. |
-
lun을 생성할 SVM용 SVM 키를 확인하십시오. 자세한 내용은 _Verifying SVM on clusters_workflow 항목을 참조하십시오.
-
다음 API를 실행하고 응답에서 키를 검색하여 성능 서비스 수준의 키를 얻습니다.
| 범주 | HTTP 동사 | 경로 |
|---|---|---|
제공합니다 |
가져오기 |
|
|
|
를 설정하여 시스템 정의 성능 서비스 수준의 세부 정보를 검색할 수 있습니다 |
-
필요한 경우 다음 API를 실행하고 응답에서 키를 검색하여 LUN에 적용할 스토리지 효율성 정책에 대한 스토리지 효율성 정책 키를 가져옵니다.
| 범주 | HTTP 동사 | 경로 |
|---|---|---|
제공합니다 |
가져오기 |
|
-
생성할 LUN 타겟에 대한 액세스 권한을 부여하기 위해 이니시에이터 그룹(igroup)이 생성되었는지 확인합니다.
| 범주 | HTTP 동사 | 경로 |
|---|---|---|
데이터 센터 |
가져오기 |
|
igroup이 액세스를 허가한 SVM을 나타내는 매개 변수 값을 입력해야 합니다. 또한, 특정 igroup을 쿼리하려면 igroup 이름(키)을 입력 매개 변수로 입력합니다.
-
출력에서 액세스를 허용할 igroup을 찾은 경우 키를 가져옵니다. 그렇지 않으면 igroup을 생성합니다.
| 범주 | HTTP 동사 | 경로 |
|---|---|---|
데이터 센터 |
게시 |
|
입력 매개 변수로 생성하려는 igroup의 세부 정보를 입력해야 합니다. 이는 동기식 호출이며 출력에서 igroup 작성을 확인할 수 있습니다. 오류가 발생하면 API 문제를 해결하고 다시 실행할 수 있는 메시지가 표시됩니다.
-
LUN을 생성합니다.
| 범주 | HTTP 동사 | 경로 |
|---|---|---|
제공합니다 |
게시 |
|
LUN을 생성하려면 검색된 값을 필수 입력 매개 변수로 추가해야 합니다.
|
|
스토리지 효율성 정책은 LUN 생성을 위한 선택적 매개 변수입니다. |
-
샘플 컬 *
입력 매개 변수로 생성할 LUN의 모든 세부 정보를 입력해야 합니다.
curl -X POST "https://<hostname>/api/storage-provider/luns" -H "accept: application/json" -H
"Content-Type: application/json" -H "Authorization: Basic <Base64EncodedCredentials>" -d
"{ \"name\": \"MigrationLunWithVol\", \"os_type\": \"windows\",
\"performance_service_level\": { \"key\": \"7873dc0d-0ee5-11ea-82d7-fa163ea0eb69\" },
\"space\": { \"size\": 1024000000 }, \"svm\": { \"key\":
\"333fbcfa-0ace-11ea-9d6d-00a09897cc15:type=vserver,uuid=4d462ec8-0f56-11ea-9d6d-00a09897cc15\"
}}"
JSON 출력에는 생성한 LUN을 확인하는 데 사용할 수 있는 작업 오브젝트 키가 표시됩니다.
-
작업 쿼리에 반환된 작업 객체 키를 사용하여 LUN 생성을 확인합니다.
| 범주 | HTTP 동사 | 경로 |
|---|---|---|
관리 - 서버 |
가져오기 |
|
응답이 끝나면 생성된 LUN의 키가 표시됩니다.
{
"name": "lunKey",
"value": "key": "f963839f-0f95-11ea-9963-00a098884af5:type=lun,uuid=71f3187e-bf19-4f34-ba34-b1736209b45a"
}
],
"_links": {
"self": {
"href": "/api/management-server/jobs/fa7c856d29e2b80f%3A-8d3325d%3A16e9eb5ed6d%3A-548b"
}
}
}
-
반환된 키를 사용하여 다음 API를 실행하여 LUN이 생성되었는지 확인합니다.
| 범주 | HTTP 동사 | 경로 |
|---|---|---|
제공합니다 |
가져오기 |
|
-
JSON 출력 샘플 *
의 POST 방법을 확인할 수 있습니다 /storage-provider/luns 내부적으로 각 함수에 필요한 모든 API를 호출하고 객체를 만듭니다. 예를 들어, 를 호출합니다 /storage-provider/performance-service-levels/ LUN에 성능 서비스 수준을 할당하는 API입니다.
{
"key": "f963839f-0f95-11ea-9963-00a098884af5:type=lun,uuid=71f3187e-bf19-4f34-ba34-b1736209b45a",
"name": "/vol/NSLM_VOL_LUN_1574753881051/LunForTesting1",
"uuid": "71f3187e-bf19-4f34-ba34-b1736209b45a",
"cluster": {
"uuid": "f963839f-0f95-11ea-9963-00a098884af5",
"key": "f963839f-0f95-11ea-9963-00a098884af5:type=cluster,uuid=f963839f-0f95-11ea-9963-00a098884af5",
"name": "sti2552-4451574693410",
"_links": {
"self": {
"href": "/api/datacenter/cluster/clusters/f963839f-0f95-11ea-9963-00a098884af5:type=cluster,uuid=f963839f-0f95-11ea-9963-00a098884af5"
}
}
},
"svm": {
"uuid": "7754a99c-101f-11ea-9963-00a098884af5",
"key": "f963839f-0f95-11ea-9963-00a098884af5:type=vserver,uuid=7754a99c-101f-11ea-9963-00a098884af5",
"name": "Testingsvm1",
"_links": {
"self": {
"href": "/api/datacenter/svm/svms/f963839f-0f95-11ea-9963-00a098884af5:type=vserver,uuid=7754a99c-101f-11ea-9963-00a098884af5"
}
}
},
"volume": {
"uuid": "961778bb-2be9-4b4a-b8da-57c7026e52ad",
"key": "f963839f-0f95-11ea-9963-00a098884af5:type=volume,uuid=961778bb-2be9-4b4a-b8da-57c7026e52ad",
"name": "NSLM_VOL_LUN_1574753881051",
"_links": {
"self": {
"href": "/api/datacenter/storage/volumes/f963839f-0f95-11ea-9963-00a098884af5:type=volume,uuid=961778bb-2be9-4b4a-b8da-57c7026e52ad"
}
}
},
"assigned_performance_service_level": {
"key": "861f6e4d-0c35-11ea-9d73-fa163e706bc4",
"name": "Value",
"peak_iops": 75,
"expected_iops": 75,
"_links": {
"self": {
"href": "/api/storage-provider/performance-service-levels/861f6e4d-0c35-11ea-9d73-fa163e706bc4"
}
}
},
"recommended_performance_service_level": {
"key": null,
"name": "Idle",
"peak_iops": null,
"expected_iops": null,
"_links": {}
},
"assigned_storage_efficiency_policy": {
"key": null,
"name": "Unassigned",
"_links": {}
},
"space": {
"size": 1024458752
},
"os_type": "linux",
"_links": {
"self": {
"href": "/api/storage-provider/luns/f963839f-0f95-11ea-9963-00a098884af5%3Atype%3Dlun%2Cuuid%3D71f3187e-bf19-4f34-ba34-b1736209b45a"
}
}
}
LUN 생성 또는 매핑에서 장애가 발생한 경우 문제 해결 단계
이 워크플로우를 완료해도 LUN 생성에 장애가 발생할 수 있습니다. LUN을 성공적으로 생성하더라도 LUN을 생성하는 노드에서 SAN LIF 또는 액세스 엔드포인트를 사용할 수 없기 때문에 igroup 기반 LUN 매핑에서 실패할 수 있습니다. 오류가 발생한 경우 다음 메시지가 표시됩니다.
The nodes <node_name> and <partner_node_name> have no LIFs configured with the iSCSI or FCP protocol for Vserver <server_name>. Use the access-endpoints API to create a LIF for the LUN.
이 문제를 해결하려면 다음 문제 해결 단계를 수행하십시오.
-
LUN을 생성하려는 SVM에서 iSCSI/FCP 프로토콜을 지원하는 액세스 엔드포인트를 생성합니다.
| 범주 | HTTP 동사 | 경로 |
|---|---|---|
제공합니다 |
게시 |
|
-
샘플 컬 *
입력 매개 변수로 만들려는 액세스 끝점의 세부 정보를 입력해야 합니다.
|
|
를 추가한 입력 매개 변수에서 확인하십시오 |
curl -X POST "https://<hostname>/api/storage-provider/access-endpoints" -H "accept:
application/json" -H "Content-Type: application/json" -H "Authorization: Basic <Base64EncodedCredentials>" -d "{ \"data_protocols\": [ \"iscsi\" ], \"ip\": {
\"address\": \"10.162.83.126\", \"ha_address\": \"10.142.83.126\", \"netmask\":
\"255.255.0.0\" }, \"lun\": { \"key\":
\"e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=lun,uuid=b8e0c1ae-0997-47c5-97d2-1677d3ec08ff\" },
\"name\": \"aep_example\" }"
-
JSON 출력에서 반환된 Job 객체 키를 사용하여 작업을 쿼리하여 SVM에서 액세스 엔드포인트를 추가하고 SVM에서 iSCSI/FCP 서비스가 활성화되었는지 확인합니다.
| 범주 | HTTP 동사 | 경로 |
|---|---|---|
관리 - 서버 |
가져오기 |
|
-
JSON 출력 샘플 *
출력 끝에 생성된 액세스 끝점의 키를 볼 수 있습니다. 다음 출력에서 는 입니다 "name": "accessEndpointKey" value는 LUN의 홈 노드에 생성된 액세스 엔드포인트로, 키가 있음을 나타냅니다 9c964258-14ef-11ea-95e2-00a098e32c28. 를 클릭합니다 "name": "accessEndpointHAKey" Value는 홈 노드의 파트너 노드에 생성된 액세스 엔드포인트를 나타내며, 해당 노드에 대한 키는 입니다 9d347006-14ef-11ea-8760-00a098e3215f.
"job_results": [
{
"name": "accessEndpointKey",
"value": "e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=network_lif,lif_uuid=9c964258-14ef-11ea-95e2-00a098e32c28"
},
{
"name": "accessEndpointHAKey",
"value": "e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=network_lif,lif_uuid=9d347006-14ef-11ea-8760-00a098e3215f"
}
],
"_links": {
"self": {
"href": "/api/management-server/jobs/71377eeea0b25633%3A-30a2dbfe%3A16ec620945d%3A-7f5a"
}
}
}
-
LUN을 수정하여 igroup 매핑을 업데이트합니다. 워크플로우 수정에 대한 자세한 내용은 ""스토리지 워크로드 수정""을 참조하십시오.
| 범주 | HTTP 동사 | 경로 |
|---|---|---|
제공합니다 |
패치 |
|
입력에서 LUN 매핑을 업데이트할 igroup 키를 LUN 키와 함께 지정합니다.
-
샘플 컬 *
curl -X PATCH "https://<hostname>/api/storage-provider/luns/e4f33f90-f75f-11e8-9ed9-00a098e3215f%3Atype%3Dlun%2Cuuid%3Db8e0c1ae-0997-47c5-97d2-1677d3ec08ff"
-H "accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic <Base64EncodedCredentials>" -d
"{ \"lun_maps\": [ { \"igroup\":
{ \"key\": \"e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=igroup,uuid=d19ec2fa-fec7-11e8-b23d-00a098e32c28\" },
\"logical_unit_number\": 3 } ]}"
JSON 출력에는 매핑이 성공했는지 확인하는 데 사용할 수 있는 작업 오브젝트 키가 표시됩니다.
-
LUN 키를 사용하여 쿼리하여 LUN 매핑을 확인합니다.
| 범주 | HTTP 동사 | 경로 |
|---|---|---|
제공합니다 |
가져오기 |
|
-
JSON 출력 샘플 *
출력에서 LUN이 igroup(키)에 성공적으로 매핑되었음을 확인할 수 있습니다 d19ec2fa-fec7-11e8-b23d-00a098e32c28)를 사용하여 처음 프로비저닝되었습니다.
{
"key": "e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=lun,uuid=b8e0c1ae-0997-47c5-97d2-1677d3ec08ff",
"name": "/vol/NSLM_VOL_LUN_1575282642267/example_lun",
"uuid": "b8e0c1ae-0997-47c5-97d2-1677d3ec08ff",
"cluster": {
"uuid": "e4f33f90-f75f-11e8-9ed9-00a098e3215f",
"key": "e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=cluster,uuid=e4f33f90-f75f-11e8-9ed9-00a098e3215f",
"name": "umeng-aff220-01-02",
"_links": {
"self": {
"href": "/api/datacenter/cluster/clusters/e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=cluster,uuid=e4f33f90-f75f-11e8-9ed9-00a098e3215f"
}
}
},
"svm": {
"uuid": "97f47088-fa8e-11e8-9ed9-00a098e3215f",
"key": "e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=vserver,uuid=97f47088-fa8e-11e8-9ed9-00a098e3215f",
"name": "NSLM12_SVM_ritu",
"_links": {
"self": {
"href": "/api/datacenter/svm/svms/e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=vserver,uuid=97f47088-fa8e-11e8-9ed9-00a098e3215f"
}
}
},
"volume": {
"uuid": "a1e09503-a478-43a0-8117-d25491840263",
"key": "e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=volume,uuid=a1e09503-a478-43a0-8117-d25491840263",
"name": "NSLM_VOL_LUN_1575282642267",
"_links": {
"self": {
"href": "/api/datacenter/storage/volumes/e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=volume,uuid=a1e09503-a478-43a0-8117-d25491840263"
}
}
},
"lun_maps": [
{
"igroup": {
"uuid": "d19ec2fa-fec7-11e8-b23d-00a098e32c28",
"key": "e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=igroup,uuid=d19ec2fa-fec7-11e8-b23d-00a098e32c28",
"name": "lun55_igroup",
"_links": {
"self": {
"href": "/api/datacenter/protocols/san/igroups/e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=igroup,uuid=d19ec2fa-fec7-11e8-b23d-00a098e32c28"
}
}
},
"logical_unit_number": 3
}
],
"assigned_performance_service_level": {
"key": "cf2aacda-10df-11ea-bbe6-fa163e599489",
"name": "Value",
"peak_iops": 75,
"expected_iops": 75,
"_links": {
"self": {
"href": "/api/storage-provider/performance-service-levels/cf2aacda-10df-11ea-bbe6-fa163e599489"
}
}
},
"recommended_performance_service_level": {
"key": null,
"name": "Idle",
"peak_iops": null,
"expected_iops": null,
"_links": {}
},
"assigned_storage_efficiency_policy": {
"key": null,
"name": "Unassigned",
"_links": {}
},
"space": {
"size": 1073741824
},
"os_type": "linux",
"_links": {
"self": {
"href": "/api/storage-provider/luns/e4f33f90-f75f-11e8-9ed9-00a098e3215f%3Atype%3Dlun%2Cuuid%3Db8e0c1ae-0997-47c5-97d2-1677d3ec08ff"
}
}
}