Isilon. Использование PowerShell с API платформы — основные моменты
Samenvatting: В этой статье объясняется, как подключиться к кластеру с помощью Powershell и PAPI (платформенного API).
Dit artikel is van toepassing op
Dit artikel is niet van toepassing op
Dit artikel is niet gebonden aan een specifiek product.
Niet alle productversies worden in dit artikel vermeld.
Symptomen
н/д
Oorzaak
н/д
Oplossing
Примечание. Этот раздел входит в состав Isilon SDK — Isilon Info Hub.
Введение
С появлением нового API-интерфейса платформы RESTful (PAPI) теперь гораздо проще и более простой способ автоматизации и администрирования кластеров Isilon с помощью Powershell. В этой статье описываются основные сведения о подключении к кластеру с помощью Powershell и PAPI.
Настоятельно рекомендуется загрузить и прочитать справочное руководство ПО PAPI для вашей версии OneFS здесь.
Так как PAPI предоставляет доступ к кластеру с помощью REST, можно управлять ресурсами с помощью методов HTTP, таких как GET, POST, PUT и DELETE. Представления объектов и коллекций обменяются как документы в формате JSON. Чтобы использовать PAPI, необходимо включить HTTP в кластере, войдите в веб-интерфейс пользователя и выполните следующие действия: Протоколы>Параметры> HTTP Включите HTTP.
Если у вас нет загрузок и установки PowerShell v3 и не установлена платформа .NET Framework 4, перейдите по этой ссылке.
Затем загрузите и установите соответствующую концепцию управления v3 здесь.
# Accept input parameters
Param([String]$isilonip,[String]$username,[String]$password)
Для доступа к ресурсам в кластере мы будем использовать параметр Invoke-RestMethod с соответствующими параметрами. Этот метод занимает несколько параметров, например строку URI, текст (используется для POST), заголовки и т. д. Следующий код будет создавать необходимую информацию о заголовоке и базовый URL-адрес для доступа:
# Закодировать заголовок базовой авторизации и создать baseurl
$EncodedAuthorization = [System.Text.Encoding]::UTF8. GetBytes ($username + «:» + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"$baseurl
= "https://" + $isilonip +":8080"
В данном примере мы доступ к квотам. Добавьте его в базовый URL-адрес, чтобы создать окончательный URI, который будет передан на «Invoke-RestMethod». При просмотре документации ПО PAPI вы увидите, что доступ к коллекции ресурсов выполняется в следующем формате: "/platform/1/<namespace>/<collection-name>". Если, например, мы хотим получить коллекцию объектов, представляющую все квоты, определенные в кластере, нам нужно получить «/platform/1/quota/quota/quotas».
$resourceurl = "/platform/1/quota/quota/quotas"
$uri = $baseurl + $resourceurl
Теперь мы называем Invoke-RestMethod, а затем доступ к возвращенным объекту, который содержит коллекцию квот:
Ниже приведен пример вывода сценария:
В кластере определяется список всех квот и их свойств. Используя этот метод, PSv3 автоматически преобразует выходные данные JSON в объекты.
Текст сценария:
Введение
С появлением нового API-интерфейса платформы RESTful (PAPI) теперь гораздо проще и более простой способ автоматизации и администрирования кластеров Isilon с помощью Powershell. В этой статье описываются основные сведения о подключении к кластеру с помощью Powershell и PAPI.
Настоятельно рекомендуется загрузить и прочитать справочное руководство ПО PAPI для вашей версии OneFS здесь.
Так как PAPI предоставляет доступ к кластеру с помощью REST, можно управлять ресурсами с помощью методов HTTP, таких как GET, POST, PUT и DELETE. Представления объектов и коллекций обменяются как документы в формате JSON. Чтобы использовать PAPI, необходимо включить HTTP в кластере, войдите в веб-интерфейс пользователя и выполните следующие действия: Протоколы>Параметры> HTTP Включите HTTP.
PowerShell версии 3
PowerShell v3 имеет встроенные методы, которые упрощают доступ к RESTful. Можно проверить текущую версию Powershell, просмотрев значение $PSVersionTable:
Если у вас нет загрузок и установки PowerShell v3 и не установлена платформа .NET Framework 4, перейдите по этой ссылке.
Затем загрузите и установите соответствующую концепцию управления v3 здесь.
Подключение к кластеру
Приведенный ниже сценарий принимает параметры ДЛЯ IP-адреса или имени хоста Isilon, имени пользователя и пароля:# Accept input parameters
Param([String]$isilonip,[String]$username,[String]$password)
Для доступа к ресурсам в кластере мы будем использовать параметр Invoke-RestMethod с соответствующими параметрами. Этот метод занимает несколько параметров, например строку URI, текст (используется для POST), заголовки и т. д. Следующий код будет создавать необходимую информацию о заголовоке и базовый URL-адрес для доступа:
# Закодировать заголовок базовой авторизации и создать baseurl
$EncodedAuthorization = [System.Text.Encoding]::UTF8. GetBytes ($username + «:» + $password)
$EncodedPassword = [System.Convert]::ToBase64String($EncodedAuthorization)
$headers = @{"Authorization"="Basic $($EncodedPassword)"$baseurl
= "https://" + $isilonip +":8080"
В данном примере мы доступ к квотам. Добавьте его в базовый URL-адрес, чтобы создать окончательный URI, который будет передан на «Invoke-RestMethod». При просмотре документации ПО PAPI вы увидите, что доступ к коллекции ресурсов выполняется в следующем формате: "/platform/1/<namespace>/<collection-name>". Если, например, мы хотим получить коллекцию объектов, представляющую все квоты, определенные в кластере, нам нужно получить «/platform/1/quota/quota/quotas».
$resourceurl = "/platform/1/quota/quota/quotas"
$uri = $baseurl + $resourceurl
Теперь мы называем Invoke-RestMethod, а затем доступ к возвращенным объекту, который содержит коллекцию квот:
$ISIObject = Invoke-RestMethod -Uri $url -Headers $headers -Method Get
$ISIObject.quotas
$ISIObject.quotas
Ниже приведен пример вывода сценария:
В кластере определяется список всех квот и их свойств. Используя этот метод, PSv3 автоматически преобразует выходные данные JSON в объекты.
Текст сценария:
###### #######
Создана: 18.09.2013 Джереми Смит (Jeremy Smith), специалист EMC NAS Specialist Central Division
# Изменен:
#
#
# ps_isilon_get_quotas_via_papi.ps1 — получите все квоты в кластере Isilon
# Примечание. Необходимо иметь версию OneFS 7.0.2 или более поздняя, чтобы в кластере должны быть включены доступ к PAPI и HTTP.
Количество
# PARAMETERS
#
# -isilonip = node IP
# -username
# -password
# -path = /ifs directory path,
содержащий каталоги, которым требуются квоты# -quoatasize = размер квоты байтов (например, «500000»)
#
#
# EXAMPLE
# .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 10.10.1 -user root -password P@ssword1
#
##########
Примите параметры ввода Param([String]$isilonip,[String]$username,[String]$password)
# С сертификатом по умолчанию обычно отображается cert-ошибка (код от blogs.msdn.com)
add-type @"с помощью
System.Net;
с помощью System.Security.Cryptography.X509Certificates;
общедоступного класса 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 правильные
параметры не были пройдены, мы выйдите после сообщения, если (! $isilonip -and $username -and $password )) {
write "failed to specify parameters";
запись «Пример: .\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"
#
Получить все определенные квоты $resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
$ISIObject.quotas
Создана: 18.09.2013 Джереми Смит (Jeremy Smith), специалист EMC NAS Specialist Central Division
# Изменен:
#
#
# ps_isilon_get_quotas_via_papi.ps1 — получите все квоты в кластере Isilon
# Примечание. Необходимо иметь версию OneFS 7.0.2 или более поздняя, чтобы в кластере должны быть включены доступ к PAPI и HTTP.
Количество
# PARAMETERS
#
# -isilonip = node IP
# -username
# -password
# -path = /ifs directory path,
содержащий каталоги, которым требуются квоты# -quoatasize = размер квоты байтов (например, «500000»)
#
#
# EXAMPLE
# .\ps_isilon_get_quotas_via_papi.ps1 -isilonip 10.10.1 -user root -password P@ssword1
#
##########
Примите параметры ввода Param([String]$isilonip,[String]$username,[String]$password)
# С сертификатом по умолчанию обычно отображается cert-ошибка (код от blogs.msdn.com)
add-type @"с помощью
System.Net;
с помощью System.Security.Cryptography.X509Certificates;
общедоступного класса 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 правильные
параметры не были пройдены, мы выйдите после сообщения, если (! $isilonip -and $username -and $password )) {
write "failed to specify parameters";
запись «Пример: .\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"
#
Получить все определенные квоты $resourceurl = "/platform/1/quota/quotas"
$uri = $baseurl + $resourceurl
$ISIObject = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
$ISIObject.quotas
Getroffen producten
Isilon, PowerScale OneFS, Isilon Platform APIArtikeleigenschappen
Artikelnummer: 000177716
Artikeltype: Solution
Laatst aangepast: 20 jan. 2026
Versie: 7
Vind antwoorden op uw vragen via andere Dell gebruikers
Support Services
Controleer of uw apparaat wordt gedekt door Support Services.