Isilon: PowerShellin käyttäminen ympäristön ohjelmointirajapinnassa - Basics

摘要: Tässä artikkelissa selitetään, miten klusteriin muodostetaan yhteys PowerShellin ja YMPÄRISTÖN OHJELMOINTIRAJAPINNAN (RAJA) avulla.

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

原因

解决方案

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.

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

SLN319397_en_US__1i_isilon_powershell–2

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

Seuraavassa on esimerkki komentosarjan tuloksesta:
SLN319397_en_US__3i_isilon_powershell–3

SLN319397_en_US__2i_isilon_powershell

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

受影响的产品

Isilon, PowerScale OneFS, Isilon Platform API
文章属性
文章编号: 000177716
文章类型: Solution
上次修改时间: 11 12月 2023
版本:  6
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。