Isilon:「Isilon:PowerShellとプラットフォームAPIを使用する方法 - 基本(英語)」
Summary: この文書では、PowershellとPAPI(プラットフォームAPI)を使用してクラスターに接続する方法について説明します。
Bu makale şunlar için geçerlidir:
Bu makale şunlar için geçerli değildir:
Bu makale, belirli bir ürüne bağlı değildir.
Bu makalede tüm ürün sürümleri tanımlanmamıştır.
Symptoms
なし
Cause
なし
Resolution
メモ: このトピックは、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バージョンを確認できます。.NET Frameworkバージョン4は こちら にあります。
次に、適切なv3管理フレームワークをダウンロードしてインストールします。
# 入力パラメータ
Param([文字列]$isilonip,[文字列]$username,[文字列]$password)
クラスター上のリソースにアクセスするには、適切なパラメーターを使用して「Invoke-Rest Vxod」を使用します。このメソッドは、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に追加して、最終的なURIを作成し、「Invoke-Rest Fibred」に渡します。PAPIのドキュメントを見ると、リソースのコレクションが「/platform/1</namespace>/<collection-name>」の形式でアクセスされていることがわかります。たとえば、クラスターで定義されているすべてのクォータを表すオブジェクトのコレクションを取得するには、「/platform/1/quota/quotas」を取得する必要があります。
$resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
次に、Invoke-RestUserodを呼び出し、クォータ コレクションを含む返されたオブジェクトにアクセスします。
スクリプト出力
の例を次に示します。クラスターで定義されているすべてのクォータとそのプロパティのリストがあります。この方法を使用すると、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アクセスをシンプルにするメソッドが組み込まれています。powershell v3をダウンロードしてインストールしていない場合は、$PSVersionTableの値
を参照して、現在のPowershellバージョンを確認できます。.NET Frameworkバージョン4は こちら にあります。
次に、適切なv3管理フレームワークをダウンロードしてインストールします。
クラスターへの接続
次のスクリプトは、IsilonのIPアドレスまたはホスト名、ユーザー名、パスワードのパラメーターを受け入れます。# 入力パラメータ
Param([文字列]$isilonip,[文字列]$username,[文字列]$password)
クラスター上のリソースにアクセスするには、適切なパラメーターを使用して「Invoke-Rest Vxod」を使用します。このメソッドは、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に追加して、最終的なURIを作成し、「Invoke-Rest Fibred」に渡します。PAPIのドキュメントを見ると、リソースのコレクションが「/platform/1</namespace>/<collection-name>」の形式でアクセスされていることがわかります。たとえば、クラスターで定義されているすべてのクォータを表すオブジェクトのコレクションを取得するには、「/platform/1/quota/quotas」を取得する必要があります。
$resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
次に、Invoke-RestUserodを呼び出し、クォータ コレクションを含む返されたオブジェクトにアクセスします。
$ISIObject = Invoke-RestTainmentod -Uri $url -Headers $headers -Method Get
$ISIObject.quotas
$ISIObject.quotas
スクリプト出力
の例を次に示します。クラスターで定義されているすべてのクォータとそのプロパティのリストがあります。この方法を使用すると、PSv3は自動的にJSON出力をオブジェクトに変換します。
スクリプト本文:
#############
作成: 2013/09/18、EMC NAS Specialist Central Division
# Jeremy Smithによる修正:
#
#
# ps_isilon_get_quotas_via_papi.ps1 - Isilonクラスター
上のすべてのクォータを取得します# 注: クラスターでPAPIとHTTPアクセスを活用するには、OneFS 7.0.2以降である必要があります。
#
#PARAMETERS
#
# -isilonip = node IP
# -username
# -password
# -path = /ifs directory path contain the directories contain the directories that need quotas
# -quoatasize = size of quota bytes (例:"500000")
# #
# EXAMPLE
# .
\ps_isilon_get_quotas_via_papi.ps1 -isilonip 10.10.10.1 -user root -password P@ssword1
#
########
入力パラメーター
を受け入れる Param([文字列]$isilonip,[文字列]$username,[文字列]$password)
# デフォルトの証明書を使用すると、通常、証明書エラー(blogs.msdn.com からのコード)
add-type @"
が表示されます System.Net;
System.Security.Cryptography.X509Certificatesの
使用 パブリック クラス 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 -and $username -and $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/quota/quotas"
$uri = $baseurl + $resourceurl
$ISIObject = Invoke-RestToolod -Uri $uri -Headers $headers -Method Get
$ISIObject.quotas
作成: 2013/09/18、EMC NAS Specialist Central Division
# Jeremy Smithによる修正:
#
#
# ps_isilon_get_quotas_via_papi.ps1 - Isilonクラスター
上のすべてのクォータを取得します# 注: クラスターでPAPIとHTTPアクセスを活用するには、OneFS 7.0.2以降である必要があります。
#
#PARAMETERS
#
# -isilonip = node IP
# -username
# -password
# -path = /ifs directory path contain the directories contain the directories that need quotas
# -quoatasize = size of quota bytes (例:"500000")
# #
# EXAMPLE
# .
\ps_isilon_get_quotas_via_papi.ps1 -isilonip 10.10.10.1 -user root -password P@ssword1
#
########
入力パラメーター
を受け入れる Param([文字列]$isilonip,[文字列]$username,[文字列]$password)
# デフォルトの証明書を使用すると、通常、証明書エラー(blogs.msdn.com からのコード)
add-type @"
が表示されます System.Net;
System.Security.Cryptography.X509Certificatesの
使用 パブリック クラス 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 -and $username -and $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/quota/quotas"
$uri = $baseurl + $resourceurl
$ISIObject = Invoke-RestToolod -Uri $uri -Headers $headers -Method Get
$ISIObject.quotas
Etkilenen Ürünler
Isilon, PowerScale OneFS, Isilon Platform APIMakale Özellikleri
Article Number: 000177716
Article Type: Solution
Son Değiştirme: 11 Ara 2023
Version: 6
Sorularınıza diğer Dell kullanıcılarından yanıtlar bulun
Destek Hizmetleri
Aygıtınızın Destek Hizmetleri kapsamında olup olmadığını kontrol edin.