Isilon: 플랫폼 API와 함께 Powershell 사용 - 기본 사항(영문)
摘要: 이 문서에서는 Powershell 및 PAPI(플랫폼 API)를 사용하여 클러스터에 연결하는 방법에 대해 설명합니다.
本文适用于
本文不适用于
本文并非针对某种特定的产品。
本文并非包含所有产品版本。
症状
해당 없음
原因
해당 없음
解决方案
참고: 이 주제는 Isilon SDK - Isilon Info Hub의 일부입니다.
소개
새로운 RESTful 플랫폼 API(PAPI)가 도입되면서 이제 PowerShell을 사용하여 Isilon 클러스터를 자동화하고 관리할 수 있는 훨씬 더 쉽고 세련된 방법이 도입되었습니다. 이 문서에서는 Powershell 및 PAPI를 사용하여 클러스터에 연결하는 방법에 대한 기본 사항을 설명합니다.
여기에서 OneFS 버전에 대한 PAPI 참조 가이드를 다운로드하고 읽는 것이 좋습니다.
PAPI는 REST를 통해 클러스터에 대한 액세스를 제공하기 때문에 GET, POST, PUT 및 DELETE와 같은 HTTP 방법을 사용하여 리소스를 조작할 수 있습니다. 오브젝트 및 컬렉션의 표현은 JSON 형식의 문서로 교환됩니다. PAPI를 사용하려면 WebUI에 로그인하고 다음으로 이동하여 클러스터에서 HTTP를 활성화해야 합니다. 프로토콜>HTTP 설정>HTTP를 활성화합니다.
Powershell v3 다운로드 및 설치 .NET Framework 버전 4가 없는 경우 여기에 나와 있습니다.
그런 다음 여기에 적절한 v3 관리 프레임워크를 다운로드하여 설치합니다.
# accept input parameters
Param([String]$isilonip,[String]$username,[String]$password)
클러스터의 리소스에 액세스하려면 적절한 매개변수와 함께 "Invoke-RestMethod"를 사용합니다. 이 방법은 URI 문자열, 본문(POST에 사용), 헤더 등과 같은 여러 매개변수를 사용합니다. 다음 코드는 필요한 헤더 정보와 액세스를 위한 기본 URL을 작성합니다.
# 기본 인증 헤더를 인코딩하고 baseurl
을 생성합니다$EncodedAuthorization = [System.Text.Encoding]::UTF8. GetBytes($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"
$baseurl = 'https://' + $isilonip +":8080"
이 예에서는 할당량에 액세스하고 있습니다. 기본 URL에 추가하여 "Invoke-RestMethod"에 전달할 최종 URI를 생성합니다. PAPI 설명서를 보면 리소스 모음이 "/platform/1</namespace>/<collection-name>" 형식으로 액세스되는 것을 볼 수 있습니다. 예를 들어 클러스터에 정의된 모든 할당량을 나타내는 오브젝트 컬렉션을 얻으려면 "/platform/1/quota/quotas"를 얻어야 합니다.
$resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
이제 Invoke-RestMethod를 호출한 다음 할당량 수집이 포함된 반환된 객체에 액세스합니다.
다음은 스크립트 출력의 예입니다.
클러스터에 정의된 모든 할당량과 해당 속성의 목록이 있습니다. 이 방법을 사용하여 PSv3는 JSON 출력을 오브젝트로 자동으로 변환합니다.
스크립트 본문:
소개
새로운 RESTful 플랫폼 API(PAPI)가 도입되면서 이제 PowerShell을 사용하여 Isilon 클러스터를 자동화하고 관리할 수 있는 훨씬 더 쉽고 세련된 방법이 도입되었습니다. 이 문서에서는 Powershell 및 PAPI를 사용하여 클러스터에 연결하는 방법에 대한 기본 사항을 설명합니다.
여기에서 OneFS 버전에 대한 PAPI 참조 가이드를 다운로드하고 읽는 것이 좋습니다.
PAPI는 REST를 통해 클러스터에 대한 액세스를 제공하기 때문에 GET, POST, PUT 및 DELETE와 같은 HTTP 방법을 사용하여 리소스를 조작할 수 있습니다. 오브젝트 및 컬렉션의 표현은 JSON 형식의 문서로 교환됩니다. PAPI를 사용하려면 WebUI에 로그인하고 다음으로 이동하여 클러스터에서 HTTP를 활성화해야 합니다. 프로토콜>HTTP 설정>HTTP를 활성화합니다.
PowerShell v3
PowerShell v3에는 RESTful 액세스를 간소화하는 기본 제공 방법이 있습니다. $PSVersionTable 값을 확인하여 현재 Powershell 버전을 확인할 수 있습니다.
Powershell v3 다운로드 및 설치 .NET Framework 버전 4가 없는 경우 여기에 나와 있습니다.
그런 다음 여기에 적절한 v3 관리 프레임워크를 다운로드하여 설치합니다.
클러스터에 연결
아래 스크립트는 Isilon IP 주소 또는 호스트 이름, 사용자 이름 및 암호에 대한 매개변수를 허용합니다.# accept input parameters
Param([String]$isilonip,[String]$username,[String]$password)
클러스터의 리소스에 액세스하려면 적절한 매개변수와 함께 "Invoke-RestMethod"를 사용합니다. 이 방법은 URI 문자열, 본문(POST에 사용), 헤더 등과 같은 여러 매개변수를 사용합니다. 다음 코드는 필요한 헤더 정보와 액세스를 위한 기본 URL을 작성합니다.
# 기본 인증 헤더를 인코딩하고 baseurl
을 생성합니다$EncodedAuthorization = [System.Text.Encoding]::UTF8. GetBytes($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"
$baseurl = 'https://' + $isilonip +":8080"
이 예에서는 할당량에 액세스하고 있습니다. 기본 URL에 추가하여 "Invoke-RestMethod"에 전달할 최종 URI를 생성합니다. PAPI 설명서를 보면 리소스 모음이 "/platform/1</namespace>/<collection-name>" 형식으로 액세스되는 것을 볼 수 있습니다. 예를 들어 클러스터에 정의된 모든 할당량을 나타내는 오브젝트 컬렉션을 얻으려면 "/platform/1/quota/quotas"를 얻어야 합니다.
$resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
이제 Invoke-RestMethod를 호출한 다음 할당량 수집이 포함된 반환된 객체에 액세스합니다.
$ISIObject = Invoke-RestMethod -Uri $url -headers $headers -Method Get
$ISIObject.quotas
$ISIObject.quotas
다음은 스크립트 출력의 예입니다.
클러스터에 정의된 모든 할당량과 해당 속성의 목록이 있습니다. 이 방법을 사용하여 PSv3는 JSON 출력을 오브젝트로 자동으로 변환합니다.
스크립트 본문:
#### ######
생성: 2013년 9월 18일: Jeremy Smith, EMC NAS Specialist Central Division
# Modified:
#
#
# ps_isilon_get_quotas_via_papi.ps1 - Isilon 클러스터
의 모든 할당량 가져오기# 참고: PAPI를 활용하려면 OneFS 7.0.2 이상이어야 하며 클러스터에서 HTTP 액세스를 활성화해야 합니다.
#
# PARAMETERS
#
# -isilonip = node IP
# -username
# -password
# -path = /ifs directory path with the directory needies need the quotas
# -quoatasize = size of quota bytes (예: "50000")
#
#
# example
# .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 10.10.10.1 -user root -password P@ssword1
#
######
입력 매개변수
Param([String]$isilonip,[String]$username,[String]$password)
# 기본 인증서를 사용하면 일반적으로 인증서 오류(blogs.msdn.com 코드)
add-type @"
System.Net;
System.Security.Cryptography.X509Certificates
사용 public class TrustAll: ICertificatePolicy {
public TrustAll() {}
public bool CheckValidationResult(
ServicePoint sPoint, X509Certificate cert,
WebRequest req, int problem) {
return true;
}
}
"@
[System.Net.ServicePointManager]::CertificatePolicy = new-object TrustAll
#if 올바른 매개변수가 전달되지 않았습니다.(
!) $isilonip -및 $username -및 $password)) {
쓰기 "failed to specify parameters";
쓰기 "예: .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 192.168.1.2 -username root -password p@ssw0rd1" ;
exit
}
# 기본 인증 헤더를 인코딩하고 baseurl
을 생성합니다$EncodedAuthorization = [System.Text.Encoding]::UTF8. GetBytes($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"}
$baseurl = 'https://' + $isilonip +":8080"
# 모든 정의된 할당량
$resourceurl = "/platform/1/quotas"
$uri = $baseurl + $resourceurl
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get $ISIObject.quotas
생성: 2013년 9월 18일: Jeremy Smith, EMC NAS Specialist Central Division
# Modified:
#
#
# ps_isilon_get_quotas_via_papi.ps1 - Isilon 클러스터
의 모든 할당량 가져오기# 참고: PAPI를 활용하려면 OneFS 7.0.2 이상이어야 하며 클러스터에서 HTTP 액세스를 활성화해야 합니다.
#
# PARAMETERS
#
# -isilonip = node IP
# -username
# -password
# -path = /ifs directory path with the directory needies need the quotas
# -quoatasize = size of quota bytes (예: "50000")
#
#
# example
# .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 10.10.10.1 -user root -password P@ssword1
#
######
입력 매개변수
Param([String]$isilonip,[String]$username,[String]$password)
# 기본 인증서를 사용하면 일반적으로 인증서 오류(blogs.msdn.com 코드)
add-type @"
System.Net;
System.Security.Cryptography.X509Certificates
사용 public class TrustAll: ICertificatePolicy {
public TrustAll() {}
public bool CheckValidationResult(
ServicePoint sPoint, X509Certificate cert,
WebRequest req, int problem) {
return true;
}
}
"@
[System.Net.ServicePointManager]::CertificatePolicy = new-object TrustAll
#if 올바른 매개변수가 전달되지 않았습니다.(
!) $isilonip -및 $username -및 $password)) {
쓰기 "failed to specify parameters";
쓰기 "예: .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 192.168.1.2 -username root -password p@ssw0rd1" ;
exit
}
# 기본 인증 헤더를 인코딩하고 baseurl
을 생성합니다$EncodedAuthorization = [System.Text.Encoding]::UTF8. GetBytes($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"}
$baseurl = 'https://' + $isilonip +":8080"
# 모든 정의된 할당량
$resourceurl = "/platform/1/quotas"
$uri = $baseurl + $resourceurl
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get $ISIObject.quotas
受影响的产品
Isilon, PowerScale OneFS, Isilon Platform API文章属性
文章编号: 000177716
文章类型: Solution
上次修改时间: 11 12月 2023
版本: 6
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。