API를 사용하여 CIFS 및 NFS 파일 공유 제공
Active IQ Unified Manager 의 일부로 제공되는 프로비저닝 API를 사용하여 스토리지 가상 머신(SVM)에서 CIFS 공유 및 NFS 파일 공유를 프로비저닝할 수 있습니다. 이 프로비저닝 워크플로는 파일 공유를 생성하기 전에 SVM 키, 성능 서비스 수준 및 스토리지 효율성 정책을 검색하는 단계를 자세히 설명합니다.
다음 다이어그램은 파일 공유 프로비저닝 워크플로의 각 단계를 보여줍니다. 여기에는 CIFS 공유와 NFS 파일 공유를 모두 프로비저닝하는 것이 포함됩니다.
|
|
다음 사항을 확인하세요.
|
-
CIFS 공유를 만들려는 SVM에서 데이터 LIF 또는 액세스 엔드포인트를 사용할 수 있는지 확인합니다. SVM에서 사용 가능한 액세스 엔드포인트 목록을 가져옵니다.
범주 HTTP 동사 길 스토리지 제공자
얻다
/storage-provider/access-endpoints/storage-provider/access-endpoints/{key}샘플 cURL
curl -X GET "https://<hostname>/api/storage-provider/access-endpoints?resource.key=7d5a59b3-953a-11e8-8857-00a098dcc959" -H "accept: application/json" -H "Authorization: Basic <Base64EncodedCredentials>"
-
액세스 엔드포인트가 목록에 있는 경우 액세스 엔드포인트 키를 얻고, 그렇지 않은 경우 액세스 엔드포인트를 만듭니다.
CIFS 프로토콜이 활성화된 액세스 엔드포인트를 생성해야 합니다. CIFS 프로토콜이 활성화된 액세스 엔드포인트를 생성하지 않으면 CIFS 공유 프로비저닝이 실패합니다.
범주 HTTP 동사 길 스토리지 제공자
우편
/storage-provider/access-endpoints샘플 cURL
생성하려는 액세스 엔드포인트의 세부 정보를 입력 매개변수로 입력해야 합니다.
curl -X POST "https://<hostname>/api/storage-provider/access-endpoints" -H "accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic <Base64EncodedCredentials>" { \"data_protocols\": \"nfs\", \"fileshare\": { \"key\": \"cbd1757b-0580-11e8-bd9d-00a098d39e12:type=volume,uuid=f3063d27-2c71-44e5-9a69-a3927c19c8fc\" }, \"gateway\": \"10.132.72.12\", \"ip\": { \"address\": \"10.162.83.26\", \"ha_address\": \"10.142.83.26\", \"netmask\": \"255.255.0.0\" }, \"lun\": { \"key\": \"cbd1757b-0580-11e8-bd9d-00a098d39e12:type=lun,uuid=d208cc7d-80a3-4755-93d4-5db2c38f55a6\" }, \"mtu\": 15000, \"name\": \"aep1\", \"svm\": { \"key\": \"cbd1757b-0580-11e8-bd9d-00a178d39e12:type=vserver,uuid=1d1c3198-fc57-11e8-99ca-00a098d38e12\" }, \"vlan\": 10}"JSON 출력에는 사용자가 만든 액세스 엔드포인트를 확인하는 데 사용할 수 있는 Job 개체 키가 표시됩니다.
-
액세스 엔드포인트를 확인하세요.
범주 HTTP 동사 길 관리 서버
얻다
/management-server/jobs/{key} -
CIFS 공유 또는 NFS 파일 공유를 만들어야 하는지 확인합니다. CIFS 공유를 생성하려면 다음 하위 단계를 따르세요.
-
SVM에 CIFS 서버가 구성되어 있는지 확인합니다. 즉, SVM에 Active Directory 매핑이 생성되었는지 확인합니다.
범주 HTTP 동사 길 스토리지 제공자
얻다
/storage-provider/active-directories-mappings -
Active Directory 매핑이 생성되면 키를 가져오고, 그렇지 않으면 SVM에서 Active Directory 매핑을 만듭니다.
범주 HTTP 동사 길 스토리지 제공자
우편
/storage-provider/active-directories-mappings샘플 cURL
Active Directory 매핑을 만드는 데 필요한 세부 정보를 입력 매개변수로 입력해야 합니다.
curl -X POST "https://<hostname>/api/storage-provider/active-directories-mappings" -H "accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic <Base64EncodedCredentials>" { \"_links\": {}, \"dns\": \"10.000.000.000\", \"domain\": \"example.com\", \"password\": \"string\", \"svm\": { \"key\": \"9f4ddea-e395-11e9-b660-005056a71be9:type=vserver,uuid=191a554a-f0ce-11e9-b660-005056a71be9\" }, \"username\": \"string\"}"+ 이는 동기식 호출이며 출력에서 Active Directory 매핑이 생성되었는지 확인할 수 있습니다. 오류가 발생한 경우 오류 메시지가 표시되어 문제를 해결하고 요청을 다시 실행할 수 있습니다.
-
-
클러스터에서 SVM 확인 워크플로 항목에 설명된 대로 CIFS 공유 또는 NFS 파일 공유를 만들려는 SVM에 대한 SVM 키를 가져옵니다.
-
다음 API를 실행하고 응답에서 키를 검색하여 성능 서비스 수준에 대한 키를 얻습니다.
범주 HTTP 동사 길 스토리지 제공자
얻다
/storage-provider/performance-service-levels시스템 정의 성능 서비스 수준의 세부 정보를 검색하려면 다음을 설정하세요.
system_defined입력 매개변수true. 출력에서 파일 공유에 적용하려는 성능 서비스 수준의 키를 얻습니다. -
선택적으로, 다음 API를 실행하고 응답에서 키를 검색하여 파일 공유에 적용하려는 스토리지 효율성 정책에 대한 스토리지 효율성 정책 키를 얻습니다.
범주 HTTP 동사 길 스토리지 제공자
얻다
/storage-provider/storage-efficiency-policies -
파일 공유를 만듭니다. 액세스 제어 목록과 내보내기 정책을 지정하여 CIFS와 NFS를 모두 지원하는 파일 공유를 만들 수 있습니다. 다음 하위 단계에서는 볼륨에서 하나의 프로토콜만 지원하는 파일 공유를 만들려는 경우에 대한 정보를 제공합니다. NFS 공유를 만든 후 액세스 제어 목록을 포함하도록 NFS 파일 공유를 업데이트할 수도 있습니다. 자세한 내용은 저장소 워크로드 수정 항목을 참조하세요.
-
CIFS 공유만 생성하려면 액세스 제어 목록(ACL)에 대한 정보를 수집하세요. CIFS 공유를 생성하려면 다음 입력 매개변수에 유효한 값을 제공하세요. 할당한 각 사용자 그룹에 대해 CIFS/SMB 공유가 프로비저닝되면 ACL이 생성됩니다. ACL 및 Active Directory 매핑에 입력한 값을 기반으로 CIFS 공유가 생성될 때 해당 공유에 대한 액세스 제어 및 매핑이 결정됩니다.
샘플 값이 포함된 cURL 명령
{ "access_control": { "acl": [ { "permission": "read", "user_or_group": "everyone" } ], "active_directory_mapping": { "key": "3b648c1b-d965-03b7-20da-61b791a6263c" }, -
NFS 파일 공유만 생성하려면 내보내기 정책에 대한 정보를 수집하세요. NFS 파일 공유를 생성하려면 다음 입력 매개변수에 유효한 값을 제공하세요. 사용자의 값에 따라, 내보내기 정책은 NFS 파일 공유가 생성될 때 첨부됩니다.
NFS 공유를 프로비저닝하는 동안 필요한 모든 값을 제공하여 내보내기 정책을 만들거나 내보내기 정책 키를 제공하고 기존 내보내기 정책을 재사용할 수 있습니다. 스토리지 VM에 대한 내보내기 정책을 재사용하려면 내보내기 정책 키를 추가해야 합니다. 키를 알지 못하면 다음을 사용하여 내보내기 정책 키를 검색할 수 있습니다.
/datacenter/protocols/nfs/export-policiesAPI. 새로운 정책을 만들려면 다음 샘플에 표시된 대로 규칙을 입력해야 합니다. 입력된 규칙에 대해 API는 호스트, 스토리지 VM 및 규칙을 일치시켜 기존 내보내기 정책을 검색하려고 시도합니다. 기존 수출 정책이 있는 경우 해당 정책이 사용됩니다. 그렇지 않으면 새로운 수출 정책이 생성됩니다.샘플 값이 포함된 cURL 명령
"export_policy": { "key": "7d5a59b3-953a-11e8-8857-00a098dcc959:type=export_policy,uuid=1460288880641", "name_tag": "ExportPolicyNameTag", "rules": [ { "clients": [ { "match": "0.0.0.0/0" }
액세스 제어 목록과 내보내기 정책을 구성한 후 CIFS와 NFS 파일 공유에 대한 필수 입력 매개변수에 유효한 값을 제공합니다.
-
|
|
저장소 효율성 정책은 파일 공유를 생성하기 위한 선택적 매개변수입니다. |
| 범주 | HTTP 동사 | 길 |
|---|---|---|
스토리지 제공자 |
우편 |
|
JSON 출력에는 생성한 파일 공유를 확인하는 데 사용할 수 있는 Job 개체 키가 표시됩니다. . 작업 쿼리에서 반환된 Job 개체 키를 사용하여 파일 공유 생성을 확인합니다.
| 범주 | HTTP 동사 | 길 |
|---|---|---|
관리 서버 |
얻다 |
|
응답이 끝나면 파일 공유 키가 생성된 것을 볼 수 있습니다.
],
"job_results": [
{
"name": "fileshareKey",
"value": "7d5a59b3-953a-11e8-8857-00a098dcc959:type=volume,uuid=e581c23a-1037-11ea-ac5a-00a098dcc6b6"
}
],
"_links": {
"self": {
"href": "/api/management-server/jobs/06a6148bf9e862df:-2611856e:16e8d47e722:-7f87"
}
}
}
-
반환된 키로 다음 API를 실행하여 파일 공유가 생성되었는지 확인하세요.
범주 HTTP 동사 길 스토리지 제공자
얻다
/storage-provider/file-shares/{key}샘플 JSON 출력
POST 메소드를 볼 수 있습니다.
/storage-provider/file-shares각 함수에 필요한 모든 API를 내부적으로 호출하고 객체를 생성합니다. 예를 들어, 다음을 호출합니다./storage-provider/performance-service-levels/파일 공유에 대한 성능 서비스 수준을 할당하기 위한 API입니다.{ "key": "7d5a59b3-953a-11e8-8857-00a098dcc959:type=volume,uuid=e581c23a-1037-11ea-ac5a-00a098dcc6b6", "name": "FileShare_377", "cluster": { "uuid": "7d5a59b3-953a-11e8-8857-00a098dcc959", "key": "7d5a59b3-953a-11e8-8857-00a098dcc959:type=cluster,uuid=7d5a59b3-953a-11e8-8857-00a098dcc959", "name": "AFFA300-206-68-70-72-74", "_links": { "self": { "href": "/api/datacenter/cluster/clusters/7d5a59b3-953a-11e8-8857-00a098dcc959:type=cluster,uuid=7d5a59b3-953a-11e8-8857-00a098dcc959" } } }, "svm": { "uuid": "b106d7b1-51e9-11e9-8857-00a098dcc959", "key": "7d5a59b3-953a-11e8-8857-00a098dcc959:type=vserver,uuid=b106d7b1-51e9-11e9-8857-00a098dcc959", "name": "RRT_ritu_vs1", "_links": { "self": { "href": "/api/datacenter/svm/svms/7d5a59b3-953a-11e8-8857-00a098dcc959:type=vserver,uuid=b106d7b1-51e9-11e9-8857-00a098dcc959" } } }, "assigned_performance_service_level": { "key": "1251e51b-069f-11ea-980d-fa163e82bbf2", "name": "Value", "peak_iops": 75, "expected_iops": 75, "_links": { "self": { "href": "/api/storage-provider/performance-service-levels/1251e51b-069f-11ea-980d-fa163e82bbf2" } } }, "recommended_performance_service_level": { "key": null, "name": "Idle", "peak_iops": null, "expected_iops": null, "_links": {} }, "space": { "size": 104857600 }, "assigned_storage_efficiency_policy": { "key": null, "name": "Unassigned", "_links": {} }, "access_control": { "acl": [ { "user_or_group": "everyone", "permission": "read" } ], "export_policy": { "id": 1460288880641, "key": "7d5a59b3-953a-11e8-8857-00a098dcc959:type=export_policy,uuid=1460288880641", "name": "default", "rules": [ { "anonymous_user": "65534", "clients": [ { "match": "0.0.0.0/0" } ], "index": 1, "protocols": [ "nfs3", "nfs4" ], "ro_rule": [ "sys" ], "rw_rule": [ "sys" ], "superuser": [ "none" ] }, { "anonymous_user": "65534", "clients": [ { "match": "0.0.0.0/0" } ], "index": 2, "protocols": [ "cifs" ], "ro_rule": [ "ntlm" ], "rw_rule": [ "ntlm" ], "superuser": [ "none" ] } ], "_links": { "self": { "href": "/api/datacenter/protocols/nfs/export-policies/7d5a59b3-953a-11e8-8857-00a098dcc959:type=export_policy,uuid=1460288880641" } } } }, "_links": { "self": { "href": "/api/storage-provider/file-shares/7d5a59b3-953a-11e8-8857-00a098dcc959:type=volume,uuid=e581c23a-1037-11ea-ac5a-00a098dcc6b6" } } }