ad1

2020年7月31日金曜日

vRealize Operations の標準ダッシュボードを削除してしまった際の復元方法

vRealize Operations Manager のダッシュボードを編集する際、ボーっとして操作すると「ダッシュボードの削除」を間違って押してしまいダッシュボードが vROps 無いから削除されてしまう事があります...
何で「ダッシュボードの削除」ボタンが上から2番目という押しやすい場所にあるのかは謎です...

ダッシュボードそのものを"削除"してしまった場合

ダッシュボードを開いた状態で「アクション」 > 「ダッシュボードの削除」を選ぶと、ダッシュボードそのものが消し去られます。
ダッシュボードタブから非表示にしたい場合は「メニューからダッシュボードを削除」を選択する必要がありますが、似た操作名でインパクトのあるものが上にあるので操作する際は気を付ける必要があります。

vRealize Operations の標準ダッシュボードで「ダッシュボード時間」の切り替えを有効にする方法

検証環境の vRealize Operations Manager の 7.x から 8.x にバージョンアップした際に気になった事でした、各ダッシュボードの右上にある「ダッシュボード時間」の切り替えがグレーアウトしている事象があります。
デモ用環境なのでコロナ禍で出番無くずっと放置していましたが、今回はその修正方法を覚え書きしておきます

2020年6月20日土曜日

VMware 技術情報で便利な公式まとめサイト集

一昨年頃からいろいろと VMware 関連の情報ページが再編・新設されており、有益なものは都度記事にまとめてましたが、改めてベストプラクティス系の資料が集まったサイトを整理したいと思います。
※ 昨年から今年にかけてまとめた記事、ダブった内容もありますが結構書いてました。
これらサイトの中身、全部目を通す必要は全くありませんが、どこにどんなコンテンツがあるのか見出しだけでも眺めておくと今後業務で必要になった際に素早く情報にたどり着けますので参考にしていただけると幸いです。

2020年6月15日月曜日

ESXi 6.x 以降でシステムリソースの予約値を変更する方法

vSphere 5.5 (ESXi 5.5) までは vSphere Client で値の変更が出来たシステムリソース(ESXi Kernel のリソース)の予約値ですが、vSphere 6.0 以降では変更が出来なくなってしまいました。
あえて修正しなくてもベストな値が自動で反映されているので通常は修正する必要はありませんが、各 ESXi 毎に予めシステムリソースの予約値を多めに確保しておきたい場合や、ホームラボ用途で予約値を減らしたいという場合もあるので、本記事では PowerCLI を利用して変更する方法を記します。

※ 正式な手順ではないので設定する場合は必ず事前検証、場合によっては各メーカーサポートへの確認を行ってください。変更すると公式サポートが受けられない可能性があります。
※ あと、だいぶ前に見た KB で今見つからなかったのですが、vSphere のバージョンアップ時などに設定がリセットされる事象があったのでもしかしたら今のバージョンでも元に戻る仕様かもしれません。

本記事は LucD さんの VMTN での助言をベースにしています。

システムリソースの予約値とは?

システムリソースの予約とは、ESXi が動作するために最低限確保している CPU とメモリのリソース予約値で vSphere Client からホストを選択し、設定 > システム > システムリソースの予約 を開く事で確認できます。


このシステムリソースの予約、vSphere 5.5 までは vSphere Client の画面上にて編集する事が可能でしたが、vSphere 6.0 以降では vSphere Client では編集が出来ません(上記画面上で編集ボタンがそもそもない)。
※ これは設定に応じて適切な値が自動で予約されており、意図的にリソースを減らされて ESXi Kernel が不安定になる事を防止するために変更されたものと思われます。

今回はこの値を PowerCLI を利用して変更する方法をご紹介します。

2020年6月12日金曜日

ストレージ性能設計・検証のすすめ② : ストレージの性能を考慮した vSAN ハードウェア構成の組み方

昨年末に書いた vSAN 性能検証の記事の続きで、本当はもっと早めに投稿したかったのですが色々な調整でなかなか纏められずにいた記事です。

本記事で書いている内容は先日の VMware 公式ブログでも紹介があった vSAN を構成するハードウェアに観点を置いた内容となります。
個人的なサイジングの考えが前提だったので、今まではパートナー様やお客様向けの勉強会で紹介していた内容ですが、公式側でも同様の見解でアナウンスが出たので公開する事にしました。


本記事は長文でダラダラと書いていますが、シンプルに本記事で伝えたい事をまとめると、All Flash 構成で大容量の SATA を組み込むときは SATA の特性を理解して欲しい、All Flash vSAN だからって油断して少数の大容量 SATA SSDで組んでしまうと性能が出ない時もあるから注意して欲しい、という内容になります。
「vSAN で思ったような性能が出ないじゃん!」となってしまう前に、本来のハードウェアとしてのサーバー構成の考慮点や、vSAN としてハードウェア性能を最大限に引き出すポイントをご紹介します。

2020年5月18日月曜日

PowerShell 5.1 環境で PowerCLI のインストールエラーが出た時の対処方法 ②(TLS バージョン問題での Install-Module や Register-PSRepository のエラー対応)

先日投稿した PowerShellGet と PackageManagement を新しいものに置き換えることで解決した PowerCLI のインストールできない問題、
調べていたら PowerShell Gallery が 4月から TLS 1.0 / TLS 1.1での接続が不可となり TLS 1.2 が必須となっていたことが原因だったようです。
詳細は以下の Microsoft の公式アナウンスを参照ください。


PowerShell Gallery TLS Support
https://devblogs.microsoft.com/powershell/powershell-gallery-tls-support/

ワークアラウンドとして適用した PowerShellGet 2.2.4.x から TLS 1.2 が強制されるようになっていたのでエラーが回避できた様です。

PowerShell で TLS 1.2 を強制することでの回避方法

先日の環境の PowerShellGet と PackageManagement をそれぞれ初期バージョンの 1.0.0.1 に戻して、TLS 1.2 を強制することで問題が回避できるか確認しました。

※ 公式手順が MS Blog にありましたのでリンクを追記します (2022/11/03)

# 最初に PowershellGet などのバージョンを確認
PS C:\> Get-Module PackageManagement,PowershellGet -list | Select-Object Name,Version,Path

Name              Version Path
----              ------- ----
PackageManagement 1.0.0.1 C:\Program Files\WindowsPowerShell\Modules\PackageManagement\1.0.0.1\PackageManagement.psd1
PowerShellGet     1.0.0.1 C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PowerShellGet.psd1


# この状態で PowerShell Gallery から PowerCLI を見つけることができるか確認

PS C:\> Find-Module -Name VMware.PowerCLI
警告: Unable to resolve package source 'https://www.powershellgallery.com/api/v2'.
PackageManagement\Find-Package : 指定された検索条件とパッケージ名 'VMware.PowerCLI' と一致するものが見つかりませんでした。
登録されている使用発生場所 C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1360 文字:3
+         PackageManagement\Find-Package @PSBoundParameters | Microsoft ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Microsoft.Power...ets.FindPackage:FindPackage) [Find-Package], Exception
    + FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.FindPackage

# エラーになったのでプロトコルを確認

PS C:\> [Net.ServicePointManager]::SecurityProtocol
Ssl3, Tls

# Microsoft の公式ブログにもある手順で TLS 1.2 を設定

PS C:\> [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

# TLS 1.2 が指定されたことを確認

PS C:\> [Net.ServicePointManager]::SecurityProtocol
Tls12

# もう一度 Find-Module で PowerCLI が見つかるか確認

PS C:\> Find-Module -Name VMware.PowerCLI

Version    Name                                Repository           Description
-------    ----                                ----------           -----------
12.0.0.... VMware.PowerCLI                     PSGallery            This Windows PowerShell module contains VMware.PowerCLI
 


手順としては非常にシンプルで、

[Net.ServicePointManager]::SecurityProtocol

で現在のプロトロルバージョンを確認し、古いバージョンの指定のままならば

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

で TLS 1.2 の利用を強制設定すれば今まで通りデフォルトバージョンの PowerShellGet でも PowerCLI のインストール、メンテナンスができました。
セキュリティの観点からも既定値はあらかじめ変えておいたほうが良いかもしれませんね。

また、PowerShellGet 2.2.4.x から TLS 1.2 が強制されるようになっているので、TLS 1.2 を指定したついでにプリインストールされている PowerShellGet も更新してしまうと良いです。

プリインストールされている PowershellGet のアップデート方法


# 現在(プリインストール)の PowerShellGet,PackageManagement のバージョンを確認

PS C:\> Get-Module PowerShellGet,PackageManagement -ListAvailable
    ディレクトリ: C:\Program Files\WindowsPowerShell\Modules
ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Binary     1.0.0.1    PackageManagement                   {Find-Package, Get-Package, Get-PackageProvider, Get-Packa...
Script     1.0.0.1    PowerShellGet                       {Install-Module, Find-Module, Save-Module, Update-Module...}

# PowerShellGet を更新 (プリインストールのものは Update-Module ではなく Install-Module に -AllowClobber オプションを使う)

PS C:\> Install-Module PowerShellGet -AllowClobber -Force

# インストールされたバージョンを確認
# Update-Module ではないので更新さらたバージョンと旧バージョンが両方確認出来る

PS C:\> Get-Module PowerShellGet,PackageManagement -ListAvailable
    ディレクトリ: C:\\Documents\WindowsPowerShell\Modules
ModuleType Version    Name                                ExportedCommand
---------- -------    ----                                ----------------
Script     1.4.8.1    PackageManagement                   {Find-Package, Get-Package, Get-PackageProvider, Get-Packa...
Script     2.2.5      PowerShellGet                       {Find-Command, Find-DSCResource, Find-Module, Find-RoleCap...

    ディレクトリ: C:\Program Files\WindowsPowerShell\Modules
ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Binary     1.0.0.1    PackageManagement                   {Find-Package, Get-Package, Get-PackageProvider, Get-Packa...
Script     1.0.0.1    PowerShellGet                       {Install-Module, Find-Module, Save-Module, Update-Module...}


PowerShellGet が更新できればその後は PowerShell Gallery などへの接続は TLS 1.2 を利用するようになります。


ご参考まで

2020年5月16日土曜日

PowerShell 5.1 環境で PowerCLI のインストールエラーが出た時の対処方法 ①(TLS バージョン問題での Install-Module や Register-PSRepository のエラー対応)

先日、踏み台サーバで利用している PowerCLI のバージョンアップをしようとしたところ Install-Module コマンドが使えず、Register-PSRepository での PowerShellGallery リポジトリの再登録などもエラーとなってしまった際の復旧手順を覚え書きしておきます。

環境

  • Windows Server 2016 Std (10.0.14393)
  • PowerShell Version : 5.1.14393.3471

最終的な対処方法

PowerShell 7.0 (PowerShell Core) をインストールして、そちらで PowerCLI をインストールするか (但し Image Builder など一部は利用できない)、
PowerShellGet と PackageManagement のモジュールをデフォルトの Ver 1.0.0.1 からそれぞれ最新に更新する事で PowerShellGallery の利用が可能に戻りました。

2020/5/18 追記
本事象の根本原因が 4月以降、PowerShell Gallery にて TLS 1.0 / 1.1 での接続を非サポートとし、TLS 1.2 を必須とする変更が入ったことが原因だったようなので、
TLS 1.2 の指定方法などを別記事でまとめました。急ぎ修正する場合は TLS 1.2 を指定して、 Install-Module のオプションで -SkipPublisherCheck を指定することで回避は出来ます。恒久的には TLS1.2 を既定にして、PowerShellGet もアップデートすることが推奨されます。

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