Quantcast
Channel: VMware Communities : Blog List - All Communities
Viewing all articles
Browse latest Browse all 3135

Linux で PowerCLI 10.0 をためしてみる。

$
0
0

最近、PowerCLI 10.0 がリリースされました。

New Release: VMware PowerCLI 10.0.0 - VMware PowerCLI Blog - VMware Blogs

 

とうとう macOS や Linux でも PowerCLI がサポートされるようです。

そこで Linux OS で PowerCLI をためしてみました。

 

今回は、Oracle Linux 7 を利用しています。

[root@vm01 ~]# cat /etc/oracle-release

Oracle Linux Server release 7.4

 

PowerShell のインストール。

まず、PowerShell をインストールします。

Oracle Linux では、ORACLE の Public Yum サーバから PowerShell をインスト―ルできます。

 

まず、Yum リポジトリの参照先が記載されている .repo ファイルを最新化します。

[root@vm01 ~]# curl http://yum.oracle.com/public-yum-ol7.repo -o /etc/yum.repos.d/public-yum-ol7.repo

 

Oracle Linux の PowerShell は、ol7_developer リポジトリにあります。

http://yum.oracle.com/repo/OracleLinux/OL7/developer/x86_64/

 

「--enablerepo」でリポジトリを有効にしつつインストールします。

[root@vm01 ~]# yum install -y --enablerepo=ol7_developer powershell

 

PowerCLI のインストール。

PowerShell を起動します。Linux では「pwsh」です。

[root@vm01 ~]# pwsh

PowerShell v6.0.1

Copyright (c) Microsoft Corporation. All rights reserved.

 

https://aka.ms/pscore6-docs

Type 'help' to get help.

 

PS /root>

 

PowerCLI をインストールします。

インストール元になる PowerShell Gallery がまだ信頼されていないと確認されるので

「Y」と入力して Enter キーをおすと、ひたすらモジュールがインストールされます。

PS /root> Install-Module -Name VMware.PowerCLI -Scope CurrentUser

 

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

PS /root>

 

警告抑止のため、VMware の Customer Experience Improvement Program (CEIP) の

参加についての設定をしておきます。

ここでは $false にしておきます。(自宅ラボでは基本的に CEIP に参加していますが・・・)

PS /root> Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false -Confirm:$false

 

PowerCLI 10.0.0 がインストールできています。

PS /root> Get-PowerCLIVersion

WARNING: The cmdlet "Get-PowerCLIVersion" is deprecated. Please use the 'Get-Module' cmdlet instead.

 

PowerCLI Version

----------------

   VMware PowerCLI 10.0.0 build 7895300

---------------

Component Versions

---------------

   VMware Cis Core PowerCLI Component PowerCLI Component 10.0 build 7893915

   VMware VimAutomation VICore Commands PowerCLI Component PowerCLI Component 10.0 build 7893909

 

 

 

PS /root>

 

WARNING にあるように、最近は Get-Module でバージョン確認するほうが

良いようなので、ついでに確認しておきます。

PS /root> Get-Module -ListAvailable -Name VMware.* | select Version,Name

 

Version        Name

-------        ----

6.5.2.7812840  VMware.DeployAutomation

6.5.2.7812840  VMware.ImageBuilder

10.0.0.7895300 VMware.PowerCLI

10.0.0.7893915 VMware.VimAutomation.Cis.Core

10.0.0.7893901 VMware.VimAutomation.Cloud

10.0.0.7893906 VMware.VimAutomation.Common

10.0.0.7893909 VMware.VimAutomation.Core

6.5.4.7567193  VMware.VimAutomation.HA

7.1.0.7547311  VMware.VimAutomation.HorizonView

10.0.0.7893904 VMware.VimAutomation.License

10.0.0.7893913 VMware.VimAutomation.Nsxt

10.0.0.7893924 VMware.VimAutomation.PCloud

10.0.0.7893910 VMware.VimAutomation.Sdk

10.0.0.7893900 VMware.VimAutomation.Srm

10.0.0.7894167 VMware.VimAutomation.Storage

1.2.0.0        VMware.VimAutomation.StorageUtility

10.0.0.7893903 VMware.VimAutomation.Vds

10.0.0.7893902 VMware.VimAutomation.Vmc

10.0.0.7893921 VMware.VimAutomation.vROps

6.5.1.7862888  VMware.VumAutomation

 

 

PS /root>

 

PowerCLI を使用してみる。

vCenter に接続してみます。

  • 今回の vCenter のアドレスは vc-sv01.go-lab.jp です。
  • 証明書エラー回避のため「 -Force」をつけています。

PS /root> Connect-VIServer vc-sv01.go-lab.jp -Force

 

 

Specify Credential

Please specify server credential

User: gowatana

Password for user gowatana: **************

 

 

Name                           Port  User

----                           ----  ----

vc-sv01.go-lab.jp              443   GO-LAB\gowatana

 

 

PS /root> $global:DefaultVIServer | Format-List Name,Version,Build,ProductLIne

 

 

Name        : vc-sv01.go-lab.jp

Version     : 6.5.0

Build       : 7515524

ProductLine : vpx

 

 

PS /root>

 

まだ Windows 版ほどの完成度ではないようですが、

基本的に Windows 版と同様のコマンドレットがあるようで vSAN 系のものも含まれています。

PS /root> Get-Cluster vsan-cluster-* | Get-VsanClusterConfiguration | Sort-Object Cluster

 

Cluster              VsanEnabled  IsStretchedCluster   Last HCL Updated

-------              -----------  ------------------   ----------------

vsan-cluster-01      True

vsan-cluster-02      True

vsan-cluster-03      True         True                 2018/01/28 12:01:23

 

 

PS /root> Get-Cluster vsan-cluster-01 | Get-VsanRuntimeInfo | Sort-Object VMHost | ft -AutoSize

 

Cluster         VMHost           ResyncTrafficMbps

-------         ------           -----------------

vsan-cluster-01 hv-i21.go-lab.jp                 0

vsan-cluster-01 hv-i22.go-lab.jp                 0

vsan-cluster-01 hv-i23.go-lab.jp                11

vsan-cluster-01 hv-i24.go-lab.jp                 4

vsan-cluster-01 hv-i25.go-lab.jp                 5

vsan-cluster-01 hv-i26.go-lab.jp                 5

 

 

PS /root>

 

また、PowerCLI の Linux 対応以前に

Linux 環境での PowerShell の使い方にも注意が必要そうです。

 

たとえば以前の投稿で使用したスクリプト「get_vsan_summary.ps1」を実行してみると、

「sort」でエラーになってしまいました。

PowerCLI で vSAN クラスタの概要を見てみる。

 

下記のような感じになったりします。

Linux の sort コマンドを実行しようとしてしまったりするようです。

PS /root> Get-Cluster | sort name

/usr/bin/sort: cannot read: name: そのようなファイルやディレクトリはありません

 

これについては、エイリアスの「sort」ではなく

ちゃんと Sort-Object とするとこの問題は回避できます。

PS /root> Get-Cluster | Sort-Object Name

 

 

Name                           HAEnabled  HAFailover DrsEnabled DrsAutomationLevel

                                          Level

----                           ---------  ---------- ---------- ------------------

ha-cluster-01                  False      1          False      FullyAutomated

ha-cluster-02                  True       1          True       FullyAutomated

ha-cluster-03                  False      1          False      FullyAutomated

vsan-cluster-01                True       1          True       FullyAutomated

vsan-cluster-02                True       1          True       PartiallyAutomated

vsan-cluster-03                False      1          False      FullyAutomated

work-cluster-01                False      1          False      FullyAutomated

 

 

以前の投稿の get_vsan_summary.ps1 スクリプトだと

下記のような感じの置換ですみましたが・・・

これまでの PowerShell / PowerCLI のバージョンアップよりも

修正箇所が多くなりそうな予感がします。

PS /root> sed -i "s/sort/Sort-Object/g" ./get_vsan_summary.ps1

 

私の場合、PowerShell のエイリアスを利用していたり、

ちょっと癖のあるスクリプトを作成したりすることがあるので

シンプルなコマンドライン / スクリプト作成を心掛けつつ

Linux 版 PowerCLI も徐々に利用していこうと思います。

 

以上、PowerCLI 10.0 を Linux で使用してみる話でした。


Viewing all articles
Browse latest Browse all 3135

Trending Articles