今回は VxRail を PowerShell を利用して管理運用するツールをご紹介します。
vSphere 6.7 の HTML5 vSphere Client に対応した VxRail 4.7 以降、API での各種操作がバージョンを追うごとにサポートが増えている VxRail ですが、昨年末にリリースされた VxRail 4.7.300 (vSphere 6.7u3 対応) から、VxRail の PowerShell 用モジュールがリリースされました。※ PowerShell 5.0 以降の環境が必要です
パッケージの入手
パッケージは以下リンクから入手できます(要 DellEMC Support サイトのアカウント)VxRail PowerShell Package
https://download.emc.com/downloads/DL96554_VxRail-PowerShell-Package.zip
モジュールのインポート
使い方はダウンロードしたパッケージに含まれる各モジュールフォルダをC:\Program Files\WindowsPowerShell\Modules
に展開して、
Import-module VxRail.APIを PowerShell で打ち込むか、
フォルダに含まれる install.ps1 を実行するだけです。
※ 詳細は ダウンロードパッケージに含まれるユーザーガイド参照。
install.ps1 を実行した場合は、
$home\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
にモジュールインポートのためのスクリプトが追記され、PowerShell を起動するたびにvxrail-profile.ps1 が読み込まれるように設定されます。
VxRail PowerShell Package には以下の構成となります(vxrail-profile.ps1 は install.ps1 を実行すると作られます。)
VxRail PowerShell コマンドレットの中身
2019年12月時点のバージョン1には以下のモジュールがインストールされます。
PS C:\Users\Administrator> Import-module VxRail.API PS C:\Users\Administrator> Get-Module ModuleType Version Name ExportedCommands ---------- ------- ---- ---------------- Manifest 3.1.0.0 Microsoft.PowerShell.Management {Add-Computer, Add-Content, Checkpoint-Computer, Clear-Con... Manifest 3.1.0.0 Microsoft.PowerShell.Utility {Add-Member, Add-Type, Clear-Variable, Compare-Object...} Script 1.2 PSReadline {Get-PSReadlineKeyHandler, Get-PSReadlineOption, Remove-PS... Manifest 1.0.0.0 VxRail.API Manifest 1.0.0.0 VxRail.API.Certificate Update-Certificate Manifest 1.0.0.0 VxRail.API.Chassis Get-Chassis Manifest 1.0.0.0 VxRail.API.Cluster {Get-Cluster, Remove-ClusterHost, Start-ClusterShutdown} Manifest 1.0.0.0 VxRail.API.Common Manifest 1.0.0.0 VxRail.API.Disk Get-Disks Manifest 1.0.0.0 VxRail.API.Host {Get-Hosts, Get-iDRACNetwork, Get-iDRACUserIds, Get-iDRACU... Manifest 1.0.0.0 VxRail.API.LCM Start-LcmUpgrade Manifest 1.0.0.0 VxRail.API.Support {Add-SupportAccount, Get-SupportAccount, Get-SupportChatUR... Manifest 1.0.0.0 VxRail.API.System {Add-SystemProxy, Confirm-SystemCredential, Get-CallHomeIn... Manifest 1.0.0.0 VxRail.API.Telemetry {Get-TelemetryTier, Set-TelemetryTier} Manifest 1.0.0.0 VxRail.API.VC {Get-VCenterMode, Update-VCenterMode}
VxRail PowerShell Package には以下のコマンドレッドが含まれます。
各コマンドレットの詳細は名称から機能は推測できますので、詳しくは Get-Help を利用して確認できます。
PS C:\Users\Administrator> Get-Command -Module VxRail.API.* CommandType Name Version Source ----------- ---- ------- ------ Function Add-SupportAccount 1.0.0.0 VxRail.API.Support Function Add-SystemProxy 1.0.0.0 VxRail.API.System Function Confirm-SystemCredential 1.0.0.0 VxRail.API.System Function Get-CallHomeInfo 1.0.0.0 VxRail.API.System Function Get-CallHomeMode 1.0.0.0 VxRail.API.System Function Get-Chassis 1.0.0.0 VxRail.API.Chassis Function Get-Cluster 1.0.0.0 VxRail.API.Cluster Function Get-Disks 1.0.0.0 VxRail.API.Disk Function Get-Hosts 1.0.0.0 VxRail.API.Host Function Get-iDRACNetwork 1.0.0.0 VxRail.API.Host Function Get-iDRACUserIds 1.0.0.0 VxRail.API.Host Function Get-iDRACUsers 1.0.0.0 VxRail.API.Host Function Get-Requests 1.0.0.0 VxRail.API.System Function Get-SupportAccount 1.0.0.0 VxRail.API.Support Function Get-SupportChatURL 1.0.0.0 VxRail.API.Support Function Get-SupportCommunity 1.0.0.0 VxRail.API.Support Function Get-SupportCommunityMessages 1.0.0.0 VxRail.API.Support Function Get-SupportContact 1.0.0.0 VxRail.API.Support Function Get-SupportHeartbeat 1.0.0.0 VxRail.API.Support Function Get-SupportKB 1.0.0.0 VxRail.API.Support Function Get-SupportKbArticles 1.0.0.0 VxRail.API.Support Function Get-SupportLogs 1.0.0.0 VxRail.API.Support Function Get-SupportServiceRequests 1.0.0.0 VxRail.API.Support Function Get-SystemAvailableHosts 1.0.0.0 VxRail.API.System Function Get-SystemClusterHosts 1.0.0.0 VxRail.API.System Function Get-SystemHealth 1.0.0.0 VxRail.API.System Function Get-SystemInfo 1.0.0.0 VxRail.API.System Function Get-SystemInternetMode 1.0.0.0 VxRail.API.System Function Get-SystemProxy 1.0.0.0 VxRail.API.System Function Get-TelemetryTier 1.0.0.0 VxRail.API.Telemetry Function Get-VCenterMode 1.0.0.0 VxRail.API.VC Function New-CallhomeAccessCode 1.0.0.0 VxRail.API.System Function New-iDRACUser 1.0.0.0 VxRail.API.Host Function New-SupportLogs 1.0.0.0 VxRail.API.Support Function Publish-CallHomeServer 1.0.0.0 VxRail.API.System Function Register-ExternalCallHomeServer 1.0.0.0 VxRail.API.System Function Register-InternalCallHomeServer 1.0.0.0 VxRail.API.System Function Remove-ClusterHost 1.0.0.0 VxRail.API.Cluster Function Remove-SupportAccount 1.0.0.0 VxRail.API.Support Function Remove-SystemProxy 1.0.0.0 VxRail.API.System Function Save-SupportLogsById 1.0.0.0 VxRail.API.Support Function Set-TelemetryTier 1.0.0.0 VxRail.API.Telemetry Function Start-ClusterShutdown 1.0.0.0 VxRail.API.Cluster Function Start-HostsShutDown 1.0.0.0 VxRail.API.Host Function Start-LcmUpgrade 1.0.0.0 VxRail.API.LCM Function Unregister-CallhomeServer 1.0.0.0 VxRail.API.System Function Update-CallHomeMode 1.0.0.0 VxRail.API.System Function Update-Certificate 1.0.0.0 VxRail.API.Certificate Function Update-iDRACNetwork 1.0.0.0 VxRail.API.Host Function Update-iDRACUser 1.0.0.0 VxRail.API.Host Function Update-SupportAccount 1.0.0.0 VxRail.API.Support Function Update-SystemCredential 1.0.0.0 VxRail.API.System Function Update-SystemInternetMode 1.0.0.0 VxRail.API.System Function Update-SystemProxy 1.0.0.0 VxRail.API.System Function Update-VCenterMode 1.0.0.0 VxRail.API.VCざっと見るだけでも情報取得系の Get-xxx 以外にも、設定更新のための Update-xxx、Set-xxx、New-xxx などが揃っています。
VxRail API を利用するための権限、ロール
VxRail PowerShell コマンドレッド を利用する際には、vCenter ではなく、VxRail Manager に接続して利用しますが、接続ユーザーは VxRail の操作に関する権限が付与されている必要があります。VxRail 4.7.300 以降では、「VMware HCIA Management」 というロールに、
「Manage VxRail Clusters」 と 「View VxRail Clusters」という権限が付与されています。
※ ロール管理で見ると以下のように確認できます。
VxRail PowerShell を利用するためのユーザーを新規で作成する場合は、「VMware HCIA Management」ロールを付与するか、新規ロールを作成するならば 「Manage VxRail Clusters」 と 「View VxRail Clusters」権限をロールに割り当てます。
以下では vxrailuser をいうアカウントを SSO ドメインに新規に作成し、「VMware HCIA Management」のロールを付与し、vCenter レベルの階層に割り当てています。
VxRail の API 操作に関する KB が以下にありますので、設定に不明な点があれば以下も参照ください。
Dell EMC VxRail: RBAC currently does not work with VxRail H5 Plugin
https://support.emc.com/kb/531146
https://support.emc.com/kb/531146
VxRail PowerShell の実行
ここまで準備ができたら、あとはコマンドレットに VxRail Manager、ユーザー、パスワードをセットして実行するだけです。例)
PS C:\Users\Administrator> Get-Chassis -Server [VxRail Manager FQDN or IP] -Username vxrailuser@vsphere.local -Password [PASSWORD]
VxRail 4.7.300 以降を利用されている環境では Get-xxx などの情報取得系のものは簡単に利用できますのでぜひお試し下さい。