Isilon: Používání PowerShell s rozhraním API platformy – Základní informace
Summary: Tento článek vysvětluje, jak se připojit ke clusteru pomocí prostředí Powershell a rozhraní PAPI (Platform 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
není k dispozici
Cause
není k dispozici
Resolution
Poznámka: Toto téma je součástí sady Isilon SDK – Isilon Info Hub.
Úvod
Díky zavedení nového rozhraní RESTful Platform API (PAPI) je nyní mnohem snazší a elegantnější způsob automatizace a správy clusterů Isilon pomocí prostředí Powershell. Tento článek vysvětluje základní informace o tom, jak se připojit ke clusteru pomocí nástroje Powershell a papi.
Zde důrazně doporučujeme stáhnout a přečíst referenční příručku PAPI pro vaši verzi systému OneFS.
Protože protokol PAPI poskytuje přístup ke clusteru prostřednictvím rozhraní REST, můžete manipulovat se zdroji pomocí metod HTTP, jako je GET, POST, PUT a DELETE. Reprezentace objektů a kolekcí se vyměňují jako dokumenty ve formátu JSON. Chcete-li použít protokol PAPI, musíte povolit protokol HTTP v clusteru tak, že se přihlásíte do nástroje WebUI a přejdete na: Protokoly>Nastavení> HTTP Povolte protokol HTTP.
Pokud nemáte prostředí Powershell v3 ke stažení a instalaci rozhraní .NET Framework verze 4, které najdete zde.
Poté zde stáhněte a nainstalujte příslušný rámec pro správu v3.
# Accept input parameters
Param([String]$isilonip,[String]$username,[String]$password)
Pro přístup ke zdrojům v clusteru použijeme příkaz "Invoke-Rest Framework" s příslušnými parametry. Tato metoda využívá několik parametrů, jako je řetězec URI, tělo (používané pro test POST), záhlaví atd. Následující kód vytvoří potřebné informace záhlaví a základní adresu URL pro přístup:
# Zakódování základní autorizační hlavičky a vytvoření základního znaku baseurl
$EncodedAuthorization = [System.Text.Zachytáme]::NFC8. GetBytes($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"
$baseurl = 'https://' + $isilonip +":8080"
V tomto příkladu přistupujeme k kvótách. Přidejte jej na základní adresu URL a vytvořte finální identifikátory URI, které předáme příkazu "Invoke-RestObject". Pokud se podíváte na dokumentaci PAPI, zjistíte, že sada zdrojů je přístupná v následujícím formátu "/platform/1/<namespace>/<collection-name>". Pokud například chceme získat kolekci objektů představujících všechny kvóty definované v clusteru, potřebujeme získat "/platform/1/quota/quotas".
$resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
Nyní nazýváme Invoke-RestObject a poté přistupujeme k vráceným objektům, který obsahuje sběr kvót:
Zde je příklad výstupu skriptu:
K dispozici je seznam všech kvót a jejich vlastností definovaných v clusteru. Pomocí této metody PSv3 automaticky převádí výstup JSON na objekty.
Text skriptu:
Úvod
Díky zavedení nového rozhraní RESTful Platform API (PAPI) je nyní mnohem snazší a elegantnější způsob automatizace a správy clusterů Isilon pomocí prostředí Powershell. Tento článek vysvětluje základní informace o tom, jak se připojit ke clusteru pomocí nástroje Powershell a papi.
Zde důrazně doporučujeme stáhnout a přečíst referenční příručku PAPI pro vaši verzi systému OneFS.
Protože protokol PAPI poskytuje přístup ke clusteru prostřednictvím rozhraní REST, můžete manipulovat se zdroji pomocí metod HTTP, jako je GET, POST, PUT a DELETE. Reprezentace objektů a kolekcí se vyměňují jako dokumenty ve formátu JSON. Chcete-li použít protokol PAPI, musíte povolit protokol HTTP v clusteru tak, že se přihlásíte do nástroje WebUI a přejdete na: Protokoly>Nastavení> HTTP Povolte protokol HTTP.
Prostředí PowerShell v3
Prostředí Powershell v3 má vestavěné metody, které zjednodušují přístup k rozhraní RESTful. Aktuální verzi prostředí Powershell můžete zkontrolovat v $PSVersionTable hodnotu:
Pokud nemáte prostředí Powershell v3 ke stažení a instalaci rozhraní .NET Framework verze 4, které najdete zde.
Poté zde stáhněte a nainstalujte příslušný rámec pro správu v3.
Připojení ke clusteru
Níže uvedené skript přijímá parametry pro IP adresu isilon nebo název hostitele, uživatelské jméno a heslo:# Accept input parameters
Param([String]$isilonip,[String]$username,[String]$password)
Pro přístup ke zdrojům v clusteru použijeme příkaz "Invoke-Rest Framework" s příslušnými parametry. Tato metoda využívá několik parametrů, jako je řetězec URI, tělo (používané pro test POST), záhlaví atd. Následující kód vytvoří potřebné informace záhlaví a základní adresu URL pro přístup:
# Zakódování základní autorizační hlavičky a vytvoření základního znaku baseurl
$EncodedAuthorization = [System.Text.Zachytáme]::NFC8. GetBytes($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"
$baseurl = 'https://' + $isilonip +":8080"
V tomto příkladu přistupujeme k kvótách. Přidejte jej na základní adresu URL a vytvořte finální identifikátory URI, které předáme příkazu "Invoke-RestObject". Pokud se podíváte na dokumentaci PAPI, zjistíte, že sada zdrojů je přístupná v následujícím formátu "/platform/1/<namespace>/<collection-name>". Pokud například chceme získat kolekci objektů představujících všechny kvóty definované v clusteru, potřebujeme získat "/platform/1/quota/quotas".
$resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
Nyní nazýváme Invoke-RestObject a poté přistupujeme k vráceným objektům, který obsahuje sběr kvót:
$ISIObject = Invoke-RestObject -Uri $url -Headers $headers -Method Get
$ISIObject.quotas
$ISIObject.quotas
Zde je příklad výstupu skriptu:
K dispozici je seznam všech kvót a jejich vlastností definovaných v clusteru. Pomocí této metody PSv3 automaticky převádí výstup JSON na objekty.
Text skriptu:
####### #######
18. 9. 2013 Jeremy Smith, EMC NAS Specialist Central Division
# Upravené:
#
#
# ps_isilon_get_quotas_via_papi.ps1 – Získejte všechny kvóty v clusteru
Isilon# Poznámka: Aby bylo možné využívat přístup PAPI a HTTP v clusteru, musíte být ve verzi OneFS 7.0.2 nebo vyšší.
Číslo
# PARAMETERS
#
# -isilonip = node IP
# -username
# -password
# -path = /ifs directory path containing thedirectories that need quotas
# -quoatasize = size of quota bytes (např. "500000")
#
#
# EXAMPLE
# .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 10.10.10.1 -user root -password P@ssword1
# #
##############
Accept input parameters
Param([String]$isilonip,[String]$username,[String]$password)
# Ve výchozím certifikátu se obvykle zobrazí chyba certifikátu (kód od blogs.msdn.com)
add-type @"
using System.Net;
použití protokolu System.Security.Cryptography.X509Certificates;
Veřejná třída TrustAll: ICertificatePolicy {
public TrustAll() {}
public bool CheckResultResult (
ServicePoint sPoint, X509Certificate cert,
WebRequest req, int problem) {
return true;
}
}
"@
[System.Net.ServicePointManager]::CertificatePolicy = new-object TrustAll
#if po zobrazení zprávy
o chybě (!( nebyly předány správné parametry $isilonip -and $username -and $password )) {
write "failed to specify parameters";
napište "Příklad: .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 192.168.1.2 -username root -password p@ssw0rd1" ;
exit
}
# Zakódování základní autorizační hlavičky a vytvoření kódu baseurl
$EncodedAuthorization = [System.Text.Pokořit]::NFC8. GetBytes($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"}
$baseurl = 'https://' + $isilonip +":8080"
# Získejte všechny definované kvóty
$resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
$ISIObject = Invoke-RestObject -Uri $uri -Headers $headers -Method Get
$ISIObject.quotas
18. 9. 2013 Jeremy Smith, EMC NAS Specialist Central Division
# Upravené:
#
#
# ps_isilon_get_quotas_via_papi.ps1 – Získejte všechny kvóty v clusteru
Isilon# Poznámka: Aby bylo možné využívat přístup PAPI a HTTP v clusteru, musíte být ve verzi OneFS 7.0.2 nebo vyšší.
Číslo
# PARAMETERS
#
# -isilonip = node IP
# -username
# -password
# -path = /ifs directory path containing thedirectories that need quotas
# -quoatasize = size of quota bytes (např. "500000")
#
#
# EXAMPLE
# .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 10.10.10.1 -user root -password P@ssword1
# #
##############
Accept input parameters
Param([String]$isilonip,[String]$username,[String]$password)
# Ve výchozím certifikátu se obvykle zobrazí chyba certifikátu (kód od blogs.msdn.com)
add-type @"
using System.Net;
použití protokolu System.Security.Cryptography.X509Certificates;
Veřejná třída TrustAll: ICertificatePolicy {
public TrustAll() {}
public bool CheckResultResult (
ServicePoint sPoint, X509Certificate cert,
WebRequest req, int problem) {
return true;
}
}
"@
[System.Net.ServicePointManager]::CertificatePolicy = new-object TrustAll
#if po zobrazení zprávy
o chybě (!( nebyly předány správné parametry $isilonip -and $username -and $password )) {
write "failed to specify parameters";
napište "Příklad: .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 192.168.1.2 -username root -password p@ssw0rd1" ;
exit
}
# Zakódování základní autorizační hlavičky a vytvoření kódu baseurl
$EncodedAuthorization = [System.Text.Pokořit]::NFC8. GetBytes($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"}
$baseurl = 'https://' + $isilonip +":8080"
# Získejte všechny definované kvóty
$resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
$ISIObject = Invoke-RestObject -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.