Isilon: Brug af PowerShell med Platform API - Det grundlæggende

Résumé: Denne artikel forklarer, hvordan du opretter forbindelse til en klynge ved hjælp af PowerShell og PAPI (platform-API).

Cet article concerne Cet article ne concerne pas Cet article n’est associé à aucun produit spécifique. Toutes les versions du produit ne sont pas identifiées dans cet article.

Symptômes

Ikke relevant

Cause

Ikke relevant

Résolution

Bemærk: Dette emne er en del af Isilon SDK - Isilon-informationshubben.

Indførelsen
Med introduktionen af den nye RESTful platform API (PAPI) er der nu en meget nemmere og mere elegant måde at automatisere og administrere Isilon-klynger ved hjælp af PowerShell. Denne artikel forklarer de grundlæggende oplysninger om, hvordan du opretter forbindelse til en klynge ved hjælp af PowerShell og PAPI.

Det anbefales på det kraftigste, at du downloader og læser PAPI-referencevejledningen til din version af OneFS her.

Da PAPI giver adgang til klyngen via REST, kan du håndtere ressourcer ved hjælp af HTTP-metoder som GET, POST, PUT og DELETE. Repræsentationer af objekter og samlinger udskiftes som JSON-formaterede dokumenter. For at bruge PAPI skal du aktivere HTTP på klyngen ved at logge på WebUI og navigere til: Protokoller>HTTP-indstillinger>Aktiver HTTP.

PowerShell v3

PowerShell v3 har indbyggede metoder, der forenkler RESTful-adgang. Du kan kontrollere din aktuelle PowerShell-version ved at se på $PSVersionTable værdi:

SLN319397_en_US__1i_isilon_powershell-2

Hvis du ikke har PowerShell v3 til at downloade og installere .NET Framework-version 4, der findes her.
Download og installer derefter den relevante v3-administrationsstruktur her.

Tilslutning til klyngen

Nedenstående script accepterer parametre for en Isilon IP-adresse eller et værtsnavn, et brugernavn og en adgangskode:

# Accepter inputparametre
param([Streng]$isilonip,[Streng]$username,[Streng]$password)

For at få adgang til ressourcerne på klyngen vil vi bruge "Invoke-RestMetometer" med de relevante parametre. Denne metode tager flere parametre som f.eks. en URI-streng, en teksttekst (bruges til en POST), overskrifter osv. Følgende kode opbygger de overskriftsoplysninger, vi har brug for, og basis-URL-adressen for adgang:

# 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"

I dette eksempel har vi adgang til kvoter. Føj den til basis-URL'en for at oprette den endelige URI, som vi vil overføre til "Invoke-RestMetmeter". Hvis du ser på PAPI-dokumentationen, vil du se, at der er adgang til en samling af ressourcer i følgende format "/platform/1/<namespace>/<collection-name>". Hvis vi f.eks. vil have samlingen af objekter, der repræsenterer alle de kvoter, der er defineret på klyngen, skal vi have "/platform/1/kvote/kvoter".

$resourceurl = "/platform/1/kvote/kvoter"
$uri = $baseurl + $resourceurl

Nu ringer vi til Invoke-RestMetmeter og derefter til det returnerede objekt, der indeholder kvotesamlingen:
$ISIObject = Invoke-RestMet watt -Uri $url -Headers $headers -Method Get
$ISIObject.quotas

Her er et eksempel på scriptoutput:
SLN319397_en_US__3i_isilon_powershell-3

SLN319397_en_US__2i_isilon_powershell

Der er en liste over alle kvoterne og deres egenskaber defineret på klyngen. Ved hjælp af denne metode konverterer PSv3 automatisk JSON-outputtet til objekter.

Scripttekst:
####################### #####################
##
Oprettet: 18/09/2013 af Smith, EMC NAS Specialist Central Division
# Modified:

#
# ps_isilon_get_quotas_via_papi.ps1 – få alle kvoter på en Isilon-klyngenummer
Bemærk: Du skal være på OneFS 7.0.2 eller nyere for at kunne udnytte PAPI, og HTTP-adgang skal være aktiveret på klyngen.
# (Antal)
# PARAMETERS
#
# -isilonip = node IP
# -username
# -password
# -path = /ifs mappesti, der indeholder de mapper, der har brug for kvoter
# -quoatasize = størrelse af kvotebyte (f.eks. "500000")
#
#
# EXAMPLE
# .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 10.10.10.1 -user root -password P@ssword1
# #

#################### ####################


Accepter inputparametre
param([Streng]$isilonip,[Streng]$username,[Streng]$password)


# Med et standardcertifikat ville du normalt se en cert-fejl (kode fra blogs.msdn.com)
add-type @"
, der bruger System.Net;
ved hjælp af System.Security.Cryptografi.X509Certificates;

    TrustAll i den offentlige 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 korrekte parametre blev ikke bestået. Vi afslutter efter en meddelelse
, hvis (!( $isilonip -and $username -and $password )) {
write "failed to specify parameters" (Skriv "kunne ikke angive parametre)";
   skriv "Eksempel: .\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"
 

# Få alle definerede kvoter
$resourceurl = "/platform/1/kvote/kvoter"
$uri = $baseurl + $resourceurl
$ISIObject = Invoke-RestMetmetri -Uri $uri -Headers $headers -Method Get
$ISIObject.quotas

Produits concernés

Isilon, PowerScale OneFS, Isilon Platform API
Propriétés de l’article
Numéro d’article: 000177716
Type d’article: Solution
Dernière modification: 11 déc. 2023
Version:  6
Trouvez des réponses à vos questions auprès d’autres utilisateurs Dell
Services de support
Vérifiez si votre appareil est couvert par les services de support.