VMware製品を操作できるPowerShellベースのCLIツールである「PowerCLI」は、PowerShellベースで動作するため、以前は必ずWindows環境から実行する必要があった。
しかし、以下記事で記載した通り、PowerShell 7.2はLinuxに対してもインストールすることができる。
そのため、PowerCLIもモジュールをインポートすることでLinux環境で動作させることが可能となった。本記事では、PowerCLIをLinux環境で動かすための手順を記載する。なお、インターネット経由でオンラインでインストールする方法と、オフラインでインストールする2パターンの手順を記載する。
環境
導入環境は以下の通りとなる。RHELについては、7と8両方でインストール確認をしている。
- RHEL 8.3
- RHEL 7.6
RHELへPowerCLIをインストールする手順 (オンライン)
1. RHELへPowerShellをインストール
RHELへPowerShellをインストールする手順は、以下記事を参照いただきたい。
2. Install-Module
にてPowerCLIをオンラインインストール
Install-Module
を使うことで、インターネット経由でモジュールのインストールが可能となる。PowerShellにシェルを変更したのち、以下の通りインストールを実施する。
# pwsh
PowerShell 7.2.0
Copyright (c) Microsoft Corporation.
https://aka.ms/powershell
Type 'help' to get help.
PS /root> Install-Module -Name VMware.PowerCLI
Untrusted repository
You are installing the modules from an untrusted repository. If you trust this
repository, change its InstallationPolicy value by running the Set-PSRepository
cmdlet. Are you sure you want to install the modules from 'PSGallery'?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help
(default is "N"):y ←★"y"を選択
Installing package 'VMware.PowerCLI' [Installing dependent package 'VMware.V…]
Installing package 'VMware.VimAutomation… [Downloaded 13.36 MB out of 14.8…]
↑★オンラインでモジュールがインストールされる
Get-Module
コマンドでインストール後の確認を行うと、VMware
から始まる各種モジュールがインストールされていることが確認できる。今回はPowerCLIのバージョン12.4.1がインストールされていることがわかる。
PS /root> Get-Module -ListAvailable | where { $_.Name -like "VMware*" }
Directory: /root/.local/share/powershell/Modules
ModuleType Version PreRelease Name PSEdition
---------- ------- ---------- ---- ---------
Script 12.4.0.18… VMware.CloudServices Desk
Script 7.0.2.178… VMware.DeployAutomation Desk
Script 7.0.2.178… VMware.ImageBuilder Desk
Manifest 12.4.1.18… VMware.PowerCLI Desk
~(中略)~
Script 12.2.0.17… VMware.VimAutomation.vROps Desk
Script 12.4.0.18… VMware.VimAutomation.WorkloadManag… Desk
Script 12.1.0.16… VMware.VumAutomation Desk
3. vCenter Serverへ接続確認
それでは実際にPowerCLIのConnect-VIServer
を使ってvCenter Serverに接続してみよう。
PS /root> Connect-VIServer 192.168.11.160 -Force
Specify Credential
Please specify server credential
User: administrator@vsphere.local
Password for user administrator@vsphere.local: ************
Name Port User
---- ---- ----
192.168.11.160 443 VSPHERE.LOCAL\Administrator
問題なくvCenter Serverに接続できたので、Get-VM
で仮想マシン一覧を確認してみよう。以下の通り、問題なく仮想マシンの情報を取得することができた。
PS /root> Get-VM
Name PowerState Num CPUs MemoryGB
---- ---------- -------- --------
t1164vsrm PoweredOn 2 8.000
testvm-02 PoweredOn 2 4.000
testvm PoweredOn 2 4.000
t1160vcsa PoweredOn 2 12.000
vCLS (2) PoweredOn 1 0.125
以上でRHELへPowerCLIをオンラインでインストールする手順は完了となる。
RHELへPowerCLIをインストールする手順 (オフライン)
1. PowerCLIのファイルを入手
PowerCLIのモジュール一式は、以下サイトからzip形式でダウンロードできる。
今回はバージョン12.4.1をダウンロードした。
ダウンロードしたファイルは、インストール対象のLinuxへアップロードしておこう。
2. RHELへPowerShellをインストール
RHELへPowerShellをインストールする手順は、以下記事を参照いただきたい。
3. PowerCLIをオフラインインストール
PowerShellインストール後、一度pwsh
にてPowerShellのシェルに変更したのち抜けておく。これにより、PowerShellのモジュールをインストールするディレクトリがホームディレクトリ配下に作成される。
# pwsh
PowerShell 7.2.0
Copyright (c) Microsoft Corporation.
https://aka.ms/powershell
Type 'help' to get help.
PS /root> exit
モジュールをインストールするディレクトリは、ホームディレクトリ配下の~/.local/share/powershell/Modules/
となる
# ls -ld ~/.local/share/powershell/Modules/
drwxr-xr-x 2 root root 6 11月 21 10:59 .local/share/powershell/Modules/
本ディレクトリにダウンロードしたPowerCLIのzipファイルを配置し解凍する。これだけでインストールは完了となる。
# cp VMware-PowerCLI-12.4.1-18769701.zip ~/.local/share/powershell/Modules/
# cd ~/.local/share/powershell/Modules/
# unzip VMware-PowerCLI-12.4.1-18769701.zip
# ls -l
合計 79676
-rw-r--r-- 1 root root 81582404 11月 21 11:05 VMware-PowerCLI-12.4.1-18769701.zip
drwxr-xr-x 4 root root 154 11月 21 11:08 VMware.CloudServices
drwxr-xr-x 3 root root 142 11月 21 11:08 VMware.DeployAutomation
~(中略)~
drwxr-xr-x 4 root root 243 11月 21 11:08 VMware.VimAutomation.WorkloadManagement
drwxr-xr-x 4 root root 172 11月 21 11:08 VMware.VimAutomation.vROps
drwxr-xr-x 3 root root 117 11月 21 11:08 VMware.VumAutomation
# rm VMware-PowerCLI-12.4.1-18769701.zip
インストールが問題なくできていることをPowerShellからも確認しておこう。Get-Module
コマンドにて確認すると、VMware
から始まる各種モジュールがインストールされていることが確認できる。
PS /root> Get-Module -ListAvailable | where { $_.Name -like "VMware*" }
Directory: /root/.local/share/powershell/Modules
ModuleType Version PreRelease Name PSEdition
---------- ------- ---------- ---- ---------
Script 12.4.0.18… VMware.CloudServices Desk
Script 7.0.2.178… VMware.DeployAutomation Desk
Script 7.0.2.178… VMware.ImageBuilder Desk
Manifest 12.4.1.18… VMware.PowerCLI Desk
~(中略)~
Script 12.2.0.17… VMware.VimAutomation.vROps Desk
Script 12.4.0.18… VMware.VimAutomation.WorkloadManag… Desk
Script 12.1.0.16… VMware.VumAutomation Desk
4. vCenter Serverへ接続確認
それでは実際にPowerCLIのConnect-VIServer
を使ってvCenter Serverに接続してみよう。
PS /root> Connect-VIServer 192.168.11.160 -Force
Specify Credential
Please specify server credential
User: administrator@vsphere.local
Password for user administrator@vsphere.local: ************
Name Port User
---- ---- ----
192.168.11.160 443 VSPHERE.LOCAL\Administrator
問題なくvCenter Serverに接続できたので、Get-VM
で仮想マシン一覧を確認してみよう。以下の通り、問題なく仮想マシンの情報を取得することができた。
PS /root> Get-VM
Name PowerState Num CPUs MemoryGB
---- ---------- -------- --------
t1164vsrm PoweredOn 2 8.000
testvm-02 PoweredOn 2 4.000
testvm PoweredOn 2 4.000
t1160vcsa PoweredOn 2 12.000
vCLS (2) PoweredOn 1 0.125
以上でRHELへPowerCLIをオフラインでインストールする手順は完了となる。
0 件のコメント:
コメントを投稿