VMware / Hyper-V / KVM / Nutanix AHVなどに代表される仮想化を「ハイパーバイザー型仮想化といいます」
古くはUNIXの世界にも仮想化技術が存在していたのですが、VMwareなどのハイパーバイザー型仮想化技術の登場により一般的に仮想化と表現した場合は「ハイパーバイザー型仮想化」のことを指します
今回は、仮想化のメリットは、持ち運びが可能であることだということを述べたいです
仮想化の一般的なメリットは
などなどがありますがこれら全て、仮想マシンが持ち運びが可能だからできることですね
集約化による設置スペース削減
仮想化技術により1台に集約できるから設置スペースが削減できる。DELL/HPE/富士通などサーバベンダに依存せず様々なOSを集約できる為、1000台の仮想マシンを10台位のサーバにまとめ上げることが出来るようになっています
集約化によるリソース有効活用
集約化することで余ったリソースを有効に活用できます。これはvMotionに代表される仮想マシンを止めずに(ダウンタイム無しで)別のサーバに移動することが出来るライブマイグレーション技術を活用して、CPU/Memoryリソース使用量に偏りが出た場合は無停止でこれを解消することができます。無停止で持ち運びができる仮想マシンのメリットを活用しているわけです。これによりHWリソースに余裕を持ちすぎない設計が可能になりコストダウンという効果も生まれました
新しい仮想マシンをすぐ用意できる
仮想マシンは物理サーバのリソースに余裕がある範囲でいつでも新規作成が可能です。ハイパーバイザー型仮想マシンは持ち運びが容易なのでどのノード(物理マシン上)で作成するかもそれほどこだわらずに作成してOKです。UNIXエンジニアとは異なり、VMware技術者も世の中に多く誰でも操作できることも良店です
統一された方法で仮想マシンの災害対策が可能である
仮想化技術により、仮想マシンがファイル化されます。仮想HDDファイルですね。
このファイルを遠隔地に転送すれば災害対策もバックアップも完了するという点がメリットです。
ハードウェアベンダの持つストレージレプリケーション技術(Netapp Snapmirrorなど)でもいいですし、ソフトウェア(Veeam replication , Arcserve UDPなど)でもいいですね
ハードウェアベンダ提供の方式・ソフトウェアに限定されず汎用的なソフトウェアとの組み合わせで実現できる点がすばらしいです
持ち運びが可能になると何がいいのか
ハイパーバイザー型の仮想化技術によって、サーバのOS領域とデータ領域とBIOS設定などが全てファイルにすることが出来るようになりました
VMwareであればvmxファイル/vmdkファイル、Hyper-Vであればxml構成ファイル/vhdxファイルなどです
- ファイルにすることができると、作った仮想マシンをExportして、他の環境にImportすることも出来るようになります。
- ファイルにすることができると、ネットワークのNASにコピーしたり、USB HDDにコピーしたりすることができるようになります。
- ファイルにすることができると、仮想マシンのスナップショットを取って、ロールバック可能な状況を作成したり、バックアップをとりやすくすることができるようになり、外部へのデータ移動も可能になります
マシンを仮想化してファイルとして扱うようになれると、OSとアプリと環境をまとめて外部に持ち運ぶことが出来るようになります
外部に持ち運ぶことが出来るようになると
- ライブマイグレーション技術で、サーバが壊れそうになったら異なる物理マシンに移動する
- クラスタ技術で、サーバが壊れたりして停止したときに異なる物理マシン上で自動的に再起動してくる
- 作成した仮想マシンをバックアップして外部保管しておいて、いざというときに復旧できるようにする
こういったことが出来るようになるんです
「持ち運びが可能になることで」サーバの可用性を高めることが出来るという効果があり安価な汎用PCサーバ(HPE Proliant や DELL PowerEdgeなど)に高可用性の環境を用意に作成可能であることが大きいです
汎用PCサーバで出来るということはベンダーロックイン回避、つまりハードウェアベンダーの乗り換えが可能になります
「前回購入時はDELLがやすかったからDELL使っているけど、HPEでもVMware/Hpyer-Vは動作するし乗り換えもそんなに大変じゃないから今回の見積もり依頼もDELL/HPE/富士通3つのベンダで比べてみよう」
こんなことも可能になりますね
UNIXの仮想化
過去の仮想化の歴史を振り返りつつ、現在の仮想化技術の利点を記載してきたいとおもいます
まずは、初期の仮想化技術UNIXの仮想化技術です
UNIXが持っていた古い仮想化技術は、いわゆるパーティション機能を指します
IBM AIX の LPARやHP HP-UXのVSEに代表されるパーティション機能で、もともとは高価で大型なAIXを分割して有効利用しようというものが発端です
したがって、AIX上にAIXを複数立てることは可能ですがあくまで作成可能なのはAIX(つまりIBMのハードウェア)であり、IBMというベンダを利用し続けて初めて効果があると言う点です
UNIXの仮想化機能は非常に優秀で、現在のハイパーバイザー型と全く引けをとらないのですが、決まったハードウェアでしか動作しないという点が大きな制限事項です
IBM AIXで作った仮想マシンはずっとAIX(IBMのハードウェア)で動作させないといけないし、HP-UXで作った仮想マシンはずっとHP-UX(HPのハードウェア)で動作させないといけません
ハードウェアベンダに依存というか支配されているということですね
したがって旧来のUNIXが持つ仮想化のポイントは
- Good:高価なマシンを有効活用して、1台に複数のOSを用意できる
- Bad :ハードウェアベンダを超えた持ち運びができない
便利に使えているという点には変わりはないのですが、UNIXマシンが持つ高い可用性をあげるという効果はUNIXの仮想化技術にはありません
あくまで高いハードウェアを有効活用するという点にすぎないんです
UNIXベンダやその技術者が「仮想化技術なんてものはVMwareの時代じゃなくもっと昔からあったんです」と胸を張って言っているのを見たことがあるのですが全くお門違いですね
ユーザがわからしてもUNIXの持つベンダーロックインというデメリットは解消できずAIX仮想化を使った以上は死ぬまでIBMにお金を払い続ける必要があるし、IBMとHPを次回のHW更改時にコンペさせることも現実的ではありません(AIX -> HP-UX移行費用が膨大でHPは価格競争力がない・・・)
ベンダーロックイン回避もできない、可用性も上がらない、ただリソースを有効活用するだけというのがUNIX時代の仮想化技術ですね
ハイパーバイザー型仮想化
前述の通りVMwareやHyper-Vに代表されるハイパーバイザー型仮想化技術は
「安価なPCサーバを仮想化技術で高い可用性にすることが出来る」点がメリットです
- なぜなら、仮想マシンが持ち運び可能なのでサーバ停止させる時には無停止で隣のサーバに仮想マシンを移動させることが可能(=vMotion)
- なぜなら、仮想マシンが持ち運び可能なのでサーバが不意に停止したときにも隣のサーバで自動的に再起動させることが可能(=HA)
- なぜなら、仮想マシンが移動可能なので負荷がパンパンになりそうなときには無停止で空いているサーバに移動させることが可能
VMwareの上位エディションなら自動的に負荷調整も可能(=vMotion&DRS)
また、持ち運びが可能になることでサーバの移行も非常に簡単になりました
- 仮想マシンがファイルになっているので停止してファイルコピーすれば移動可能
- (条件を満たせば)仮想マシン停止は一瞬で移行することも可能
- (さらに条件を満たせば)仮想マシンを無停止で移行させることも可能(ただし条件多し)
また、持ち運びが可能になり、サーバの移行が簡単になっただけではなくVMware/Hypere-Vならどのサーバベンダでも動作させることが可能なので
- 別のサーバベンダにも移行が可能なので、次回HW更改時にHWベンダでコンペが可能(ベンダーロックイン回避)
- 汎用的エンジニアでも対応可能なので、スキルの習得が容易&スキル保有者の獲得が容易
- IBM / HPなどの高コストエンジニアじゃなくても作業可能なのでベンダーロックインも回避可能
- 流行りのHWに乗り換えできて、面白い
こんなメリットがあります
この持ち運びが可能になる点をメリットに掲げて改めて自社のサーバ仮想化を進める、見直す、クラウドと比較するなどの議論のベースにしてはいかがでしょうか
関連記事です
仮想化といえばVMware、vCenterですね
この辺の情報も抑えておいたほうがいです
移行について3rd Partyツールが豊富にあるてんも仮想化のメリットです
以上です