仮想化とは何か | 仮想化のススメ

仮想化とは何か | 仮想化のススメ

そもそも仮想化って何?

サーバやパソコンといったマシンの仮想化技術が普及して10年以上が経ちました。
サーバ仮想化にはじまり近年ではVDI(Virtual Desktop Infrastructure:デスクトップ仮想化)も盛んです。

仮想化とは「一台の物理的なコンピューターの中で仮想的に別の(場合によっては複数台の)コンピューターを動作させること」です。

PCを例にしてみます。
PCは計算(演算)を行うCPU、CPUが計算を行うためのデータを保持する高速な主記憶装置=メモリ、メモリと比較すると低速だが大容量で長期間のデータ保存に適しているストレージ(HDDやSSD)等の装置で構成されています。そこに入出力装置としてディスプレイ、キーボード、マウスやタッチパネル、外部インタフェースとしてネットワークアダプタ(NIC)、USBポートなどがあります。もちろん電化製品ですので電源装置も入っています。これら物理的な装置の上で基本ソフトであるOS(例:Windows)が動作しています。

仮想化は仮想化ソフトやスーパーバイザーと呼ばれるソフトを用いて、物理装置(特にCPU、メモリ、ストレージ)の一部を借りて、仮想的な物理環境を作ることができます。簡単に言うと1台の機械を分割して複数台のPCとして使うことができるのです。

スポンサーリンク

つまり「マシンを1台買ったら、その中で何台ものマシンを同時に動かすことができちゃう」というのがマシン仮想化なのです。上記イメージは記述の関係上仮想環境を1台しか作成していませんが、これが何台もできると考えてください。

仮想化のメリット

色んな費用が削減できる


仮想化の1つ目のメリットは、機器費用の圧縮、設置場所の削減、電力消費の低減などの費用の節約です。

PCを2台調達すると物理的な装置+ソフトの費用が2台分かかります。しかし1台の装置の上で仮想的に2台のPCが稼働するとしたら、物理的装置は1台で済みます。

企業で個々人に支給されているPCだと操作する人毎にディスプレイやキーボード等のインタフェースが必要ですが、特定のソフトを利用するための共用PCのように稼働率が高くなく利用するときだけリモートで使えればいいというような使い方であれば仮想化による恩恵を受けることができます。
使っていない時間が多いPCであっても物理的なCPU・メモリ・ストレージは通常のPCと同様に持っています。仮想化することでこうした資源を遊ばせることなく他の仮想マシンが利用することができ、リソースの有効活用にも繋がります。

ただし、以前クラウド利用を説明した際にも似たような話をしたのですが、コストメリットがある=物凄く安価になるかというとそうではありません。
↓↓↓クラウド利用を説明した際↓↓↓

あくまで「既存と同様に複数台のハードウェアを導入するのと比較して」コストメリットがあるのであり、「単独で安価なサービス」とは決めつけられません。もちろん選定するソフトや環境によっては安価に構築することは可能ですが、それにはそれ相応の理由があります。後述する更新サイクルや運用負荷まで全てひっくるめてコストメリットがあると考えるのが妥当かもしれません。

機器とソフトの更新サイクルの分離


2つ目のメリットは物理環境の更新サイクルに左右されないソフト運用が可能になることです。少し前まで企業ではパソコン・サーバの機器更新サイクルに併せて、その機械の中で稼働しているソフトやシステムの入れ替えが発生していました。仮想化された環境であれば、仮想化イメージを別の機器に持っていくだけでソフトやシステムを継続して利用することができます。

これまでOS、特にWindowsのライフサイクルの関係で古いOSを延々と使うことは難しく、OSを更新するとソフトが対応していないのでソフトのバージョンアップや改修が発生していました。
しかしWaaS(Windows as a Service)の思想に基づきクライアントOSであるWindows10もサーバOSであるWindowsServerもSAC(Semi-Annual Channel:半期チャネル)というアップグレードによる新バージョン提供を行うことになりました。WindowsUpdateによるバージョンアップを当て続ければサポートは継続されつづけるため、半永久的にOSを入れ替えが不要になるのです。実際はSACでのバージョンアップで動作に支障をきたすソフトもありますが、もはやSACの方針には従うしかなく後追いで修正パッチを出して対応するしかない状態になっています。

これによりOS及びその上で稼働するソフトウェアのライフサイクルとハードウェアのライフサイクルは切り分けることができるようになりました。古いソフトやシステムを延々と使い続けることを推奨しているのではなく、機能強化や業務改善と紐づかない機器とOSの都合だけによるバージョンアップやカスタマイズが不要になり、ビジネスへの効果に注力したより効果的な投資を行うことができるようになるのです。

運用保守の手間が省ける

3つ目のメリットはマシン管理者のハード点検、バックアップ管理等の手間が大幅に減ることです。
前述の通り、仮想マシンは「仮想化イメージを別の機器に持っていくだけでソフトやシステムを継続して利用することができます」であり、つまり「仮想化イメージさえバックアップしておけばすぐ復旧できる」のです。
イメージファイルはそれなりの大きさになるので、あまり多くの世代管理は難しいかもしれませんが、イメージ丸ごとなのでバックアップ漏れはありません。
またハード管理は物理マシン1台で済みます。ただしこの物理ハードが故障すると中で複数台の仮想マシンが稼働していると一気に停止するリスクがあります。仮想マシンを稼働させる物理マシンは丁重に扱う必要があります。

スポンサーリンク

仮想化の注意点

仮想環境でのソフトウェアライセンスを確認する

仮想化で最も注意すべき点は仮想環境で動作させるソフトウェアのライセンスです。

仮想環境で動作させるOSは、物理環境側のOSによっても考え方が異なります。

物理環境=WindowsServer、仮想化ソフト=Hyper-Vの場合、別途ライセンスなしで仮想環境にWindowsServerを利用することも可能です。

マイクロソフト仮想環境ライセンス ガイド

ただしOSがパッケージ版ではなくOEM版だと不可だったり等結構複雑な体系になっています。

データベースソフトではOracleのライセンス体系も注意が必要です。

製品価格/ライセンス情報 -FAQ- サーバー仮想化ソフトウェア( Oracle VM 、VMware、Hyper-Vなど)を使用した場合のライセンスカウントはどのようになりますか?

OracleDatabaseのライセンスは、接続ユーザー数で契約するNamed User Plusライセンスと、インストールされる機器のプロセッサ数で契約するProcessorライセンスがあります。
ProcessorライセンスにはさらにSoftPartitioningとHardPartitioninに分かれます。

HCIなどでストレージが共用になっており、仮想環境をVMwareで構築した場合などはSoftPartitioningが適用され、OracleDatabaseがインストールされている仮想マシンだけではなく、同一ストレージで稼働する全てのマシンのプロセッサ分のライセンスが必要になります。

動作させるソフトウェアの仮想環境におけるライセンスはきちんと確認しておかないと、ライセンス違反になったり想定を大きく上回るライセンス料を請求される可能性があります。

仮想化でメリットが出せるシチュエーションを理解する

マシン仮想化は社内サーバリソースの節約等には大きなメリットがあります。またVDIでデスクトップ環境を仮想化して個々のパソコンのリソースを節約することも可能です。
ただしこれらを実施するには専門的な技術やライセンス等の正しい知識が必要です。

自力で行う仮想化、業者が構築してくれる仮想化、サービスとして提供される仮想化、どれも仮想化ではありますが、それぞれ用途もメリットも異なります。

パッチやオーバーライトによるPCの動作検証のための一時環境が必要な場合、WindowsOS標準のHyper-Vで仮想環境を構築すれば、Windows10を90日間無償で試用可能です。多少スペックに余力のあるパソコンがあれば自力で仮想環境を構築することも困難ではありません。

プロセスを競合なく実行させるために複数台環境が必要な場合、恒常的に動作する環境が複数必要になります。個々のプロセスが起動するために必要なリソースがあまり大きくなければ、それぞれマシンを購入するよりも1台のマシンの中で複数の仮想環境を動作させるほうが有利でしょう。またプロセスが動作可能な環境がLinuxベースでもよければゲストOSはCentOS等でライセンス料を節約することもできます(ただしCentOSが扱えることが前提)。

クラウドベースのサービス提供が主流になっても、ローカルPCやサーバの需要が完全に枯渇するわけではありません。仮想化について正しい知識を得ることで費用や労力を削減できることはまだまだあります。

次回から実際に仮想環境を構築する方法をご説明していきたいと思います。

 

この記事をシェアする

この記事が気に入ったら
いいね!をお願いします

PC・スマデバカテゴリの最新記事