Isilon: PowerShellin käyttäminen ympäristön ohjelmointirajapinnassa - Basics
Summary: Tässä artikkelissa selitetään, miten klusteriin muodostetaan yhteys PowerShellin ja YMPÄRISTÖN OHJELMOINTIRAJAPINNAN (RAJA) avulla.
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
–
Cause
–
Resolution
Huomautus: Tämä aihe on osa Isilon SDK Isilon -tietokeskusta.
Johdanto
Uuden RESTful-alustan API:n (RAJA: KATHI) myötä Isilon-klustereita voidaan automatisoida ja hallita PowerShellin avulla paljon helpommin ja tyylikkäämmin. Tässä artikkelissa selitetään perusohjeet yhteyden muodostamiseen klusteriin PowerShellin jaRAJA:n avulla.
Suosittelemme, että lataat ja luet OneFS-versiosi TIEDOT tästä.
Klusterin VOI avata REST:n kautta, joten resursseja voi muokata HTTP-menetelmillä, kuten GET, POST, PUT ja DELETE. Kohteet ja kokoelmat vaihdetaan JSON-muotoon alustettuina tiedostoina. JOTTA voit käyttää klusterin HTTP-protokollaa, sinun on otettava klusterin HTTP käyttöön kirjautumalla verkkokäyttöliittymään ja siirtymällä kohtaan: Protokollia>HTTP-asetukset>Ota HTTP käyttöön.
ja -asennusta, .NET Framework -versio 4 löytyy täältä.
Lataa ja asenna sitten asianmukainen v3-hallintakehys tästä.
# Hyväksy syöttöparametrit
Param([string]$isilonip,[string]$username,[string]$password)
Pääset käsiksi klusterin resursseihin käyttämällä Invoke-RestMethod-tiedostoa asianmukaisilla parametreilla. Tämä menetelmä sisältää useita parametreja, kuten URI-merkkijonon, rungon (käytetään POST-testissä) ja ylätunnisteita. Seuraava koodi kokoaa tarvitsemamme otsikkotiedot ja perus-URL-osoitteen käyttöä varten:
# Encode basic authorization header and create baseurl
$EncodedAuthorization = [System.Text.Encoding]::UTF8. GetBytes ($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"
$baseurl = 'https://' + $isilonip +":8080"
Tässä esimerkissä käytetään kiintiöitä. Lisää se perus-URL-osoitteeseen ja luo lopullinen URI, jonka siirrämme invoke-RestMethod-ohjaimeen. JOS tarkastelet KOONTI-oppaita, huomaat, että resursseja käytetään seuraavassa muodossa /platform/1/<namespace>/<collection-name>. Jos esimerkiksi haluamme kerätä objekteja, jotka vastaavat kaikkia klusterissa määritettyjä kiintiöitä, tarvitaan "/platform/1/quota/quotas".
$resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
Seuraavaksi soitetaan Invoke-RestMethod ja käytetään palautettua objektia, joka sisältää kiintiökokoelman:
Seuraavassa on esimerkki komentosarjan tuloksesta:
kaikki klusterissa määritetyt kiintiöt ja niiden ominaisuudet luetellaan. Tällä menetelmällä PSv3 muuntaa JSON-tuloksen automaattisesti objekteiksi.
Komentosarjan runko:
Johdanto
Uuden RESTful-alustan API:n (RAJA: KATHI) myötä Isilon-klustereita voidaan automatisoida ja hallita PowerShellin avulla paljon helpommin ja tyylikkäämmin. Tässä artikkelissa selitetään perusohjeet yhteyden muodostamiseen klusteriin PowerShellin jaRAJA:n avulla.
Suosittelemme, että lataat ja luet OneFS-versiosi TIEDOT tästä.
Klusterin VOI avata REST:n kautta, joten resursseja voi muokata HTTP-menetelmillä, kuten GET, POST, PUT ja DELETE. Kohteet ja kokoelmat vaihdetaan JSON-muotoon alustettuina tiedostoina. JOTTA voit käyttää klusterin HTTP-protokollaa, sinun on otettava klusterin HTTP käyttöön kirjautumalla verkkokäyttöliittymään ja siirtymällä kohtaan: Protokollia>HTTP-asetukset>Ota HTTP käyttöön.
PowerShell 3
PowerShell v3:ssa on sisäänrakennettuja tapoja, jotka yksinkertaistavat RESTful-käyttöä. Voit tarkistaa nykyisen PowerShell-versiosi tarkistamalla $PSVersionTable:Jos sinulla ei ole PowerShell v3-latausta
ja -asennusta, .NET Framework -versio 4 löytyy täältä.
Lataa ja asenna sitten asianmukainen v3-hallintakehys tästä.
Yhdistäminen klusteriin
Seuraava komentosarja hyväksyy Isilonin IP-osoitteen tai isäntänimen, käyttäjätunnuksen ja salasanan parametrit:# Hyväksy syöttöparametrit
Param([string]$isilonip,[string]$username,[string]$password)
Pääset käsiksi klusterin resursseihin käyttämällä Invoke-RestMethod-tiedostoa asianmukaisilla parametreilla. Tämä menetelmä sisältää useita parametreja, kuten URI-merkkijonon, rungon (käytetään POST-testissä) ja ylätunnisteita. Seuraava koodi kokoaa tarvitsemamme otsikkotiedot ja perus-URL-osoitteen käyttöä varten:
# Encode basic authorization header and create baseurl
$EncodedAuthorization = [System.Text.Encoding]::UTF8. GetBytes ($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"
$baseurl = 'https://' + $isilonip +":8080"
Tässä esimerkissä käytetään kiintiöitä. Lisää se perus-URL-osoitteeseen ja luo lopullinen URI, jonka siirrämme invoke-RestMethod-ohjaimeen. JOS tarkastelet KOONTI-oppaita, huomaat, että resursseja käytetään seuraavassa muodossa /platform/1/<namespace>/<collection-name>. Jos esimerkiksi haluamme kerätä objekteja, jotka vastaavat kaikkia klusterissa määritettyjä kiintiöitä, tarvitaan "/platform/1/quota/quotas".
$resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
Seuraavaksi soitetaan Invoke-RestMethod ja käytetään palautettua objektia, joka sisältää kiintiökokoelman:
$ISIObject = Invoke-RestMethod -Uri $url -Headers $headers -Method Get
$ISIObject.quotas
$ISIObject.quotas
Seuraavassa on esimerkki komentosarjan tuloksesta:
kaikki klusterissa määritetyt kiintiöt ja niiden ominaisuudet luetellaan. Tällä menetelmällä PSv3 muuntaa JSON-tuloksen automaattisesti objekteiksi.
Komentosarjan runko:
###### ######
Luotu: 18.9.2013, Vähintään Smith, EMC NAS Specialist Central Division
# Modified:
#
#
# ps_isilon_get_quotas_via_papi.ps1 - hae kaikki Isilon-klusterin
kiintiöt# Huomautus: Klusterissa on oltava vähintään OneFS 7.0.2, jotta VOI hyödyntääOSAAmis- ja HTTP-käyttöä.
#
# PARAMETERS
#
# -isilonip = node IP
# -username
# -password
# -path = /ifs-hakemistopolku, joka sisältää kiintiöitä tarvitsevat hakemistot
# -quoatasize = kiintiötavujen koko (kuten "500000")
# #
# EXAMPLE
# .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 10.10.10.1 -user root -password P@ssword1
# #
isilonip
10.10.10.1##### ########
Syöttöparametrit
Param([String]$isilonip,[String]$username,[String]$password)
# Oletusvarmennolla näet tavallisesti cert-virheen (koodi blogs.msdn.com)
add-type @"
käyttäen System.Net;
System.Security.Cryptography.X509Certificates-sovelluksella
julkisen luokan 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 oikeita parametreja ei hyväksytty, poistumme ilmoituksen
jälkeen, jos (!( $isilonip -and $username -and $password )) {
write "failed to specify parameters";
Kirjoita esimerkki: .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 192.168.1.2 -username root -password p@ssw0rd1;
exit
}
# Encode basic authorization header and create baseurl
$EncodedAuthorization = [System.Text.Encoding]::UTF8. GetBytes ($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"}
$baseurl = 'https://' + $isilonip +":8080"
# Hanki kaikki määritetyt kiintiöt
$resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
$ISIObject.quotas
Luotu: 18.9.2013, Vähintään Smith, EMC NAS Specialist Central Division
# Modified:
#
#
# ps_isilon_get_quotas_via_papi.ps1 - hae kaikki Isilon-klusterin
kiintiöt# Huomautus: Klusterissa on oltava vähintään OneFS 7.0.2, jotta VOI hyödyntääOSAAmis- ja HTTP-käyttöä.
#
# PARAMETERS
#
# -isilonip = node IP
# -username
# -password
# -path = /ifs-hakemistopolku, joka sisältää kiintiöitä tarvitsevat hakemistot
# -quoatasize = kiintiötavujen koko (kuten "500000")
# #
# EXAMPLE
# .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 10.10.10.1 -user root -password P@ssword1
# #
isilonip
10.10.10.1##### ########
Syöttöparametrit
Param([String]$isilonip,[String]$username,[String]$password)
# Oletusvarmennolla näet tavallisesti cert-virheen (koodi blogs.msdn.com)
add-type @"
käyttäen System.Net;
System.Security.Cryptography.X509Certificates-sovelluksella
julkisen luokan 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 oikeita parametreja ei hyväksytty, poistumme ilmoituksen
jälkeen, jos (!( $isilonip -and $username -and $password )) {
write "failed to specify parameters";
Kirjoita esimerkki: .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 192.168.1.2 -username root -password p@ssw0rd1;
exit
}
# Encode basic authorization header and create baseurl
$EncodedAuthorization = [System.Text.Encoding]::UTF8. GetBytes ($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"}
$baseurl = 'https://' + $isilonip +":8080"
# Hanki kaikki määritetyt kiintiöt
$resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
$ISIObject.quotas
Affected Products
Isilon, PowerScale OneFS, Isilon Platform APIArticle Properties
Article Number: 000177716
Article Type: Solution
Last Modified: 11 Dec 2023
Version: 6
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.