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

Summary: Denne artikel forklarer, hvordan du opretter forbindelse til en klynge ved hjælp af PowerShell og PAPI (platform-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

Ikke relevant

Cause

Ikke relevant

Resolution

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

Etkilenen Ürünler

Isilon, PowerScale OneFS, Isilon Platform API
Makale Ö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.