VMware / Microsoft 製品はこう使う。

好きなことを好きに描く.

ESXi5.1~5.5がインストールされたマシンでNICの交換は大丈夫なの?

今回はあるあるネタを綴ります。

 

ESXi5.1~5.5を運用していると、当然ながらハードウェア障害に遭遇することがあります。
CPU,マザーボード,NIC,HDD,SSD 挙げだすと、山ほどあるわけですが、
今回はNIC を交換したときの影響について書きたいと思います。

ESXiでは、物理NICのことを 「vmnic」と言います。

 

まず始めに、結論から申し上げるとESXiはハードウェア的にNICを交換しても、
基本は影響を受けません。一部例外もありますが、順に記載してきます。

NICの交換でハードウェア的に変更されるものは、ESXi観点からは
MAC Address、SerialNo , デバイス ID あたりかと思います。
(同じNICと交換することを想定しています)

Windows であったりLinuxでは、NICを交換すると別の新しいNICという扱いになるため、再設定が必要です。

特にMAC Addressが変更されると、ロードバランサーを使っている環境や、
ファイアーウォールを使っている環境では、MAC Addressで識別して動作させていることも少なくありません。そこでまずはMAC Address観点で影響を受けない理由から記載していこうと思います。


【影響を受けない理由1】
ESXi 上で稼働する仮想マシンに装着されているvNIC はそれぞれ固有に
MAC Addressを保持しています。そのため、物理NIC(vmnic)のMAC Addressを利用していないため、仮想マシンは、物理NIC交換の影響を受けません。

vSphere Web Client から仮想マシンの編集画面を見ると確認できます。
もちろん vSphere Client からでも確認ができます。
(私の環境がvCenter6.5なので見れませんが)

f:id:japan-vmware:20161204141319p:plain

 

◆vmkernel ポートすらMAC Addressを持っている
仮想マシンが固有のMAC Addressを保持しているのは上記の画像でお分かりいただけると思います。

そして、ESXi とって重要なvmkernel ポート もそれぞれMAC Addressを保持しています。
(vmkernelポートは HA,iSCSI接続,vMotion等で使われる仮想ポートです) 

f:id:japan-vmware:20161204203554p:plain

 

◆つまり
ESXiは、物理NIC(vmnic)のMAC Address を使用して外部と通信していないため、
物理NIC 交換後に物理NICMAC Addressが変更されてしまっても、影響を受けず、
外部と通信することが可能です。
イメージとしては、vmnicは通信をパススルーさせてるだけという感じです。

 

【影響を受けない理由2】
ESXi 5.1、5.5 のvmnic番号の割り振り動作について理解してみるといいと思います。
ESXi はOS起動毎にvmnic番号を割り振っていて、
サーバーが認識したPCI IDから順にESXi は自動的にvmnic 番号を割り振ります。
そして、割り振られたvmnic番号は/etc/vmware/esx.conf ファイルに書かれます。
ポート数が同じNICとの交換、そして同じ PCIスロット上にあると認識されれば(同じスロットに挿せば)、基本的には同じvmnic番号で認識されます。
vmnic番号が変更されなければ、従来通りのvSwitchに接続されます。
そのため、影響を受けないということになります。
(参考)
+ESXi/ESX host loses network connectivity after adding new NICs or an upgrade
https://kb.vmware.com/kb/2019871

esx.confにはこんな感じで記録されています。
--------------------------------------------
/device/00000:002:00.1/vmkname = "vmnic1"
/device/00000:002:00.0/vmkname = "vmnic0"
--------------------------------------------

※4ポートのNICを2ポートのNICに交換した場合は、
 vmnic番号が歯抜けになります。番号を振り直したい場合は、
 KBの通り、BIOS からvmnic0以外のNICを全て無効化し、
 サーバーを再起動したあと、認識したい順にBIOSから有効化していきます。
 vmnicの数だけ再起動していきます。

 

NICのベンダーが変わっても同じ動作になります。

 

ESXi6.0以降は実際に試したことがないので、なんとも言えませんが、
おそらく同じ動作になるのではないかと思っています。(推測)

 

参考になると幸いです。

 

 

 

 

VMware KB 2147739 (ESXi 5.5 and 6.x hosts hang after running for 85 days.)

Hi, everyone.

 

VMware vSphere has also new released vmware kb 2147739 .

This is very Critical Issue.However , This is not a VMware issue.

+ ESXi host or virtual machine hangs after approximately 85 days
https://kb.vmware.com/kb/2147739

 

This issue is caused by a QLogic HBA Adapter Firmware problem introduced in Firmware v8.01.00 causing Read Diagnostic Parameters (RDP) between FC Switch and HBA adapter to fail.
By default, the RDP routine is initiated by the FC Switch and occurs once every hour. After 2048 (~85 days)

consecutive RDP failures the HBA Adapter will become stalled which causes the virtual machine and\or ESXi host to fail.

 

My Customer was all ESXi hosts is down and a few VMs is no responsed.
Be careful.


Thanks,


【ESXiホストの動作が不安定になったとき - ATS Heartbeat の無効化を検討してみる - VMware KB 2118921 】

こんにちは。

 

ESXi5.5 Update 2 以降でESXi の動作が不安定であったり、
仮想マシンの動作が不安定になったときには、
いろいろな観点で切り分けを行おうとすると思います。


今回ご紹介するのはVMware KB 2118921 です。

(日本語)ESXi ホストが VMFS3 および VMFS5 データストアから切断される (2118921)
https://kb.vmware.com/kb/2118921

(英語)ESXi host loses connectivity to a VMFS3 and VMFS5 datastore

https://kb.vmware.com/kb/2113956

このKB だけみてもワカラナイこともあると思いますので、少し解説します。


まず、次の内容が単体で稼働するESXi5.5 Update 2 以降のマシン、もしくはクラスタで
発生した場合は、このKB を見てみるといいことがあるかもしれません。

・vCenter Server 配下のクラスタ全体で動作が不安定
・ESXiホストが vSphere vCenter から切断される
・仮想マシンのディスク I/O 操作が不安定、もしくはハングする



これらの事象が発生したとき、正直なところ運用担当者としては ”勘弁してほしい" と
思うでしょう。私だって思います(汗


では、内容に入ろうと思いますが、この事象(VMware KB)が影響を及ぼしている機能は、
ESXi 5.5 Update 2 以降で実装された ATS(Atomic Test and Set) です。

 

ATS(Atomic Test and Set)とは?
まず参考になる資料はこちらです。

https://pubs.vmware.com/vsphere-50/topic/com.vmware.vsphere.storage.doc_50/GUID-DE30AAE3-72ED-43BF-95B3-A2B885A713DB.html


ESXi5.5 Update 2 以降からAtomic Test and Set という機能が実装されました。
これは、従来行っているSCSI Reservation を利用してストレージを利用するのではなく、
Atomic Test and Set(ATS)と呼ばれるアルゴリズムを用いて小さいファイル単位でファイルをロックするため、これによりSCSI  Reservation よってディスクI/O待ちと
なった問題が最小限に抑えられ、処理が向上するようになっています。

ご存知のとおり、VMFSは複数のホストから共有できる優れたファイルシステムですが、ストレージを共有している以上は、整合性を保つ必要があり、
データの一貫性を保つためにVMFSのメタデータ領域に対して排他制御が行われます。


例を挙げると従来行っているSCSI Reservation を利用した場合、
LUN単位でロックし排他制御が行われるため
同じLUNを利用している仮想マシン全てが待たされます。

一方でATSでは、LUN単位ではなくロック対象のセクタのみ排他制御を行いますので、
排他制御の影響を受ける仮想マシンを大幅に減らすことが可能です。
これによりSCSI Reservation の衝突が発生し性能(パフォーマンス)が劣化するという
問題を解消し、効率の良い排他ロック機能を提供するため、
SCSI Resetが発生しづらい状況にもなります。


この機能は、ハードウェア アクセラレーションをサポートするストレージ デバイスを
利用している場合に利用可能です。(ハードウェアオフロードとかいう言い方も)


しかし、この機能により、ESXi カーネルがストレージ システムに発行する ATS コマンドの量が大幅に増え、
ストレージ システムへの負荷が増え、場合によっては、ATS を使用する VMFS へのハートビートが
うまく動作せず失敗し、ESXi カーネルが VMFS データストアへのアクセスを再検証を繰り返す結果になることがあります。
これにより、データストアへの接続が切断されたり、切断されてすぐに接続されるなどの不安定な状況になることがあります。

こういったときは一度ATS heartbeat を無効化してみるといいかと思います。

この部分はVMware KB に記載されている以下のコマンドをESXiにSSH接続して
実行することで無効化が可能です。日本語版も英語版もコマンドに間違いはありませんでした。

esxcli system settings advanced set -i 0 -o /VMFS3/UseATSForHBOnVMFS5

 

実行例を記載します。
まずは、現在の状況を確認し、ATS有効化になっていることを確認。
■画像

f:id:japan-vmware:20161128000621p:plain■テキスト
esxcli system settings advanced list -o /VMFS3/UseATSForHBonVMFS5

Path: /VMFS3/UseATSForHBOnVMFS5
Type: integer
Int Value: 1
Default Int Value: 1
Min Value: 0
Max Value: 1
String Value:
Default String Value:
Valid Characters:
Description: Use ATS for HB on ATS supported VMFS5 volumes

==========

 

ではATS heartbeat を無効化します。

■画像

f:id:japan-vmware:20161128001354p:plain

■テキスト

esxcli system settings advanced set -i 0 -o /VMFS3/UseATSForHBOnVMFS5
esxcli system settings advanced list -o /VMFS3/UseATSForHBonVMFS5
Path: /VMFS3/UseATSForHBOnVMFS5
Type: integer
Int Value: 0
Default Int Value: 1
Min Value: 0
Max Value: 1
String Value:
Default String Value:
Valid Characters:
Description: Use ATS for HB on ATS supported VMFS5 volumes

==========


また、判断材料の1つとしてvmkernel.log を見ることも有効です。
vmkernel.log にこのような記録が多く確認できることがあります。
====================
2016-xx-xxTxx:xx:xxx.xxxZ cpuxx:xxxxx)ScsiDeviceIO: xxxx: Cmd(0x4136c3d842c0) 0x89, CmdSN 0x1088c from world 32797 to dev "naa.xxxxxxxxxxxxxxxxx082xxx" failed H:0x5 D:0x0 P:0x0 Possible sense data: 0xe 0x1d 0x0.
====================

この Sense data : 0xe 0x1d 0x0  がVMware KBに記載されている以下の内容と一致します。
====================
/var/log/vmkernel.log ファイルに、ATS の不一致を示す次のようなエラー メッセージが記録される。
2015-11-20T22:12:47.194Z cpu13:33467)ScsiDeviceIO: 2645: Cmd(0x439dd0d7c400) 0x89, CmdSN 0x2f3dd6 from world 3937473 to dev "naa.50002ac0049412fa" failed H:0x0 D:0x2 P:0x0 Valid sense data: 0xe 0x1d 0x0. 
====================


Hewlett-Packard Enterprise からはStorage観点でもドキュメントが公開されていました。
+ Array Host Disconnects While Running VMware vSphere 5.5 Update 2 and Later
http://h20564.www2.hpe.com/hpsc/doc/public/display?docId=c05228694

 

もし、障害に困っている方がいらっしゃれば、
お試し頂けると幸いです。

 

私の備忘録として記事を書きましたがどなたかに見てもらえると嬉しいです。

 

オワリ

 

VCSA6.5 - vCenter Server Appliance 6.5 をデプロイして使えるようにする。

こんにちは。

 

vCenter Server Appliance 6.5 がリリースされているので、
使えるようにするまでの流れです。

 

新しくインストールウィザードが刷新されていますし、
OSも異なるLinuxに変わっています。(Photon Linuxというらしい…)

f:id:japan-vmware:20161124205239p:plain

Photon OS™ by VMware®

 

それでは新規インストールの画面です。
VMwareのサイトからISOイメージをダウンロードし、
ISOイメージをESXiと通信可能なPC上でマウントして、インストーラーを実行します。

マウントしたインストーラーがFドライブである場合の例はこちら。
例)"F:\vcsa-ui-installer\win32\installer.exe"

また、インストール方法のreadme.txt がここにあります。
例)"F:\readme-ja.txt"

 

では、「"F:\vcsa-ui-installer\win32\installer.exe"」を実行します。
新規インストールの場合は、「Install」ボタンをクリックします。

f:id:japan-vmware:20161124022841p:plain

 

 「Next」をクリックします。

f:id:japan-vmware:20161124022909p:plain

 「vCenter Server with an Embedded Platform Service Controller」を選択して
「Next」をクリックします。
私が知る限り、あまりPlatform Service Controllerを外部(External)にしている方は少ないように思います。(vSphere6.0のとき)

f:id:japan-vmware:20161124022930p:plain

 

vCSA6.5 をデプロイする先の指定です。今回vCenter Server が既に存在する環境へ
vCSA6.5をデプロイするので、vCenter Server の情報を入力しています。

f:id:japan-vmware:20161124023303p:plain

 

証明証の警告がでますが、気にしません。

f:id:japan-vmware:20161124023319p:plain

 

 デプロイ先を指定します。

f:id:japan-vmware:20161124023356p:plain

 

デプロイ先のESXiを指定します。

f:id:japan-vmware:20161124023458p:plain

 

VCSA6.5 の仮想マシン名と root パスワード入力します。

f:id:japan-vmware:20161124023527p:plain

 

「Tiny」でデプロイしても、2 vCPUs , メモリ10GB使います。
正直かなりキツイです。

f:id:japan-vmware:20161124023554p:plain

 

vCSA6.5の仮想マシンのネットワーク設定です。

f:id:japan-vmware:20161124024129p:plain

 

デプロイ開始です。

f:id:japan-vmware:20161124024204p:plain

 

だらだらと待ちます。

f:id:japan-vmware:20161124030206p:plain

 

Platform Service Controllerのデプロイが完了しました。

f:id:japan-vmware:20161124030446p:plain

 

続いて、VCSA6.5のセットアップの続きです。

f:id:japan-vmware:20161124030608p:plain

 

デフォルトでは、SSH は無効になっています。(画面上では設定変更してます)
また、NTPServer を設定するようにデフォルトではなっていますが、
ESXiホストと同期するように設定変更することができます。
f:id:japan-vmware:20161124030633p:plain

 

SSOの設定です。
vCenter Server 6.0のときと変わらないパラメータです。

f:id:japan-vmware:20161124030743p:plain

 

次へ進みます。

f:id:japan-vmware:20161124030756p:plain

 

ネットワーク設定を完了させるため、「Finish」をクリック。

f:id:japan-vmware:20161124030903p:plain

 

もう戻れませんよ と脅されます。
「OK」をクリック。

f:id:japan-vmware:20161124031008p:plain

 

デプロイ開始します。

だらだらと待ちます。

f:id:japan-vmware:20161124031035p:plain

 

完了しました。

f:id:japan-vmware:20161124091113p:plain

 

[Close]ボタンを押すと、既定のブラウザからアクセスされます。(親切)

f:id:japan-vmware:20161124092100p:plain

 

vSphere Web Client (Flash)をクリックし、
SSOで設定したアカウント 「Administrator@vSphere.local」でログインしました。

f:id:japan-vmware:20161124092426p:plain

 

 

以上になります。

ここからは以前までのvCenter Server の操作と同じです。

ライセンス適用するなり、ESXiホスト追加するなり、順次操作していくことになります。

 

【補足】

作業時間としては1時間弱というところでした。

あまりコケるポイントも無く、すんなりデプロイから設定まで終えることができました。

 

おわり

【ESXiのバージョンアップはiso をブートさせると楽】ESXi6.0 -> ESXi6.5 も同じでした。

こんにちは。

 

ESXiのバージョンアップをする流れをご紹介します。
手元の環境をESXi6.0からESXi6.5にバージョンアップしてみましたが、
従来の方法とバージョンアップ方法に差異はありませんでした。

 

これから書く内容は、ESXi5.5 から ESXi6.0 へのバージョンアップ時の画面キャプチャになりますが、ESXi6.0からESXi6.5 へのバージョンアップ時も同じ方法なので、参考にして頂ければと思います。

 

また、各サーバーベンダーが提供するesxiのカスタマイズメディアからインストールされた環境であれば、必ず同じサーバベンダーのカスタマイズメディアの新しいものでバージョンアップするようにしてください。

 

稀に、初回のインストール時はサーバベンダーのカスタマイズメディアでインストールしているのに、バージョンアップのときだけvmware標準のメディアでバージョンアップしている環境を見かけます。

 

間違いではないのですが、vmware標準のメディアでバージョンアップしてしまうと、サーバベンダーがカスタマイズメディアに仕込んだdriverやサービス達が、置き去り(古いバージョンのまま)になってしまいます。

可能な限り同じ提供元からのメディアでバージョンアップすることをお勧めします。

 

※修正パッチは例外です。vmwareのサイトにある修正パッチはベンダー依存しないものがほとんどです。状況に応じて確認するようにお願いします。

 

では、手順に入ります。

まず、サーバーにISOメディアをマウントしてブートさせます。

f:id:japan-vmware:20161123203335p:plain

 

Enterキーを押すと、モジュールのロードが始まります。

f:id:japan-vmware:20161123203450p:plain

f:id:japan-vmware:20161123203526p:plain

f:id:japan-vmware:20161123203624p:plain

 

起動が終わると同意画面がでます。

f:id:japan-vmware:20161123203712p:plain

 

どのディスクにインストールするか、もしくは既存のESXiをUpgrade するかを選択します。
今回はUpgradeですので、既にESXiがインストールされているディスクを選びます。

f:id:japan-vmware:20161124011512p:plain

 

スキャンが始まります。

f:id:japan-vmware:20161124011733p:plain

 

既存のESXiが見つかれば「ESXi and VMFS Found」の画面が表示されます。
「Upgrade ESXi, preserve VMFS datastore」を選択します。

f:id:japan-vmware:20161124011825p:plain

 

待たされます。

f:id:japan-vmware:20161124012027p:plain

 

古いバージョンのVMFSディスクが接続されている場合は、
警告を出してくれたりします。

f:id:japan-vmware:20161124012142p:plain

 

確認画面が出るので、「F11」キーを押下します。

f:id:japan-vmware:20161124012204p:plain

 

ただただ待ちます。

f:id:japan-vmware:20161124012254p:plain

 

完了しました。

f:id:japan-vmware:20161124012400p:plain

待たされます。

f:id:japan-vmware:20161124012420p:plain

 

この後、再起動が実施され、完了になります。

 

トータルの時間はだいたい30分弱といったところです。

 

バージョンアップが容易なのもESXiの良いところですね。

 

おわり

 

vCenter Server 6.5 - vSphere Client (HTML5) を見る。

こんにちは。

 

vSphere 6.5がリリースされ、vCenter Server 6.5 には、
新しいvSphere Client が機能限定で追加されています。

手元の環境をvCenter Server 6.5 にバージョンアップしたので、
もし参考になれば幸いです。

 

vCenter Serverにブラウザからアクセスします。
「vSphere Web Client(Flash)」は以前のバージョンから存在するものです。
新しく追加された「vSphere Client(HTML5)」をクリックします。
<https://FQDN/>

f:id:japan-vmware:20161121005026p:plain

以前とほとんど変わらないログイン画面です。

f:id:japan-vmware:20161121005317p:plain

 

ログインすると、今ままでみたことの無いデザインの画面になっています。
最近こういうUI流行っていますね。
Microsoft Azure の管理ポータルもこのような感じですし、
HPEの3PARやHPE OneViewなどもこのような画面になってきていますね。
HTML5 なので、Flash を利用していない分、操作していてモッサリした感じは、
すごく解消されているように感じました。画面の配列も直感的で良いと思いました。

f:id:japan-vmware:20161121094636p:plain

 

ESXiホストをクリックしたときの画面です。
サマリタブは、Flash 版と変わらないデザインかなと思います。

f:id:japan-vmware:20161121010143p:plain

 

 

[監視] タブです。

f:id:japan-vmware:20161121010503p:plain

 

 

設定タブ です。
仮想スイッチの部分はすごくよく使うので見てみたところ、
従来のC#版のvSphere Client よりわかりずらい...
あまり優しくないUIになってきていますね。
f:id:japan-vmware:20161121010704p:plain

 

仮想マシンタブはあまり刺激的な変化はありません。

f:id:japan-vmware:20161121010944p:plain

 

データストアタブ です。
データストア名を右クリックするとコンテキストメニューが表示されます。
あまり [ファイルの参照] はいわゆるデータストアブラウザです。

f:id:japan-vmware:20161121011033p:plain

 

データストアブラウザとは言わないようですが、
従来通りの操作感で利用できそうです。

f:id:japan-vmware:20161121011230p:plain

 

 

ネットワークタブです。

f:id:japan-vmware:20161121011358p:plain

 

 

すっかり忘れていましたが、ホーム画面です。

f:id:japan-vmware:20161121011454p:plain

 

C#版vSphere Client に画面のレイアウトを近づける努力をしているように見えます。

ただ、まだ機能限定なので、残念ながら  "ライセンス管理機能がない!"

ということで、vSphere Web Client から操作お願いしますね。

 

 

何かフィードバックすることがあれば、
ブラウザ右上の顔のマークをクリックしてみてください。

f:id:japan-vmware:20161121011738p:plain

感想を送れるみたいですよ。(日本語を理解してくれるか不明ですが)

f:id:japan-vmware:20161121011825p:plain

 

【感想】

操作する上でHTML5版はすごくきびきび動いてくれるので、ストレスフリーでした。
はやく完全版としてリリースされればいいなぁと思います。

ただ、私含め、サポートの方や構築する方からすると、
新しいものになったことで手順書を更新しなければいけなかったり、
顧客への説明もあるでしょうから、なかなか面倒ではありますよね。


時代の流れなので、あきらめましょう!

 

それでは今回はこのへんで。