ad1

2021年12月24日金曜日

Software Design 誌 2022年1月号 おうちクラウド 第3回 "仮想化基盤を作ってみよう" おまけコンテンツ

 今回はこのブログではなく、執筆を担当した Software Design 誌 2022年1月号 おうちクラウド 第3回 "仮想化基盤を作ってみよう"  の参照情報をまとめた Github 情報と、以前にコミュニティの LT に登壇した際のスライドへのリンクを共有となります。

この企画は Intel NUC などの小型ベアボーンを利用して VM だけではなく Kubernetes などコンテナ環境に対応した自宅ラボを構築するための Tips を連載で紹介するものですが、第3回では vSphere on NUC にフォーカスを当てて紹介しました。

ぜひ、皆様も "逸般の誤家庭" と呼ばれる HomeLab の沼に足を踏み入れてみてください。
きっと逃げられなくなります。





そして時期も丁度良かったので vExperts Advent Calendar 2021 の 12/24 担当分のネタを兼ねています。

Github 上にまとめたものは以前に VMware DevOps Meetup #10 の LT で紹介した以下の資料を再編した形となりますので以下も併せて参照頂ければ幸いです。 


年末年始の自宅らぼ活動の参考になれば幸いです。

2021年12月20日月曜日

ストレージ性能設計・検証のすすめ③ : 性能試験を実施する際の考慮点

 本投稿、この投稿は、vExperts Advent Calendar 2021 の 12/20 分を担当しています。

元々、一昨年辺りからまとめていた仮想化環境におけるストレージ性能設計、検証方法の考慮点の3つ目のコンテンツの予定だったのですが、ずっと放置していたものをようやく投稿しました。


私なりの vSphere 環境でのストレージ負荷試験時に考慮しているポイントをまとめていますが、ストレージ機器の性能検証をする時の参考にしていただく以外にも、一般的なアプリなどの性能検証時にも共通する部分があるかと思いますのでご一読いただければ幸いです。

ストレージ性能は何を見るべきか?

一般的なストレージ IO 性能を示す値として、IOPS (毎秒あたりの Read / Write の IO 数)、スループット (毎秒あたりの Read / Write のデータ流量)、遅延 ( IO 毎の Read / Write 完了までに要する時間)があげられます。

その性能を提供するために必要となるコントローラやドライブの選定し、組み合わせて検証を行いますが、IO そのものの性能以外にも IO 性能を出す際のストレージコントローラやドライブなどの利用率・負荷、サーバーのシステム利用率など実際の利用下での負荷状況の予測値がまずは見るべきポイントと考えています。


メーカーのストレージの性能情報や、各種 IT インフラの RFP・仕様書を見てみると「IOPS」の数字だけが独り歩きしている事が多々あります。

どんな条件下での IOPS なのか、その IOPS を出している時のシステムは余裕があるのか、限界ギリギリなのかで状況は大きく異なってきますのでそれ以外の指標をしっかりと把握する事が重要です。

私のストレージ性能を計測して、サイジング・設計に落とし込む順序は、

  1. Max 負荷の IOPS・スループットがどの程度か、様々な IO パターンで限界性能の測定
  2. Max 負荷を把握したらその値を上限に徐々に IO 負荷を上げていき、IO 遅延の変化とシステム負荷を計測
  3. 遅延とシステム負荷の傾向が把握出来たら、健全と判断できる数値内でのサイジング

この順序で各種パターン検証と考察を行い、実際に必要なサイジングに反映します。
※ アプリケーション開発などと絡む場合は高負荷な限界状態での稼働確認テストや、長時間負荷や温度などを変えた耐久テストなどもありますが、今回は対象から外しております。

IOPS だけを見て性能要件とすると多くのストレージ選定は失敗するのでご注意ください。


※ 今回ご紹介する検証の考え方は、メーカーが Max 性能を引き出す際のベンチマークの掛け方とは異なります。とにかく高い IO 性能を出すためのベンチマークツールの使い方やチューニング方法はそれぞれのベンチマークツールの使い方の公式ガイドなどに例があるのでそれらをご参照ください。

2021年9月29日水曜日

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

VMWorld 2021 が来週から始まりますが、それに合わせて vSphere の最新アップデートとなる vSphere 7.0 Update3 / vSAN 7.0 Update3 の情報がリリースされました。
※ ダウンロード可能になるのは VMWorld もあるので恐らく来週以降。

※ vSphere 7.0 Update3 に関しては重大な不具合が発覚し一旦差し戻しとなっております。Log4j 脆弱性に対する修正等が適用された、2022/1/27 にリリースされた vSphere 7.0u3c (vCenter 7.0u3c / ESXi 7.0u3c) 以降を必ずご利用ください。

公式のアナウンスはこちら

今回も個人的に興味を持っている機能強化についてご紹介したいと思います。

今回も長文となってしまったので、それぞれのページ内リンクはこちらから

その前に、

-- 宣伝 --

VMWorld 2021 が来週 10/5 から開催されますが、今年も VMWorld Japan も 11月25日 ~ 26日にオンラインで開催予定です。


私も 11/25 (木) 12:50-13:30 に
MC11110 : VMware Cloud Foundation, VMware vSAN HCI インフラ設計 Deep Dive  : 解説 マルチクラウド時代の VMware vSphere クラスタ鉄板構成
というセッションでお話しさせていただく予定です。
お時間よろしければぜひ皆様の今後の仮想化インフラの設計の参考にご視聴頂ければ幸いです。

-- 宣伝終わり--

詳細は最初にリンクを記した公式 Blogs や Core TechZone の Blogs 記事にありますのでそれら参照願います。また、VMWorld 2021 でも詳細解説のセッションがありますのでそれらもぜひご覧ください。

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年7月の BIOS | UEFI Update 1.43 / ECP: 1.40 <ThinkPad X1 Nano BIOS アップデート> にて、S3 Sleep が可能になっています。S0 Sleep (モダンスタンバイ) 問題を手っ取り早く回避するには S3 Sleep を選ぶのも良いかもしれません。

詳細は以下にまとめてあります。

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

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日でアクセスの多い投稿