IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

仮想化の歴史と機能

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第21回 仮想環境の障害対応について(CPUやメモリの障害編) (志茂吉建) 2013年7月

 前回は、単一障害箇所(Single Point of Failure:SPOF)の排除することによりI/O周りのハードウェア障害については、仮想マシンにほとんど影響がないことがおわかりいただけたと思います。今回は、CPUやメモリの障害についてお話します。

メモリの可用性

 CPUやメモリはI/Oのようにハードウェアレベルで二重化することは可能ですが、コスト面や技術面で現実的ではありません。では、どのように可用性を実現しているのでしょうか。いわゆるサーバと呼ばれるハードウェアでは、メモリはECCメモリを利用することで可用性の向上を実現しています。ECCメモリとは誤り検出訂正(Error Check and Correction)機能付きRandom Access Memoryということになります。用いられる検出技術はハミング符号を利用しています。ハミング符号を用いると、2ビットまでのエラー検出と、1ビットまでのエラー訂正を実現することが可能です。

CPUの冗長性

 ハイエンドのサーバでは障害が発生したCPUのコアを切り離す機能があるようですが、2ソケットタイプのサーバでは実装されていないようです。基本的にCPUに何らかの障害が発生するとPanicやブルースクリーンなどの状態となりハングアップもしくはリブートなどが発生します。これらの障害に対応するには、VMware vSphere環境ではハイパーバイザー上で二つの方法が提供されています。

VMware FT

 FTはFault Toleranceの略です。Fault Toleranceも可用性を高めるための機能の一つです。異なるESXホスト上に仮想マシンを二つ動作させます。FTの設定をした仮想マシンはお互いに監視しており、処理結果はすべて同じになっています。つまり、どちらの仮想マシンにアクセスしても同じ結果を取得出来ることになっています。どちらかのホストでCPUなどに障害が発生しリブートなどが発生しても、正常なホストで仮想マシンは動作し続けることが可能です。同じ結果を常に持っていますので、切り替わりなどの考え方は必要ありません。クライアントから見ると常にサーバが一台起動している状態に見えます。

VMware HA

 HAは、High Availabilityの略です。高可用性を実現するために使われる機能の一つです。HAの場合は、FTのように同時に起動するのではなく、ESXホストに障害が発生した場合、そのホストで動作していた仮想マシンを別のESXホストで再起動させるための機能です。再起動時はクライアントからみると一時的にホストが停止したように見えます。しかし、数分内に該当仮想マシンを再起動することが可能です。アプリケーションの可用性用件にもよりますが、VMware HAを利用するケースがほとんどだと思います。

 メモリはハードウェア、CPUはハイパーバイザーの機能を使って可用性を確保しています。これらの機能は、アプリケーションの可用性用件の検討材料としても利用することが出来ます。上手く利用することで、運用負荷の軽減も可能ではないでしょうか。

 次回は、アプリケーションの可用性向上方法について検討していきます。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes