ad1

2021年7月15日木曜日

PowerCLI を利用した vSAN 再同期帯域制御 の調整

 vCenter 7.0u1 の vSphere Client から vSAN の再同期時の帯域制御のメニューが無くなりました。

これは vSAN 6.7u1 / 6.7u3 で実装された Adaptive Resync や Parallel Resync  によってデータの再配置、再同期の時のスロットリングが適切に制御される様になったからです。

Adaptive Resync については以下の Core TechZone の記事が詳細に書かれています。

今回は昨年 7.0u1 がリリースされた時に試しておきながらまとめるのを忘れていた PowerCLI での再同期帯域調整(Resync throttling) についての覚書です。

2021年6月24日木曜日

仮想マシンの OVF・OVA エクスポートと仮想ディスク形式

先日 VMTN に仮想マシン、仮想ディスクのバックアップ・リストア時のディスクタイプの挙動について質問があり、久しぶりに OVF / OVA への仮想マシンエクスポート・インポートの挙動を試したのでその覚え書き。

OVF (Open Virtualization Format) / OVA (Open Virtualization Format Archive)

OVF (Open Virtualization Format) は DMTF (Distributed Management Task Force) で規格化された仮想化環境共通の仮想マシンテンプレート形式みたいなものです。
※ 異なる仮想化環境間での仮想マシンの動作互換性を保証するものではありません。

OVF (Open Virtualization Format) は vSphere 環境では以下のファイルで構成されます。

  • .ovf ファイル : 仮想マシンの構成情報、仮想ハードウェア情報などが xml 形式で記載されたファイル
  • .mf ファイル : マニュフェス。各ファイルの SHA ダイジェスト値が記載されたファイル
  • .vmdk ファイル : 仮想ディスク。vSphere ESXi 環境だと VMDK ファイルですが、他の Hypervisor 環境では別形式の場合もあります
  • .nvram ファイル : vSphere ESXi 環境では vSphere 6.7 以降に含まれます。.nvram ファイルが含まれていると 6.5 以前の環境へのインポートに失敗するので、その際は次の KB を参照の上、ファイルの修正をしてください <https://kb.vmware.com/s/article/67724?lang=ja>
OVA (Open Virtualization Format Archive) は上記の OVF の各ファイルを tar で1つに固めたものになり、拡張子は .ova です。
OVA の方が単一ファイルで管理可能で運用が楽なのでお勧めします。

OVF / OVA 形式での仮想マシン・仮想ディスク (vDisk) のエクスポート方法・インポート方法

仮想マシンを起動した状態でバックアップするのであれば、3rd Party のバックアップソフトを使って VADP バックアップを取得する方法や、vSphere Replication や外部ストレージのレプリケーション機能で筐体間コピーする方法がありますが、
今回は無償で利用できる OVF / OVA 形式でエクスポートする方法です。

OVF / OVA 形式でエクスポートするためには対象の仮想マシンは事前にシャットダウン状態 (パワーオフ) にします。 

OVF / OVA 形式に仮想マシン・仮想ディスクをエクスポート・インポートするための以下 4つの方法を紹介します。

  1. vSphere Client (Host Client) を利用する
  2. OVFTool を利用する
  3. PowerCLI を利用する
  4. vCenter Converter Standalone を利用する
それぞれに特徴があり使い易さや機能が異なり、特にインポート時に Thin / Thick など選べる仮想ディスクが異なるものがありますので参考にして頂ければ幸いです。

2021年4月6日火曜日

Windows 10 でスリープから復旧後に CPU 利用率が system "ntoskrnl.exe" SeAccessCheckWithHint+0x1c620 で30%~50% 消費されてしまう問題

Thinkpad X1 Nano に PC をリプレイス後、Zoom のクラッシュ問題含めて小さな不具合に遭遇していますが、スリープから復旧後に CPU 利用率が system "ntoskrnl.exe" で30%~50% 消費され再起動しないとどうにもならない事象に遭遇。

事象としてはスリープ復旧後にファンがずっと動き続け、タスクマネージャを開くと CPU 利用率が 30% ~ 50% で System プロセス (ntoskrnl.exe) が高い値を示している事が確認できます。

以下、事象の解決に試した切り分け手順と原因についてまとめました。

2021年3月24日水曜日

Thinkpad X1 Nano Gen1 実機使用感レビュー

4年振りにノート PC を買い替えたので、久々に VMware 関連以外の投稿です。

4年間利用していた Thinkpad X1 Carbon Gen5 (2017) から新製品の Thinkpad X1 Nano Gen1 に乗り換えました。4年前に書いたレビューは以下。

X1 Nano そのものの詳細なレビューは The 比較のサイトや Engadget の紹介など他に素晴らしい記事が沢山あるのでそちらを参照してください。

※ 本投稿の最後に、X1 Nano において Zoom がクラッシュ・落ちる事象の回避策も追記しています。 Zoom 5.6.1 と Intel Iris Xe 27.20.100.9415 の組み合わせで改修されたようなのでまずはアップデートしてみてください。

※ また、S0 スリープと相性の悪いアプリが原因で復帰後に CPU が高騰してしまう事象の切り分けも別でまとめました。

2021年3月11日木曜日

vSphere・vSAN 7.0 u2 機能強化・アップデート情報

半年前に vSphere・vSAN 7.0 u1 の機能強化・アップデート情報をまとめたばかりですが、3/9 に 7.0 u2 がリリースされました。
※ vSphere・vSAN 7.0 u1 機能強化・アップデート情報 はこちら

公式ドキュメントとしてのリリースノートは以下

公式ブログでの What's New は以下

今回も vSphere と vSAN の強化機能についてまとめますが、
vSphere・vSAN 7.0 u2 機能強化のうち個人的に特に以下 5 つが嬉しいポイントかなと感じています。

  • データセキュリティの強化
    vSphere Native Key Provider と ESXi Key Persistence を利用した外部 KMS 無しの vSAN 暗号化が可能に
  • HCI Mesh が Phase 2 に進化
     "非 vSAN クラスタ" からも外部の vSAN データストアをマウント可能に (クライアント側に vSAN の追加ライセンス不要)
  • vSAN File Services の強化
    Stretched Cluster や 2Node Cluster のサポート、API を介した Snapshot や Unmap の機能が追加
  • vSphere Lifecycle Manager (vLCM)  の強化
    NSX-T のサポートと Tanzu のサポート、クラスタクイックスタートの強化
  • パフォーマンスの強化
    AMD EPYC シリーズへの最適化や広帯域ネットワーク環境での vMotion 並列度の自動調整、vSAN over RDMA (RoCE V2) の対応、vSAN ネットワークモニタリング項目の詳細化・閾値アラームの追加など

その他にも、vSAN Health (vSAN Skyline) の強化で過去の健全性履歴が閲覧可能になったり、Tanzu / Kubernetes 関連の強化や GPU 関連の強化、その他沢山ありますが捌ききれないので公式 Blog を後半でご紹介します。

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 を起動停止してみました。

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