Isilon: Bruke PowerShell med Plattform-API – Grunnleggende
Summary: Denne artikkelen forklarer hvordan du kobler til en klynge ved hjelp av PowerShell og PAPI (plattform-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
n/a
Cause
n/a
Resolution
Merk: Dette emnet er en del av Isilon SDK – Isilon Info Hub.
Introduksjon
Med introduksjonen av den nye RESTful-plattform-API-en (PAPI) finnes det nå en mye enklere og mer elegant måte å automatisere og administrere Isilon-klynger på ved hjelp av PowerShell. Denne artikkelen forklarer det grunnleggende om hvordan du kobler til en klynge ved hjelp av PowerShell og PAPI.
Det anbefales på det sterkeste at du laster ned og leser PAPI-referanseveiledningen for din versjon av OneFS her.
Siden PAPI gir tilgang til klyngen via REST, kan du manipulere ressurser ved hjelp av HTTP-metoder som GET, POST, PUT og DELETE. Representasjonene av objekter og samlinger byttes som JSON-formaterte dokumenter. Hvis du vil bruke PAPI, må du aktivere HTTP på klyngen ved å logge på webgrensesnittet og navigere til: Protokoller>HTTP-innstillinger>Aktiver HTTP.
Hvis du ikke har PowerShell v3, kan du laste ned og installere .NET Framework versjon 4 som du finner her.
Last deretter ned og installer det aktuelle v3-administrasjonsrammeverket her.
# Godta inndataparameterne
Param ([string]$isilonip,[string]$username,[string]$password)
For å få tilgang til ressursene på klyngen vil vi bruke "Invoke-RestMethod" med de aktuelle parametrene. Denne metoden tar flere parametere, for eksempel en URI-streng, en body (brukt for en POST), overskrifter osv. Følgende kode bygger opp headerinformasjonen vi trenger og den grunnleggende URL-adressen for tilgang:
# Kode grunnleggende autorisasjonshode og opprett baseurl
$EncodedAuthorization = [System.Text.Encoding]::UTF8. GetBytes ($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"
$baseurl = 'https://' + $isilonip +":8080"
I dette eksemplet får vi tilgang til kvoter. Legg den til i den grunnleggende URL-adressen for å opprette den endelige URI-en som vi sender til "Invoke-RestMethod" (Aktiver RestMethod). Hvis du ser på PAPI-dokumentasjonen, vil du se at du får tilgang til en samling ressurser i følgende format: «/platform/1/<namespace>/<collection-name>». Hvis vi for eksempel ønsker å hente inn objekter som representerer alle kvotene som er definert i klyngen, må vi få «/platform/1/quota/quotas».
$resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
Nå kaller vi Invoke-RestMethod og deretter tilgang til det returnerte objektet som inneholder kvotesamlingen:
Her er et eksempel på skriptutdataene:
Det finnes en liste over alle kvotene og egenskapene deres som er definert i klyngen. Ved hjelp av denne metoden konverterer PSv3 JSON-utdataene automatisk til objekter.
Skriptkropp:
Introduksjon
Med introduksjonen av den nye RESTful-plattform-API-en (PAPI) finnes det nå en mye enklere og mer elegant måte å automatisere og administrere Isilon-klynger på ved hjelp av PowerShell. Denne artikkelen forklarer det grunnleggende om hvordan du kobler til en klynge ved hjelp av PowerShell og PAPI.
Det anbefales på det sterkeste at du laster ned og leser PAPI-referanseveiledningen for din versjon av OneFS her.
Siden PAPI gir tilgang til klyngen via REST, kan du manipulere ressurser ved hjelp av HTTP-metoder som GET, POST, PUT og DELETE. Representasjonene av objekter og samlinger byttes som JSON-formaterte dokumenter. Hvis du vil bruke PAPI, må du aktivere HTTP på klyngen ved å logge på webgrensesnittet og navigere til: Protokoller>HTTP-innstillinger>Aktiver HTTP.
PowerShell v3
PowerShell v3 har innebygde metoder som forenkler REST-tilgang. Du kan kontrollere gjeldende PowerShell-versjon ved å se på $PSVersionTable verdi:
Hvis du ikke har PowerShell v3, kan du laste ned og installere .NET Framework versjon 4 som du finner her.
Last deretter ned og installer det aktuelle v3-administrasjonsrammeverket her.
Koble til klyngen
Skriptet nedenfor godtar parametere for en Isilon IP-adresse eller et vertsnavn, et brukernavn og passord:# Godta inndataparameterne
Param ([string]$isilonip,[string]$username,[string]$password)
For å få tilgang til ressursene på klyngen vil vi bruke "Invoke-RestMethod" med de aktuelle parametrene. Denne metoden tar flere parametere, for eksempel en URI-streng, en body (brukt for en POST), overskrifter osv. Følgende kode bygger opp headerinformasjonen vi trenger og den grunnleggende URL-adressen for tilgang:
# Kode grunnleggende autorisasjonshode og opprett baseurl
$EncodedAuthorization = [System.Text.Encoding]::UTF8. GetBytes ($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"
$baseurl = 'https://' + $isilonip +":8080"
I dette eksemplet får vi tilgang til kvoter. Legg den til i den grunnleggende URL-adressen for å opprette den endelige URI-en som vi sender til "Invoke-RestMethod" (Aktiver RestMethod). Hvis du ser på PAPI-dokumentasjonen, vil du se at du får tilgang til en samling ressurser i følgende format: «/platform/1/<namespace>/<collection-name>». Hvis vi for eksempel ønsker å hente inn objekter som representerer alle kvotene som er definert i klyngen, må vi få «/platform/1/quota/quotas».
$resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
Nå kaller vi Invoke-RestMethod og deretter tilgang til det returnerte objektet som inneholder kvotesamlingen:
$ISIObject = Invoke-RestMethod -Uri $url -Headers $headers -Method Get
$ISIObject.quotas
$ISIObject.quotas
Her er et eksempel på skriptutdataene:
Det finnes en liste over alle kvotene og egenskapene deres som er definert i klyngen. Ved hjelp av denne metoden konverterer PSv3 JSON-utdataene automatisk til objekter.
Skriptkropp:
##################################################################
18.09.2013 av Wat Smith, EMC NAS Specialist Central Division
# endret:
#
#
# ps_isilon_get_quotas_via_papi.ps1 – få alle kvoter på en Isilon-klynge
# Merk: Du må være på OneFS 7.0.2 eller nyere for å utnytte PAPI- og HTTP-tilgangen må være aktivert i klyngen.
#
# PARAMETERS
#
# -isilonip = node IP
# -username
# -password
# -path = /ifs directory path containing the directories that need quotas
# -quoatasize = size of quota bytes (ex "500000")
#
#
# EXAMPLE
# .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 10.10.10.1 -user root -password P@ssword1
# #
#
##############################################################
# Godta inndataparameterne
Param ([Streng]$isilonip,[Streng]$username,[String]$password)
# Med en standard-sert vil du vanligvis se en sertfeil (kode fra blogs.msdn.com)
add-type @"
ved hjelp av System.Net;
ved hjelp av System.Security.Cryptography.X509Certificates;
TrustAll i offentlig klasse: ICertificatePolicy {
public TrustAll() {}
public bool CheckValidationResult(
ServicePoint sPoint, X509Certificate cert,
WebRequest req, int problem) {
return true;
}
}
"@
[System.Net.ServicePointManager]::CertificatePolicy = new-object TrustAll
#if de riktige parameterne ble ikke sendt, avslutter vi etter en melding
hvis (!( $isilonip -and $username -and $password)) {
write "failed to specify parameters";
skriv «Eksempel: .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 192.168.1.2 -username root -password p@ssw0rd1" ;
exit
}
# Kode grunnleggende autorisasjonshode og opprett baseurl
$EncodedAuthorization = [System.Text.Encoding]::UTF8. GetBytes ($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"}
$baseurl = 'https://' + $isilonip +":8080"
# Få alle definerte
kvoter $resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
$ISIObject.quotas
18.09.2013 av Wat Smith, EMC NAS Specialist Central Division
# endret:
#
#
# ps_isilon_get_quotas_via_papi.ps1 – få alle kvoter på en Isilon-klynge
# Merk: Du må være på OneFS 7.0.2 eller nyere for å utnytte PAPI- og HTTP-tilgangen må være aktivert i klyngen.
#
# PARAMETERS
#
# -isilonip = node IP
# -username
# -password
# -path = /ifs directory path containing the directories that need quotas
# -quoatasize = size of quota bytes (ex "500000")
#
#
# EXAMPLE
# .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 10.10.10.1 -user root -password P@ssword1
# #
#
##############################################################
# Godta inndataparameterne
Param ([Streng]$isilonip,[Streng]$username,[String]$password)
# Med en standard-sert vil du vanligvis se en sertfeil (kode fra blogs.msdn.com)
add-type @"
ved hjelp av System.Net;
ved hjelp av System.Security.Cryptography.X509Certificates;
TrustAll i offentlig klasse: ICertificatePolicy {
public TrustAll() {}
public bool CheckValidationResult(
ServicePoint sPoint, X509Certificate cert,
WebRequest req, int problem) {
return true;
}
}
"@
[System.Net.ServicePointManager]::CertificatePolicy = new-object TrustAll
#if de riktige parameterne ble ikke sendt, avslutter vi etter en melding
hvis (!( $isilonip -and $username -and $password)) {
write "failed to specify parameters";
skriv «Eksempel: .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 192.168.1.2 -username root -password p@ssw0rd1" ;
exit
}
# Kode grunnleggende autorisasjonshode og opprett baseurl
$EncodedAuthorization = [System.Text.Encoding]::UTF8. GetBytes ($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"}
$baseurl = 'https://' + $isilonip +":8080"
# Få alle definerte
kvoter $resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
$ISIObject = Invoke-RestMethod -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.