2015年7月1日09:00の「うるう秒」とWindowsの時刻同期などなど

今年、2015年7月1日にうるう秒がありますね。

http://internet.watch.impress.co.jp/docs/news/20150501_700381.html
「うるう秒」まであと2カ月――7月1日午前の「8時59分60秒」挿入に備えて確認を -INTERNET Watch



原子時計を基準とする原子時に対し、地球の公転や自転を基準にする天文時が少しずつ遅れているため、数年に一度「うるう秒」を挿入して調整します。
今年の7月1日のUTC 00:00:00にうるう秒が挿入されます。(JSTで09:00:00)

こんな感じです。(JST)
2015/7/1 08:59:58
2015/7/1 08:59:59
2015/7/1 08:59:60 ←挿入される「うるう秒」
2015/7/1 09:00:00
2015/7/1 09:00:01

これ、コンピューターシステムの世界ではちょいちょい問題になるんですよね。
特にLinuxではカーネルバージョンやntpdのパッケージバージョンによっては、OSがハングアップするなどの様々な問題が実際に発生するみたいです。(うるう秒対応の仕様や、実装上のバグなどが絡んでいるみたいですが)

WindowsはOSレベルでは問題はありません。
Windowsでは、うるう秒は無視してシステム時計が進んでいくので、うるう秒に対応したNTPと比較すると、09:00:00には1秒進んだ状態になります。
しかし次回の時刻同期の際に時計が1秒戻されて、NTPサーバーと一致します。

この「1秒戻す」ですが、時計を逆戻りさせて一気に一致させるか(Stepモード)、それとも時計の進み方を少しだけゆっくりにして徐々に補正するか(Slewモード)は、設定によります。

またSQL ServerOracle Databaseなどの主要なソフトウェア(ミドルウェア)は、基本的にはうるう秒の影響は受けません。
内部的には連番で管理され、トランザクションの処理中に時計が進んだり戻ったりしても、処理は正しく継続します。
ただし時刻を指定してリカバリするような処理など、一部は影響が発生する場合もあるようです。
また当然ですが、データベースのデータ型としての「時分秒」に、「60秒」をセットするとデータを書き込む際にエラーとなります。
データベースの時刻型は、うるう秒を意識していない(想定していない)からです。

Windows関連の情報

http://support.microsoft.com/kb/2722715/ja
うるう秒に関するサポートについて
http://support.microsoft.com/kb/909614/ja
うるう秒に関する Windows タイム サービスの処理
http://support.microsoft.com/kb/939322/ja
高精度の環境に向けた Windows タイム サービスの構成を目的とするサポート範囲
http://support.microsoft.com/kb/2722681/ja
Windows Time サービスにおける時刻同期の仕組み



VMware関連の製品ですが、アプライアンスであるvCenter Server Applianceの一部バージョンではうるう秒の影響があるようです。
これはアプライアンスに組み込まれているOSである、 SUSE Linuxが原因のようです。
VMware ESXiや、Windows版のvCenter Serverは問題ありません。

VMware関連の情報

http://kb.vmware.com/kb/2115818
VMware KB: Support for leap seconds in VMware Product



Oracle DatabaseはKROWNに掲載されているので、詳細については触れません。
例えば、こんなドキュメントとかを見てください。
KROWN:33273 うるう秒について
KROWN:16785 システム時刻の変更にともなう注意点

Linuxは私の専門外なので、割愛します。


さてここからは、とあるシステムでのうるう秒の影響を調査していて出てきた話です。
なんと「時計が逆戻りすると動作に問題が出るアプリケーション」がありました。
システム全体の窓口SE、パッケージを担当するSE、製品部門、お客様、いろんな立場の人と話しましたが、皆さんは「時計を逆戻りしないようにして」と簡単に言います。

でも、(うるう秒は関係なく)時計はずれるものです。
ずれる、時計を合わせる、ずれる、時計を合わせる。これを繰り返します。
時計をずれなくする魔法はありません。

対象のサーバーを調べましたが、数年運用してみて、時計のずれが多い時は10数秒程度でした。
NTPによる時刻同期を設定していれば、まあそんなもんでしょう。
Windowsでワークグループ環境なら、既定値ではずれが1秒を超えたら一気に時計を合わせます。
それ以内なら、時計を少し早目に進め(または少しゆっくりと進め)、徐々に時刻を補正します。

だからアプリケーションがシステム時計に対し、「時計を逆戻りしないように」を要求するのは現実的には無理な要求です。
時計を逆戻りしない範囲を、標準の1秒から、例えば5分とか10分に変更する事は出来ます。
それでも、その範囲を超えたら結局は一気に時計を戻します。
この範囲を極端な話、たとえば1日にしてもいいのですが、こんなにずれたら事実上いつまで待っても時計が合わないままになります。
(LinuxのSlewモードでは1秒の補正に2000秒。Windowsの補正度合は非公開)

Windowsの時刻同期のSlewモードとStepモードについては、この記事が参考になります。

http://blogs.technet.com/b/jpntsblog/archive/2012/12/28/slew-step.aspx
Windows Time サービス - Slew モードと Step モード - - Ask the Network & AD Support Team - Site Home - TechNet Blogs
http://blogs.technet.com/b/jpntsblog/archive/2013/02/28/step.aspx
絶対 step モードで時刻同期させたくない場合の設定方法について - Ask the Network & AD Support Team - Site Home - TechNet Blogs



以下、あるソフトウェアに対する愚痴です。

システム時計はハードウェアクロックと、OSの時刻同期の仕組みで動作します。
最近ではVMwareなどの仮想マシンが主流なので、さらにVMware ToolsによるESXiホストとの時刻同期なども加わり、時計合わせも複雑です。

最近調べたあるLinux仮想マシンは、予期せずにntpdが起動しない状態で運用され、数分も時計がずれていました。
ハード故障、人的ミス、ネットワーク障害、予期しないサービスの停止などで、時計が大きくずれる可能性はいつでもあります。

某パッケージソフトは「システム時計が進んでしまったら、実際の時刻(NTPサーバー)がそれに追い付くまでサービスを停止したままにし、時刻が追い付いたらサービスを開始する」が解決策として書かれていました。

これが何を意味するか分かりますか?
そう、こんな運用をしろって事です。
・時計が1時間ずれたら、1時間サービスを停止したままにする。
・時計が1日ずれたら、1日サービスを停止したままにする。
・時計が1か月ずれたら、1か月サービスを停止したままにする。

時刻同期が正常にできていればこんな事は無いのですが、予期しない障害で時計が大きく進んだら、長期間に渡って業務を停止しなければならない事になりますよね。
これは単なる「制限事項」では片づけられない、致命的で重大な不具合です。
よくこんな製品を世に出したと思う。これを知った時はショックで声も出なかった。
ほんと、改善して欲しい。

テーマ : Windows
ジャンル : コンピュータ

VMware ESXiでデータストアをiSCSIでマルチパス接続にする

私は今までVMware ESX/ESXiのデータストアは、基本的にはFC接続の共有ディスクストレージに配置する構成で提案し、構築してきました。
小規模構成や検証環境用にESXiホストの内蔵RAIDにデータストアを配置したこともありますが、これは例外的であり、基本的にはFC接続でやってきました。

しかし今回、私自身初となるiSCSI接続の構成で構築する事になりました。

本番環境なので当然iSCSIの接続パスは二重化します。
ESXiホスト(Management Network)や仮想マシンのネットワーク(VM Network)を冗長化するのは簡単で、vSwitchにLANカード(vmnic)を複数割り当てれば自動的にチーミングされますね。
しかし調べてみるとデータストアへのiSCSI接続を冗長化する場合はチーミングではなく、マルチパス接続が推奨、と言うか実質的にはマルチパス接続が必須のようです。

(写真1)今回の構成の概要
今回の構成の概要
今回の構成の概要です。
ESXiホストが2台、共有ストレージ装置が1台。
ストレージ装置のRAIDコントローラーも二重化し、iSCSI接続経路も二重化。
iSCSIはスイッチ無しのLANケーブル直結。

(写真2)iSCSIのマルチパス接続
iSCSIのマルチパス接続
iSCSI接続についてもう少し詳しく書いた図です。
VMKernelに含まれるiSCSIソフトウェアイニシエーターを利用。
vmk0、vmk1とvSwitch、vmnic、ストレージ装置のiSCSI用のLANポートに関する接続の経路を明確に図に表わしてみました。
各パスごとにネットワークセグメント(IPサブネット)を分離すると、経路が明確になるので望ましいようです。

これからもう少し調べて、設計フェーズで明確にしていきたいと思います。

(参考)

https://communities.vmware.com/people/gowatana/blog/2013/01/04/esxi-%E3%81%A8-windows-iscsi%E3%83%9E%E3%83%AB%E3%83%81%E3%83%91%E3%82%B9%E3%81%AE%E3%82%BF%E3%83%BC%E3%82%B2%E3%83%83%E3%83%88%E6%A7%8B%E6%88%90%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
にほんごVMware: ESXi と Windows-iSCSI マルチパスでのターゲット構成... | VMware Communities
http://www.unix-power.net/vmware/iscsi_port_binding.html
VMware ESXi5.5 iSCSI Port Bindingの設定
http://www.atmarkit.co.jp/ait/articles/0910/13/news133_4.html
VMware vSphere 4徹底解剖(3):VMware vSphere 4のストレージ機構(1) (4/4) - @IT

テーマ : VMware
ジャンル : コンピュータ

VMware上でActive Directoryのドメインコントローラーを仮想化する事に関する記事などのメモ

VMwareのブログで、Active Directory Domain Services、つまりドメインコントローラーをVMware上で仮想化する事に関する記事のメモです。

60ページを超えるPDFドキュメントがリリースされています。

http://blogs.vmware.com/apps/2014/01/just-published-virtualizing-active-directory-domain-services-on-vmware-vsphere.html
Just Published - Virtualizing Active Directory Domain Services On VMware vSphere[m:218] | Virtualize Business Critical Applications - VMware Blogs
http://www.vmware.com/files/pdf/solutions/Virtualizing-Active-Directory-Domain-Services-on-VMware-vSphere.pdf
Virtualizing Active Directory Domain Services On VMware vSphere


Active Directory関連のカテゴリのブログです。

http://blogs.vmware.com/apps/active-directory
Active Directory | Virtualize Business Critical Applications - VMware Blogs


この記事によると、VMware ESXi 5.1またはVMware ESXi 5.0 Update 2、vCenter Server 5.1またはvCenter Server 5.0 Update 2以降でVM-Generation IDに対応しているようです。

http://blogs.vmware.com/apps/2013/01/windows-server-2012-vm-generation-id-support-in-vsphere.html
Windows Server 2012 VM-Generation ID Support in vSphere | Virtualize Business Critical Applications - VMware Blogs


例によって英語は超苦手なため、私にはもうこれが限界です。
PDFの「Virtualizing Active Directory Domain Services On VMware vSphere」も開いてみましたが、英語が難しくて頭に入らない。。。

VMware ESXi 5.xのバージョンとエディションによる機能の一覧表

VMwareのサポート技術情報に、こんなのがありました。

http://kb.vmware.com/kb/2073973
VMware KB: vSphere 5.x プロダクト提供


VMware ESXi 5.0、5.1、5.5の各バージョンで、エディションごとの機能の一覧です。
新バージョンが出た時に、たとえば「仮想マシンあたり最大で○vCPU」とアピールしても、ものすっごく調べてみて実はEnterprise Plusだけが可能で、それ以下のエディションではもっと少ないvCPU数だったりすることが多々あります。

だから提案時点でエディションを意識して構成を検討し、お客様に正しい情報提供をするためには、この表はとても重要ですね。

たとえば仮想マシンに32vCPUが必要な場合、バージョンによって必要なエディションはこんなに違いがあります。
VMware ESXi 5.0ならEnterprise Plusが必要
VMware ESXi 5.1ならEnterpriseで可能
VMware ESXi 5.5ならStandardで可能(※1)

(※1)
上記Webページの表で、VMware ESXi 5.5の最大vCPU数は以下の注釈があります。
「注: vSphere 5.5 の最大 Virtual SMP の詳細については、 Licensing for vSphere 5.5 (2064117) を参照してください。」
つまりこれを見ろと。


http://kb.vmware.com/kb/2064117
VMware KB: Licensing for vSphere 5.5


KB2064117の文書には、以下のように書いてあります。
There are no restrictions on the number of vCPUs per virtual machine

これって、「仮想マシンあたりのvCPUの数に制限はありません」って意味?
気になってVMware vSphereをOEM提供する某メーカーの資料を確認すると、EssentialsからEnterpriseまでのエディションも制限を解除され、Enterprise Plusと同じ64vCPUが可能、って意味のようです。
上限無しで無制限にvCPU数を追加できるわけではなさそうです。(詳しくは各自で調べて)


またKB2064117の文書によると、無償版のVMware ESXi 5.5 Hypervisorも緩和され、ホストあたり物理メモリ32GBの制限は撤廃されたようです。(仮想マシンあたり最大8vCPUの制限は継続)

VMware ESXi上のOracle RACに負荷をかけた状態のままvMotionで移動させる

こんな記事を見かけました。

http://www.publickey1.jp/blog/13/oracle_racvmware.html
負荷をかけたままのOracle RACをライブマイグレーションさせたら、トランザクションやクライアントとの接続は無事か? - Publickey


CPUはE5-2680×2、メモリ384GBを搭載したVMware ESXi 5.1ホスト。
仮想マシン上にはOracle RAC 11g R2 (11.2.0.3)を3ノード。
各ノードは16vCPU、メモリ156GB。
CPU使用率が最大70%になる高負荷の状態で、3ノード同時並行のvMotionも3分で完了。
トランザクション処理も、クライアントからのコネクションも切れることはなかったそうです。

私の担当するVMware環境でも、vMotionで業務に支障が出たことはありませんが(※)、Oracle RACでこれだけの負荷をかけた状態でも、問題無しですか。
いや、すごいですね。

(※)
UDPやICMPは再送されないのでvMotion中に途切れてしまいます。
つまりpingによる死活監視では障害を検出してしまいます。
しかしTCPでは再送されるので、ほとんどの業務アプリケーションでは問題は発生しないってことです。

VMwareの「Japan Cloud Infrastructure Blog」のvSphere 5.5 の新機能紹介

VMware社の公式ブログがあります。
その中には、ありがたい事に日本人による日本語のブログもあります。

http://blogs.vmware.com/jp-cim
Japan Cloud Infrastructure Blog | Cloud Infrastructure & Management Highlights from the VMware Japan Team - VMware Blogs


その中には、VMware vSphere 5.5の新機能紹介シリーズがあります。
VMware ESXi 5.5、vCenter Server 5.5の新機能がわかりやすく紹介されているので、見逃せません。

http://blogs.vmware.com/jp-cim/?s=vSphere+5.5+%E3%81%AE%E6%96%B0%E6%A9%9F%E8%83%BD%E7%B4%B9%E4%BB%8B
Search for "vSphere 5.5 の新機能紹介" | Japan Cloud Infrastructure Blog - VMware Blogs


以下は「vSphere 5.5 の新機能紹介」で抽出してヒットした結果です。
少しずつ読んでいきたいと思います。

http://blogs.vmware.com/jp-cim/2013/12/vsphere-55-vsan-3.html
vSphere 5.5 の新機能紹介 VMware Virtual SAN その3
http://blogs.vmware.com/jp-cim/2013/12/vsphere-55-vdpa.html
vSphere 5.5 の新機能紹介 vSphere Data Proteciton Advanced(VDPA)
http://blogs.vmware.com/jp-cim/2013/12/vsphere-55-vsan-2.html
vSphere 5.5 の新機能紹介 VMware Virtual SAN その2
http://blogs.vmware.com/jp-cim/2013/11/vsphere-55-vsan-1.html
vSphere 5.5 の新機能紹介 VMware Virtual SAN その1
http://blogs.vmware.com/jp-cim/2013/10/vsphere-55-vdp.html
vSphere 5.5 の新機能紹介 vSphere Data Proteciton (VDP)
http://blogs.vmware.com/jp-cim/2013/10/vsphere_55_whatsnew_latencysensitivity.html
vSphere 5.5 の新機能紹介 - VMのパフォーマンスを最大化する、待ち時間感度 (Latency-Sensitivity)
http://blogs.vmware.com/jp-cim/2013/09/vsphere-5-5-whats-new-vcenter-server.html
vSphere 5.5 の新機能紹介 - vCenter Serverの新機能
http://blogs.vmware.com/jp-cim/2013/09/vsphere-55-network02.html
vSphere 5.5 の新機能紹介 ネットワーク2 (トラフィックのフィルタリングとマーキング)
http://blogs.vmware.com/jp-cim/2013/09/vsphere-55-network01.html
vSphere 5.5 の新機能紹介 ネットワーク1 (ホストレベルのパケットキャプチャ)
http://blogs.vmware.com/jp-cim/2013/09/vsphere-55-vr.html
vSphere 5.5 の新機能紹介 vSphere Replication (VR)

VMware Tools for Nested ESXi (ESXi on ESXi用のVMware Tools)

こんなのがあるんですね。知らなかった。

http://labs.vmware.com/flings/vmware-tools-for-nested-esxi
VMware Tools for Nested ESXi ‎‎– VMware Labs


VMware Labsは実験室とか研究室とかの意味かな。
製品化される前の実験段階のツール類が公開されており、皆さんが検証環境で使ってみて、その結果をフィードバックする。って感じなんでしょうか。

その中で、上記のURLにはESXi上でESXiを稼働させる際に使用するVMware Toolsが公開されていました。
こんなのがあるんですね。知らなかった。

VMware ESXiホストの設定バックアップとリストア(その2:リストア)

前々回の日記ではWindows上にvSphere CLIをインストールしました。
前回はvSphere CLIでVMware ESXiホストの設定をバックアップし、そのうえでESXiの設定をリセットし、初期値にしました。
今回はvSphere CLIVMware ESXiホストの設定をリストアし、バックアップ時の設定に戻します。

(写真1)リストアコマンドの実行
(写真1)リストアコマンドの実行
以下の形式でバックアップファイルからVMware ESXiに設定をリストアします。
esxcfg-cfgbackup.pl --server ESXiホスト名 or IPアドレス --username ログインID --password パスワード -l 設定保存先パス

バックアップ時はrootのパスワードを指定したのですが、その後でESXiの設定をリセットしたため、現在はパスワード無しの状態になっています。
そのため実行するコマンドのパスワードは""を指定しています。

設定をリストアすると以下のメッセージが表示されるので、「yes」を入力してESXiホストを再起動させ、設定を反映させます。
The restore operation will reboot the host.
Type 'yes' to continue:

設定のリストアに成功したので、ERRORLEVELはゼロが返って来ています。

Command Prompt
C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>esxcfg-cfgbackup.pl --server 192.168.0.9 --username root --password "" -l C:\Temp\20131229.bak
The restore operation will reboot the host.
Type 'yes' to continue:
yes
Uploading config bundle to configBundle.tgz ...
Performing restore ...



(写真2)リストア後のコンソール画面
(写真2)リストア後のコンソール画面
ホスト名が復活していますね。IPv6も表示されていません。

(写真3)リストア後のパスワード
(写真3)リストア後のパスワード
リストア前にNo setだったパスワードは、リストア後にSetになっています。

(写真4)リストア後の管理ネットワーク
(写真4)リストア後の管理ネットワーク
ここでEnterして下の階層に進む。

(写真5)リストア後の管理ネットワーク > IPv4設定
(写真5)リストア後の管理ネットワーク > IPv4設定
DHCPで自動取得なので問題なし。

(写真6)リセット後の管理ネットワーク > IPv6設定
(写真6)リセット後の管理ネットワーク > IPv6設定
リストア前はIPv6は有効だったが、リストア後は無効に戻っている

(写真7)リストア後の管理ネットワーク > DNS設定
(写真7)リストア後の管理ネットワーク > DNS設定
Primary DNS SevrerはDHCPで取得しているので問題なし。
ホスト名はリストアされて、元のtestesx51に戻っている。

(写真8)リストア後の管理ネットワーク > DNSサフィックス
(写真8)リストア後の管理ネットワーク > DNSサフィックス
間違って設定してしまったDNSサフィックスの"1"が戻っている。

(写真9)リストア後のキーボード設定
(写真9)リストア後のキーボード設定
リストア前はUS Defaultだったが、リストア後はJapaneseに戻っている。

(写真10)リストア後のvSwitch
(写真10)リストア後のvSwitch
仮想スイッチvSwitch0に仮想マシンのVM01とVM02の割り当てが戻っている。
また仮想スイッチvSwitch1の存在も復活し、仮想マシンVM03の割り当ても戻っている。


このように設定をリストアすると、このようにESXiホストの設定がバックアップ時点に戻ることがわかります。
また上記の図には入っていませんが、リストア前にESXiに登録したユーザーを削除して、設定をしストアすると削除したユーザーも復活したように思うんですが、それはちゃんと記録しなかったので、もしかしたら違うかもしれません。(検証予定無し)


VMware ESXiの設定バックアップ・リストアはこんなに簡単なんですね。
私自身はVMware ESX 3.5時代から、私がプロジェクトリーダーとしてVMware ESX/ESXiホストの構築を数十台は行い、そのほとんどがまだ今でも現役で稼働中です。
そして今まで一貫してVMware ESXiホスト(ESXを含む、以下同じ)については、バックアップ・リストアの構築作業の対象外としていました。
万が一ESXiホストに障害が発生したら設定書を参考に再セットアップすればいいから。

こんなに簡単に設定がバックアップできるなら、これからはやってもいいかも。
しかし例によってこれを「やります」と宣言すると、お客さんは100%設定が復元される保証を要求してくるので、この辺がむつかしいところです。
この辺が過剰な作業品質を要求するユーザー企業と、それに対応するために高額な作業を提示するSIerの構図になってしまうんですよね。

VMware ESXiホストの設定バックアップとリストア(その1:バックアップ)

今までVMware ESXiホストの設定バックアップとリストアはやった事がなかったので、今回ちょっと試してみました。(年末に検証したのですが日記に書くのが遅くなってしまいました)
VMware ESXiの設定をバックアップ・リストアするためには、vSphere CLIを利用します。

前回の日記ではWindows上にvSphere CLIをインストールしました
今回はvSphere CLIVMware ESXiホストの設定をバックアップします。
その後でESXiの設定をリセットし、初期値に戻します。
次回はvSphere CLIでVMware ESXiホストの設定をリストアします

VMware ESXiホストの設定をバックアップしたり、リストアしたりするには、Windows上にvSphere CLIをインストールすると標準で用意される、以下のどちらかのスクリプトを使用します。
esxcfg-cfgbackup.pl
vicfg-cfgbackup.pl

どちらかがサービスコンソールの存在したVMware ESX時代との互換のために残されているスクリプト名で、どちらかがvSphere CLI用の新しいスクリプト名だと思いますが、どっちがどっちかよくわかりません。
Windowsのコマンドプロンプトでcompコマンドで確認しても、これらのスクリプトは名前が違うだけで中身は完全に一致していました。
どちらでもいいのですが、今回は「esxcfg-cfgbackup.pl」を使用します。

検証環境は
VMware ESXi 5.1 Update無し
Windows 7 SP1 +VMware vSphere CLI 5.1 Update 1 (Build:1060453)
IPアドレスはDHCPによる自動取得

VMware ESXiの設定をバックアップしたうえで設定をリセットして初期化します。
そのあとで設定をリストアして、元の設定に戻るかを検証します。

(写真1)バックアップコマンドの実行
(写真1)バックアップコマンドの実行
以下の形式でバックアップスクリプトを実行します。
esxcfg-cfgbackup.pl --server ESXiホスト名 or IPアドレス --username ログインID --password パスワード -s 設定保存先パス

1回目は設定バックアップに成功し、ERRORLEVELもゼロになっています。
2回目はESXiホストのIPアドレスを間違えたので設定バックアップに失敗し、ERRORLEVELに1が返って来る事がわかります。

Command Prompt
C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>esxcfg-cfgbackup.pl --server 192.168.0.9 --username root --password password -s C:\Temp\20131229.bak
Saving firmware configuration to C:\Temp\20131229.bak ...

C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>echo %errorlevel%
0

C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>esxcfg-cfgbackup.pl --server 192.168.0.8 --username root --password password -s C:\Temp\20131229.bak
Error connecting to server at 'https://192.168.0.9/sdk/webService': Perhaps host is not a vCenter or ESX server

C:\Program Files (x86)\VMware\VMware vSphere CLI\bin>echo %errorlevel%
1



(写真2)ESXiの設定をリセットする
(写真2)ESXiの設定をリセットする
VMware ESXiのコンソール画面でF2を押してSystem Customizationにログイン。
ここでReset System Configurationを実行する。
これでほとんどの設定が初期値に戻る。

(写真3)リセット後のコンソール画面
(写真3)リセット後のコンソール画面
ホスト名が未設定で、IPv6が有効になっている。
リセット前はホスト名は設定し、IPv6は無効にしていた。

(写真4)リセット後のパスワード
(写真4)リセット後のパスワード
リセット前に設定していたrootのパスワードが、リセット後はNo setになっている。

(写真5)リセット後の管理ネットワーク
(写真5)リセット後の管理ネットワーク
ここでEnterして下の階層に進む。

(写真6)リセット後の管理ネットワーク > IPv4設定
(写真6)リセット後の管理ネットワーク > IPv4設定
DHCPで自動取得なので問題なし。

(写真7)リセット後の管理ネットワーク > IPv6設定
(写真7)リセット後の管理ネットワーク > IPv6設定
リセット前はIPv6は無効にしていたのに、リセット後は有効に戻っている。

(写真8)リセット後の管理ネットワーク > DNS設定
(写真8)リセット後の管理ネットワーク > DNS設定
Primary DNS SevrerはDHCPで取得しているので問題なし。
ホスト名はリセットされて、未設定を意味するlocalhostに戻っている。

(写真9)リセット後の管理ネットワーク > DNSサフィックス
(写真9)リセット後の管理ネットワーク > DNSサフィックス
リセット前は間違って設定してしまったDNSサフィックスが、リセット後はNo setに戻っている。

(写真10)リセット後のキーボード設定
(写真10)リセット後のキーボード設定
リセット前は日本語に設定していたが、リセット後はUS Defaultに戻っている。

(写真11)リセット後のvSwitch
(写真11)リセット後のvSwitch
リセット前にはvSwitch0に仮想マシンも割り当てていたが、リセット後は消えている。
またvSwitch1は、仮想スイッチそのものが消えている。


VMware ESXiの設定をリセットすると、このように設定がインストール直後と同じ初期値に戻ってしまいます。
リセットの前にesxcfg-cfgbackup.plスクリプトを使って設定をバックアップしているので、次回はこのバックアップした設定をリストアしてみます。

VMware ESXi上の仮想マシンでNMIによりメモリダンプ作成を強制的に実行する

コンピューターに何らかの障害、特にOSやドライバに不具合があって、メモリダンプを採取してサポートに調査を出す事もあります。
物理サーバーなら物理的なダンプスイッチを直接押したり、BMCにリモートでログインしてダンプスイッチを押したりして強制的にメモリダンプを作成させます。
ここでいうメモリダンプとは、OSを停止させて採取するクラッシュダンプを差します。

では、VMwareの仮想マシンの場合はどうやるんだろうか?。
調べました。試してみました。

ゲストOSのメモリダンプを強制的に作成するためには、NMIの機能を使用します。
NMIとはNon-maskable Interruptの略で、マスク不可能な割り込みの事らしい。
VMware ESXi側ではNMIによるクラッシュダンプ作成のコマンドを実行します。
仮想マシン側では事前にNMIによる完全クラッシュダンプを作成する設定をしておきます。

今回試したのは以下の環境です。
VMware ESXi 5.0 Update無し(469512)
Windows Server 2008 R2 SP1

VMware ESXiホストへのssh接続やESXi Shellからのログインは前回までの記事をどうぞ。

http://norimaki2000.blog48.fc2.com/blog-entry-1299.html
徒然なるままに VMware ESXiのESXi Shellにコンソール画面からログインする
http://norimaki2000.blog48.fc2.com/blog-entry-1300.html
徒然なるままに VMware ESXiにsshで接続する


(写真1)ESXiにsshでログインしてesxcli vm process listコマンド
ESXiにsshでログインしてesxcli vm process listコマンド
esxcli vm process listコマンドを実行すると、パワーオン中の仮想マシンの情報が表示されます。
クラッシュダンプ作成対象の仮想マシンのWorld IDをメモします。
この例では仮想マシン名がTEST、World ID: 36294。
/sbin/vmdumper 36294 nmiで対象の仮想マシンにNMIのクラッシュダンプを実行します。

(写真2)ESXiのESXi Shellでも同じことをやってみた
ESXiのESXi Shellでも同じことをやってみた
esxcli vm process listコマンドを実行すると、ssh接続の時と結果は同じです。
まあ当然ですが。

(写真3)ゲストWindows Server 2008 R2は規定値のまま
ゲストWindows Server 2008 R2は規定値のまま
まずはWindowsゲストOSのレジストリを変更しないままやってみます。

(写真4)クラッシュダンプを作成
クラッシュダンプを作成
そのゲストOSをホストするESXiにsshでログインし、/sbin/vmdumper 36294 nmiを実行すると、対象の仮想マシンにNMIのクラッシュダンプを実行します。
しかし私が試した限りではメモリダンプは作成されませんでした。
クラッシュ画面も「The system has halted」と表示され、いつものSTOPエラー画面とは違いますね。

(写真5)ゲストWindows Server 2008 R2はレジストリを変更
ゲストWindows Server 2008 R2はレジストリを変更
今後はWindowsゲストOSのRegeditで、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControlの下に新たにNMICrashDumpを作成し、REG_DWORDで0x1を設定してOSを再起動してみます。

(写真6)クラッシュダンプを作成
クラッシュダンプを作成
再度ESXiにsshでログインして、/sbin/vmdumper 36294 nmiを実行します。
今回は仮想マシン上で毎度おなじみなSTOPエラーです。STOP 0x00000080です。
数十秒から数分程度かかりますが、メインメモリの内容をダンプファイルに書き出してくれます。

(写真7)メモリダンプが作成されている事を確認
メモリダンプが作成されている事を確認
%systemroot%\MEMORY.DMPが作成されています。
今回は規定値のカーネルメモリのままなので、MEMORY.DMPサイズは約190MBでした。

WindowsゲストOSでレジストリにNMICrashDumpを追加するWWindow
cmd.exe
C:\>reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl /v NMICrashDump /t REG_DWORD /d 1
この操作は正しく完了しました。

C:\>reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
    AutoReboot    REG_DWORD    0x1
    CrashDumpEnabled    REG_DWORD    0x2
    Overwrite    REG_DWORD    0x1
    LogEvent    REG_DWORD    0x1
    MinidumpsCount    REG_DWORD    0x32
    DumpFile    REG_EXPAND_SZ    %SystemRoot%\MEMORY.DMP
    MinidumpDir    REG_EXPAND_SZ    %SystemRoot%\Minidump
    NMICrashDump    REG_DWORD    0x1


なおWindowsゲストOSが起動している場合は、NotMyFaultを利用するのが簡単確実です。

http://norimaki2000.blog48.fc2.com/blog-entry-1211.html
徒然なるままに Windows SysinternalsのNotMyFaultでSTOPエラーを発生させてメモリダンプを採取してみる


参考

http://kb.vmware.com/kb/2011041
VMware KB: 仮想マシンが応答しなくなった場合のトラブルシューティング
http://kb.vmware.com/kb/1009187
VMware KB: Generating a Windows core dump to troubleshoot unresponsive virtual machines on ESX/ESXi (1009187)
http://support.microsoft.com/kb/927069/ja
Windows ベースのシステムで NMI を使用して、完全クラッシュ ダンプ ファイルまたはカーネル クラッシュ ダンプ ファイルを生成する方法

テスト中

全ての記事を表示する

ブロとも申請フォーム

ブログ検索
プロフィール

norimaki2000

norimaki2000のブログにようこそ
・2013/01/05テンプレートをsantaからhouseに変更
・2012/10/29テンプレートをsweet_donutsからsantaに変更
Follow norimaki2000 on Twitter気軽に話しかけてね

ニューヨーク・マンハッタン(タイムズスクェア)180×135

千葉県在住で東京都内に勤務。SE歴20年超えました。

昔々はオフコンで販売管理などのアプリケーション開発してた。
ファミリーレストランの無線オーダリングやPOS、キッチンプリンタの全国展開なんかもやっていました。
数年前まではWindows上のアプリケーション展開が多かったかな。
ここ数年はWindowsサーバーを中心としたサーバーインフラの提案・構築・保守を中心にやってます。
主な取り扱い製品は、
・Windows 2000 Server以降 (もちろんNT3.5やNT4.0も知っていますが)
・Active Directory (今で言うAD DS)
・Symantec Backup Exec
・Symantec System Recovery
・CA ARCserve Backup for Windows
・CA ARCserve Replication
・CA ARCserve D2D
・EMC RepliStor
・VMware vSphere
・某メーカーのクラスタソフトウェア

どれもこれも中途半端な知識と技術力ですが、なんとかやっています。
私自身は技術や製品を担当する立場ではなく、特定業種のお客さん(ユーザ企業)の対応窓口となるSEの役割りですから、必要であれば詳しい知識や経験豊富な別のSEを探してきてプロジェクトメンバに加えます。

もちろん小さな物件では自分で提案、インストール、お客さんへの導入、アフターサポートまでやります。
大きな物件では提案はやりますが、構築部分は専門部隊に依頼します。
その場合でもアフターサポート窓口は私がやりますので、お客さんに対しては一貫して窓口SEとなります。

サーバの世界の大きなトレンドは統合・仮想化。
2007年はVirtual Server 2005 R2によるサーバ仮想化も、2つのお客さんで本稼動させた。
2008年はVMware ESX 3.5を2セット構築。単純なローカル起動と、SANブート/VMotion/DRS/HA/VCBのフル装備もやった。
2009年はぜひHyper-Vの仮想環境を構築したいな。と思っていたが、なかなか機会に恵まれなかった。
2010年はVMware ESX 4.0でHA/VMotion/VCBバックアップを進行中。

そのほかにも、ドメインコントローラやファイルサーバの全国展開とデータ移行、特定のアプリケーションの実行基盤となるサーバ群のOS・バックアップ・DBクラスタなどインフラ部分の構築などをやっています。


2011年のポイントも引き続き、【ご利用は計画的に】。
今まで長年に渡って仕事も私生活も行き当たりばったりなので、少しでも物事を計画的に進められるようにしたい。
いつも計画性の無さが災いして多くの人に迷惑をかけています。
自分自身も計画的な仕事ができないため、いつもいろいろ苦労しています。
今年はさらに計画的に仕事をするようにしなきゃ。

それと若手を上手に使うようにならなきゃならん。
若手の育成はもちろんだけど、僕自身も仕事を上手に他の人に振ることができるようになりたい。
仕事の種類のせいなのか性格なのか、どうしても一人で抱え込んでしまうから。

【Twitter】2010年の元旦から始めました。平均して1日あたり10ツィート程度です。
仕事関連の呟きが少し、くだらない呟きがほとんどかな。
Follow norimaki2000 on Twitter
・norimaki2000 on Twitter

Follow norimaki2000 on Twitter
・norimaki2000 on Twilog


オンライン上ではあるけれど、今まで知らなかった人たちと交流する機会を得ることになり、非常に刺激を受けます。
仕事でも私生活でも、いろんな人のつぶやきは息抜きにもなり、また助けられたり、あるいは「もっとがんばんなきゃ」と励みになったりします。
Twitterを考え出した人の発想、システムとして作り上げた努力と情熱はすごい!!


【好きな音楽】ベテランの皆さんなら浜田省吾、尾崎豊、エコーズ、若手なら鬼束ちひろ、平原綾香、現在注目の若手はいきものがかり

【好きなアイドル】千葉県柏市を中心に活動する地元アイドルの「コズミック☆倶楽部」を激推し中です。

【好きな飲み物】シャンパンはご存知モエ・エ・シャンドン ブリュット アンペリアル、ビールはキリン ブラウマイスター、水ならビッテル、お茶ならキリン生茶

【好きなTVドラマ】Xファイル、24、ミレニアム、ER、CSI:科学捜査班シリーズ、NCIS:ネイビー犯罪捜査班、ザ・プラクティス、ボストン・リーガル



パソコン困り事相談もよろしく


最近の記事
最近のコメント
カレンダー
03 | 2017/04 | 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
カテゴリー
FC2カウンター
キーワード

Windows_Server VMware_ESX VMware vCenter_Server VMware_Player PowerShell PowerCLI vSphere_Client VirtualCenter Active_Directory vStorage_API Converter Windows 文音 Hyper-V Microsoft_Security_Essentials コズミック☆倶楽部 Windows_8 Backup_Exec VMware_Converter vSphere sora カラオケ なるみん あいひょん SQL_Server Windows_Server_2012 System_Center VCB Red_Hat_Enterprise_Linux Tech_Fielders メモリダンプ System_Recovery ESX ARCserve_Backup Internet_Explorer VMware_vSphere RHEL ジン子 マークス vSphere_CLI VMware_HA Exec Directory Firefox vMotion Oracle Active Symantec Server Backup Sysinternals NTFS Twitter Oracle_Database vCenter_Converter wevtutil コズミック倶楽部 DMC-FZ1000 schtasks XenServer キリン 若手 remi 麗美 Recovery Visual_Studio Windows_Update Office System SE Vista DRS 氷結 スリムス フィット グランダム 掃除 セルシオ 洗濯 のどごし生 洗車 サッポロ ロッキー おやつカンパニー カルディ スパークリングウォーター ベビースター おとなのおつまみ 白石美帆 経済産業省 えびしお corega セキュリティ ついにステップワゴンを契約してしまった 糖質 一番搾り食物繊維 スタローン 東京国際フォーラム スパリゾートハワイアンズ サクセス カーナビ ラガー 人口甘味料 コロン ブラックホーク・ダウン ジョシュ・ハートネット ハワイ 神戸 北野 献血 けんけつちゃん シャンプー台のむこうに デュポン 映画 東京タワー 写真 マッハ ムエタイ はばたき福祉事業団 ワイヤーアクション お茶のチューハイ バルボア キャンプ 万座温泉 夏休み 草津 鬼押し出し園 カーポート 高原 バーベキュー 関西空港 羽田 グレープフルーツ ウォーター ポケモン・スタンプラリー 伊藤園 日本赤十字社  サーバ 雨どい Resource ARCserve_D2D ARCserve_Replication VMFS バックアップ Virtual_Infrastructure SkyDrive vStorag_API OpenOffice.org ジャンプフェスタ XP Word Uptime.exe ULPC OEM ITIL DSP グループポリシー Apache 浜田省吾 Linux VMware_ESXi OneDrive HUAWEI れみ GR5 IP38X/N500 NVR500 バッチ Tween OpenOffice iStorage Windows_Azure AWS robocopy USB2.0 USB CDRW-AB24JL CD CAB CG CR-V DVD CoolMax Brio ATAPI 破損 2008 オレッツァ 修復 圧縮 0x0000007B コマンドライン Gathers Hyperion STOPエラー SAP Paper.li SUPPLEX SweetGrass Tools Thunderbird Replication PCI Kit IZZE IDE NR-7900A NetBackup PC-Success OREZZA エイドリアン 

月別アーカイブ
リンク
RSSフィード