PowerScale: curl 명령을 사용하여 OneFS API가 제대로 작동하는지 확인하는 방법
Summary: 이 KB 문서는 curl 명령을 사용하여 클러스터에 대한 API(Application Programming Interface) 문제를 직접 해결하는 데 유용합니다. 이를 사용하여 사용자 지정 스크립트 또는 응용 프로그램 코드의 문제를 배제합니다.
Instructions
소개
OneFS API에 문제가 발생하면 다른 문제 해결을 수행하기 전에 curl 명령을 실행하여 기본 작업이 제대로 작동하는지 확인합니다. 이 문서에서는 curl 명령을 사용하여 API 작업을 테스트하는 방법에 대한 지침을 제공합니다. 실행 중인 명령이 올바른 형식인지 확인하는 데 도움이 됩니다.
OneFS API는 다음과 같은 두 가지 기능 영역으로 구성됩니다.
- 시스템 구성 API (OneFS 7.1.0 이하에서는 플랫폼 API로 알려짐)
- 파일 시스템 액세스 API (OneFS 7.1.0 이하에서는 네임스페이스에 대한 RESTful 액세스 API 또는 RAN API로 알려짐)
절차
시스템 구성 API 또는 파일 시스템 액세스 API를 테스트할 때 "root" 자격 증명과 함께 curl 명령을 사용합니다.
- 클러스터의 노드에서 SSH 연결을 실행하고 "root" 계정을 사용하여 로그인합니다.
- 아래의 시스템 구성 API 또는 파일 시스템 액세스 API 섹션에 설명된 대로 curl 명령을 사용합니다.
- 문제가 계속 발생하면 Isilon 기술 지원 부서에 문의하십시오.
curl 명령 및 구문에 대한 자세한 내용은 curl 매뉴얼 페이지를 참조하십시오.
OneFS 시스템 구성 API 요청 및 예상 응답에 대한 자세한 내용은 해당 OneFS 버전의 API 참조 가이드를 참조하십시오. 가장 일반적인 OneFS 버전에 대한 링크: OneFS 8.2.2.0, OneFS 9.1.0, OneFS 9.5.0.0 및 OneFS 9.7.0.0
시스템 구성 API
시스템 구성 API를 사용한 curl의 일반적인 옵션
| 옵션 | 설명 |
|---|---|
| -d | POST 요청에서 지정된 데이터를 보냅니다. |
| -ᄅ | 사용할 추가 헤더를 지정합니다 |
| -케이 | 신뢰할 수 없는 SSL 사이트에 연결할 수 있습니다(Isilon 기본 자체 서명 SSL 인증서의 경우). |
| -u | 인증용 사용자 이름 명령을 실행할 때 이 사용자의 암호를 입력하라는 프롬프트가 표시됩니다 |
| -v | 세부 정보 출력을 지정합니다. |
| -엑스 | 요청 방법(GET, PUT, POST 등)을 지정합니다. |
시스템 구성 API와 curl의 일반적인 사용
다음은 일반적인 curl 명령의 예입니다. 수행하려는 작업에 대해 유사한 구문을 따릅니다.
- 정보 검색(GET 명령):
일반 구문: 다음을 사용합니다. 여기서< username>은 사용자 이름이고 <URL>은 연결하려는 노드의 URL입니다.# curl -vk -u "<username>" -H 'Content-type:application/json' -X GET '<URL>'
예를 들어 SMB(Server Message Block) 공유 목록을 가져오는 명령은 다음과 유사합니다.# curl -vk -u "root" -H 'Content-type:application/json' -X GET 'https://10.11.1.1:8080/platform/1/protocols/smb/shares'
- 정보 전송(POST 또는 PUT 명령):
일반 구문: 다음을 사용합니다. 여기서 <username> 은 사용자 이름, <json-data> 는 JSON 형식 문자열, <URL> 은 연결 중인 노드의 URL입니다.# curl -vk -u <username> -H 'Content-type:application/json' -X POST -d '<json-data>' <URL>
예를 들어 경로가 /ifs/papi-example인 papi-example이라는 새 SMB 공유를 생성하는 경우 명령은 다음과 유사합니다.# curl -vk -u root -H "Content-type: application/json" -X POST -d '{ "name" : "papi-example", "path" : "/ifs/papi-example" }' 'https://10.11.1.1:8080/platform/1/protocols/smb/shares'
파일 시스템 액세스 API
파일 시스템 액세스 API를 사용한 curl의 일반적인 옵션
| 옵션 | 설명 |
|---|---|
| -d | POST 요청에서 지정된 데이터를 보냅니다. |
| --데이터 바이너리 | 바이너리 파일의 위치를 지정합니다 |
| -ᄅ | 사용할 추가 헤더를 지정합니다 |
| -케이 | 신뢰할 수 없는 SSL 사이트(Isilon 기본 자체 서명 SSL 인증서)에 연결할 수 있습니다. |
| -u | 사용자 이름 인증의 경우 이 사용자의 암호를 입력하라는 메시지가 표시됩니다. |
| -v | 세부 정보 출력을 지정합니다. |
| -엑스 | 요청 방법(GET, PUT, POST 등)을 지정합니다. |
파일 시스템 액세스 API를 사용한 curl의 일반적인 사용
다음은 일반적인 curl 명령의 예입니다. 수행할 작업에 대해 유사한 구문을 따릅니다.
메모
파일 시스템 액세스 API를 통해 고유한 네임스페이스를 생성할 수 있지만 확인을 위해 기본 네임스페이스를 사용해야 합니다. 기본 네임스페이스는 /namespace/ifs입니다.
- 정보 검색(GET 명령):
일반 구문:# curl -vk -u "<username>" -X GET 'https://<node_IP>:8080/namespace/<access_point>'
예를 들어 /ifs의 콘텐츠 목록을 가져오려면 다음을 수행합니다.# curl -vk -u "root" -X GET 'https://10.11.1.1:8080/namespace/ifs'
- 정보 전송(POST 또는 PUT 명령):
일반 구문: 변수 <콘텐츠 헤더>에 대해 올바른 방법을 사용하여 다음을 사용합니다. 콘텐츠 헤더>에< 대한 자세한 내용은 OneFS API 참조 가이드를 참조하십시오# curl -vk -u "<username>" -H "<content header>" --data-binary @<source file path> -X PUT 'https://<node_IP>:8080/namespace/<access_point>/<destination file path>'
예를 들어, /tmp/testfile.jpg 에서 /ifs/papi-example로 데이터 파일을 복사하는 명령은 다음과 유사합니다.
# curl -vk -u "root" -H "x-isi-ifs-target-type:object" --data-binary @/tmp/testfile.jpg -X PUT 'https://<node_IP>:8080/namespace/ifs/papi-example/testfile.jpg'
위의 모든 명령은 기본 HTTP 인증을 사용하여 API 쿼리를 실행합니다.