Isilon: Utilizzo di PowerShell con l'API della piattaforma - Nozioni di base (in inglese)

Zusammenfassung: Questo articolo spiega come connettersi a un cluster utilizzando PowerShell e papi (API della piattaforma).

Dieser Artikel gilt für Dieser Artikel gilt nicht für Dieser Artikel ist nicht an ein bestimmtes Produkt gebunden. In diesem Artikel werden nicht alle Produktversionen aufgeführt.

Symptome

n/d

Ursache

n/d

Lösung

Nota: Questo argomento fa parte di Isilon SDK - Isilon Info Hub.

Introduzione
Con l'introduzione della nuova API della piattaforma RESTful (PAPI), esiste ora un modo molto più semplice ed elegante per automatizzare e gestire i cluster Isilon utilizzando PowerShell. Questo articolo spiega le nozioni di base su come connettersi a un cluster utilizzando PowerShell e PAPI.

Si consiglia vivamente di scaricare e leggere la guida di riferimento PAPI per la versione di OneFS qui.

Poiché PAPI fornisce l'accesso al cluster tramite REST, è possibile manipolare le risorse utilizzando metodi HTTP come GET, POST, PUT ed DELETE. Le rappresentazioni di object e raccolte vengono scambiate come documenti formattati con JSON. Per utilizzare PAPI, è necessario abilitare HTTP sul cluster accedendo a WebUI e accedendo a: Protocolli>Impostazioni> HTTP Abilitare HTTP.

PowerShell v3

PowerShell v3 dispone di metodi integrati che semplificano l'accesso RESTful. È possibile controllare la versione corrente di PowerShell esaminando il valore $PSVersionTable:

SLN319397_en_US__1i_isilon_powershell-2

Se non si dispone del download e dell'installazione di .NET Framework versione 4 di PowerShell v3, vedere qui.
Quindi scaricare e installare il framework di gestione v3 appropriato qui.

Connessione al cluster

Lo script seguente accetta i parametri per un indirizzo IP o un nome host Isilon, un nome utente e una password:

# Accept input parameters
Param([Stringa]$isilonip,[Stringa]$username,[Stringa]$password)

Per accedere alle risorse nel cluster verrà utilizzato "Invoke-RestMethod" con i parametri appropriati. Questo metodo accetta diversi parametri, ad esempio una stringa URI, un corpo (utilizzato per un POST), intestazioni e così via. Il codice seguente creerà le informazioni di intestazione necessarie e l'URL di base per l'accesso:

# Codificare l'intestazione di autorizzazione di base e create baseurl
$EncodedAuthorization = [System.Text.Encoding]::UTF8. GetBytes($username + ':' + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"
$baseurl = 'https://' + $isilonip +":8080"

In questo esempio si accede alle quote. Aggiungerlo all'URL di base per creare l'URI finale che passeremo a "Invoke-RestMethod". Se si esamina la documentazione PAPI, si noterà che è possibile accedere a una raccolta di risorse nel seguente formato:"/platform/1/<namespace>/<collection-name>". Se ad esempio si desidera ottenere la raccolta di object che rappresentano tutte le quote definite nel cluster, è necessario ottenere "/platform/1/quota/quotas".

$resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl

Ora chiamiamo Invoke-RestMethod e quindi si accede all'object restituito che contiene la raccolta delle quote:
$ISIObject = Invoke-RestMethod -Uri $url -Headers $headers -Method Get
$ISIObject.quotas

Ecco un esempio di output dello script:
SLN319397_en_US__3i_isilon_powershell-3

SLN319397_en_US__2i_isilon_powershell

È disponibile un elenco di tutte le quote e delle relative proprietà definite nel cluster. Utilizzando questo metodo, PSv3 converte automaticamente l'output JSON in object.

Corpo script:
####### #######

Creato: 18/09/2013 di Jeremy Smith, EMC NAS Specialist Central Division
# Modified:

#
# ps_isilon_get_quotas_via_papi.ps1 - ottenere tutte le quote su un cluster
Isilon# Nota: È necessario disporre di OneFS 7.0.2 o versioni successive per utilizzare in modo ottimale PAPI e l'accesso HTTP deve essere abilitato nel cluster.
#
# PARAMETERS
#
# -isilonip = node IP
# -username
# -password
# -path = /ifs percorso della directory contenente le directory che necessitano di quote
# -quoatasize = dimensione dei byte delle quote (es. "500000")
#
#
# EXAMPLE
# .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 10.10.10.1 -user root -password P@ssword1
# #

##### ######


Accetta parametri
di input Param([Stringa]$isilonip,[Stringa]$username,[Stringa]$password)


# Con un certificato predefinito, normalmente viene visualizzato un errore di certificato (codice da blogs.msdn.com)
add-type @"
utilizzando System.Net;
utilizzo di System.Security.Cryptography.X509Certificates;

    TrustAll di classe pubblica:  ICertificatePolicy {
public TrustAll() {}
public booleanl CheckValidationResult(
ServicePoint sPoint, X509Certificate cert,
WebRequest req, int problem) {
return true;
    }
}
"@
[System.Net.ServicePointManager]:CertificatePolicy = new-object TrustAll



#if i parametri corretti non vengono superati e uscire dopo un messaggio
se (!( $isilonip -e $username -and $password )) {
write "failed to specify parameters";
   scrittura "Esempio: .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 192.168.1.2 -username root -password p@ssw0rd1" ;
   exit
}




# Codificare l'intestazione di autorizzazione di base e create baseurl
$EncodedAuthorization = [System.Text.Encoding]::UTF8. GetBytes($username + ':'     + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"}
$baseurl = 'https://' + $isilonip +":8080"
 

# Ottieni tutte le quote
definite $resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
$ISIObject.quotas

Betroffene Produkte

Isilon, PowerScale OneFS, Isilon Platform API
Artikeleigenschaften
Artikelnummer: 000177716
Artikeltyp: Solution
Zuletzt geändert: 11 Dez. 2023
Version:  6
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.