ad1

2021年1月15日金曜日

Flash 版 vSphere Web Client 接続端末を Windows Server 2016 で今から新規に作る方法 (Flash EOL その場しのぎの回避方法)

とうとう 2020/12/31 で Adobe Flash のサポートが終了し、2021/1/12 以降はインストール済みの Flash の起動も基本的に実行不可となりました。

※ 古い OS 環境で Flash 32.0.0.371 以前のバージョンなら 2021/1/12 以降起動できなくなる設定を回避できますが、これからの入手は実質不可でインターネット上に落ちているバイナリは改変・改竄されているリスクがあるので絶対にインストールしないでください。

(この後ご紹介する方法は Windows Server 2016 組み込みの Flash を利用する事で回避していますが、当然非推奨かつセキュリティリスクがある運用なのでご注意下さい)

vSphere 6.x の環境も、全ての機能が移行された vCenter 6.7u3 以降の HTML5 版 vSphere Client が使えない場合は従来の Flash 版 vSphere Web Client が必要になる事が多々あるかと思います。

公式には以下の KB と、VMware Japan Blog の方にも回避策が案内されていますが、今後の Web ブラウザのバージョンアップなどでそもそも Flash が全く利用不可になる日も近いと思います。

Windows Server 2016 を新規インストールして臨時の Flash 版Web Client 端末にする

新規に Windows Server 2016 をインストールするとその中には RDSH 用に Flash のバイナリも含まれています。
それを Windows Server 2016 本体にインストールして Flash Web Client を緊急利用する回避策をご紹介します。

※ 手元の環境で確認したところ Flash のバージョンは 22.0.0.209 とかなり古い。
OS のアップデート未適用の運用もそうですが、Flash 自体のセキュリティリスクがあるので本来はこれらの利用は強く非推奨です。

2021年1月9日土曜日

PowerCLI で vSphere Clustering Service (vCLS) の起動停止をする方法

 vSphere 7.0u1 から DRS などのクラスタ制御機能が vCenter から vCLS (vSphere Cluster Services) に移管され、vCLS そのものの有効化・無効化 (Retreat Mode) の操作方法を昨年以下の記事にまとめました。

今回はクラスタの計画停止や UPS などのシャットダウンツールの連動などで vCLS Retreat Mode の切り替えを PowerCLI でスクリプトを組むための方法をまとめます。

※ 作業前に必ず KB も併せて確認して下さい。

PowerCLI でクラスタの Domain ID を確認する

まずは vCenter に接続。この後 AdvancedSetting の設定で使うので $vc に入れておきます。

$cre = Get-Credential
$vc = Connect-VIServer -Server "vCenter IP or FQDN" -Credential $cre
 

続いて Get-Cluster でクラスタの情報を取得してみます。

PS C:\> Get-Cluster | Format-Table -AutoSize

Name      HAEnabled HAFailoverLevel DrsEnabled DrsAutomationLevel
----      --------- --------------- ---------- ------------------
vSAN      True      1               True       FullyAutomated
Nested-CL False     1               False      FullyAutomated
PCL       False     1               True       Manual
 

デフォルトの出力だと Domain ID が分からないので、Select-Object で "ID" を含めるか、ExtensionData の管理対象オブジェクト (MoRef) を確認します。

# Cluster ID の末尾から確認する場合
PS C:\>  Get-Cluster | Select-Object Name,Id |Format-Table -AutoSize

Name      Id
----      --
vSAN      ClusterComputeResource-domain-c3012
Nested-CL ClusterComputeResource-domain-c3006
PCL       ClusterComputeResource-domain-c8
 
# 管理対象オブジェクト (MoRef) を確認する場合
PS C:\> (Get-Cluster -name "PCL").ExtensionData.MoRef.Value
domain-c8
PS C:\> (Get-Cluster -name "vSAN").ExtensionData.MoRef.Value
domain-c3012
PS C:\> (Get-Cluster -name "Nested-CL").ExtensionData.MoRef.Value
domain-c3006
 

Cluster ID は "ClusterComputeResource-domain-cXXXX" となり、URL に含まれる Domain ID と同じものを確認できます。

クラスタを指定して管理対象オブジェクト (MoRef) を確認した場合はすぐわかります。

vCLS Retreat Mode に関する詳細設定を PowerCLI で作成・制御する

前回は vSphere Client で追加した "config.vcls.clusters.domain-cXXXX.enabled" を PowerCLI で操作します。

現在の vCLS Retreat Mode に関連する詳細設定(Advanced Settings)の有無を確認します。

PS C:\> Get-AdvancedSetting -Entity $vc -Name config.vcls.clusters.* | Format-Table -AutoSize

Name                                      Value Type     Description
----                                      ----- ----     -----------
config.vcls.clusters.domain-c8.enabled    false VIServer
config.vcls.clusters.domain-c3006.enabled false VIServer
 

先ほど新規で作成した "vSAN" クラスタの ID は未作成なので、これを新規に New-AdvancedSetting で追加します(削除は vCSA 内の vpxd.cfg を修正する必要があるので値が正しい事を必ずチェックしてください)。"vSAN" クラスタの Domain ID は "domain-c3012" なので "config.vcls.clusters.domain-c3012.enabled" を追加します。

PS C:\> New-AdvancedSetting -Entity $vc -Name config.vcls.clusters.domain-c3012.enabled -Value false
 

Retreat Mode の On/Off は Set-AdvancedSetting から true / false で制御します。

  • true なら Retreat Mode が無効 (vCLS が 有効 : vCLS VM が作成される)
  • false なら Retreat Mode が有効 (vCLS が無効 : vCLS VM が削除される)
# vCLS 有効化
PS C:\> Get-AdvancedSetting -Entity $vc -Name config.vcls.clusters.domain-c3012.enabled | Set-AdvancedSetting -Value true

# vCLS 無効化 (Retreat Mode 有効化)
PS C:\> Get-AdvancedSetting -Entity $vc -Name config.vcls.clusters.domain-c3012.enabled | Set-AdvancedSetting -Value false
 

有効・無効が正しく反映されている事を確認します。

# 各クラスタの vCLS の状態を確認 (全て Retreat Mode 有効状態)
PS C:\> Get-AdvancedSetting -Entity $vc -Name config.vcls.clusters.* | Format-Table -AutoSize

Name                                      Value Type     Description
----                                      ----- ----     -----------
config.vcls.clusters.domain-c8.enabled    false VIServer
config.vcls.clusters.domain-c3012.enabled false VIServer
config.vcls.clusters.domain-c3006.enabled false VIServer


# "vSAN" クラスタ (domain-c3012)の Retreat Mode を無効化 (vCLS の有効化)
PS C:\> Get-AdvancedSetting -Entity $vc -Name config.vcls.clusters.domain-c3012.enabled | Set-AdvancedSetting -Value true

# "vSAN" クラスタ (domain-c3012) のみ vCLS が有効になった事が確認できる
PS C:\> Get-AdvancedSetting -Entity $vc -Name config.vcls.clusters.* | Format-Table -AutoSize

Name                                      Value Type     Description
----                                      ----- ----     -----------
config.vcls.clusters.domain-c8.enabled    false VIServer
config.vcls.clusters.domain-c3012.enabled true  VIServer  ← true に変更される
config.vcls.clusters.domain-c3006.enabled false VIServer
 

vCenter の詳細設定の操作は間違えるとシステムに大きな影響を与えるため慎重に行ってください。

以上、PowerCLI を利用して vCLS Retreat Mode を起動停止してみました。

2021年1月8日金曜日

Advanced Cross vCenter vMotion の活用 : vCenter を跨いだ仮想マシンの移行方法のパターンについて

2020年12月にリリースされた vCenter 7.0u1c で実装された "Advanced Cross vCenter Server vMotion (Migration)" により、vSphere Clinent の GUI から異なる vCenter 間での vMotion が可能になりました。

※ 従来は SSO ドメインの異なる vCenter 間では PowerCLI などから vCenter API を叩く必要がありました。

今回は新機能の "Advanced Cross vCenter Server vMotion (Migration)"  含めて、現在利用可能な仮想マシンの移行機能をご紹介、試してみたいと思います。

"Advanced Cross vCenter Server vMotion (Migration)" に関する公式情報は以下を参照ください。

※ 本投稿で動作確認したものは全ての環境で同様に動く事を保証するものではありません。本番環境での移行を検討する場合は必ずサポートされた構成で事前検証を実施してください。

※ 2021/10/6 追記 : vCenter 7.0 Update3 から Adv-XvC-Migration に "クローン" の機能が追加され、元環境の VM を残したまま VM の vCenter 跨ぎの移行が可能になりました。詳細はこちら

今回の内容です。

過去30日でアクセスの多い投稿