仮想化とクラウド・コンピューティングの用語
- デスクトップ・コンピュータ
ユーザのオフィスや自宅など,エンドユーザの手元にあり,エンドユーザが使用するデスクトップ型のコンピュータのこと.
- クラウド・コンピュータ・センター
クラウド・コンピューティングにおける,下記のサービスを提供する各種の機器とソフトウェアの集まり.
- 仮想マシン
- 仮想マシン上で動くゲストOS
- ゲストOSの上で動くアプリケーション・プログラム
- ゲストOSの上で動くアプリケーション・プログラムがあたかも手元のコンピュータで動いているようあゲストリモート・デスクトップ
- アプリケーション・プログラムが扱うデータを管理するファイルサーバー(データセンター)
デスクトップ・コンピュータとクラウド,コンピュータ・センターは,ネットワークでつながる.クラウド・コンピュータ・センターは1箇所とは限らず,複数個所に分散していることがありえる.「クラウド」というとき,クラウド・コンピュータ・センターの数,場所,特性,クラウド・コンピュータ・センターが保持する物理サーバの性質は,ユーザには隠蔽される.
- 実マシンのディスクイメージ配信
- ゲストOSへのリモートログイン
- 物理サーバ
クラウド・コンピュータ・センターに設置され,クラウド・コンピューティングのサービスを提供するためのコンピュータ.物理サーバは,1台もしくは複数のコンピュータで構成される.物理サーバを構成するコンピュータは,同一機種とは限らない.
- 物理サーバの資源
物理サーバが有する計算機資源のこと.単に「資源」とも書く.例えば,次のものがある.
- CPU: コア数,クロック速度 など
- メモリ: 容量,速度 など
- 2次記憶装置: 容量,種類,速度 など
- I/O: 帯域 など
- ホストOS
物理サーバ上で動くオペレーティングシステム(OS)のこと.この上で仮想マシン・マネージャが動き,仮想マシン・マネージャ上で,種々のゲストOSが動くため,ゲストOSと区別するために,ホストOSという言葉を使う.
- 仮想マシン・マネージャ
ホストOSの上で動き,仮想マシンの機能を持つソフトウェア.VMMあるいは Virtual Machine Manager ともいう.この上で,仮想マシンのプロセスが動く.
- ハイパーバイザ
仮想マシンの機能を持つソフトウェアで,物理サーバの上で,OSなしで動く.ハイパーバイザの上で,仮想マシンのプロセスが動く.ハイパーバイザでは,仮想マシンを実現するための仮想的なハードウェア環境が独自に定義されているのが普通である.ホストOS上で仮想マシン・マネージャを動かす場合と比べると,仮想マシンの機能に特化しているため,オーバーヘッドが少ない.
- 仮想マシン
エンドユーザが,あたかも占有して使えるマシンのように見せかけられたもの.1つの物理サーバの上で,複数の仮想マシンが稼動する.仮想マシンは,簡単な操作で,追加,削除,起動,停止,活線移動 (live migration) ができる.実体は,物理サーバ上で動くプロセスである.仮想サーバともいう.
- 仮想マシンのテンプレート
仮想マシンが有する資源の記述のこと.これは,物理マシンの資源の中から割り当てられるので,物理マシンが持つ資源の組み合わせに名前を付けたものになる.但し,仮想マシンのテンプレートでは,プロセッサ名のような物理マシンの機種に依存する言葉は表れない.仮想マシンのテンプレートにおける資源の項目には,例えば,次のようなものがある.
- メモリ
- プロセッサ (数を指定することもできる)
- ディスク (ディスクはしばしば仮想化されている)
- ネットワーク
同一構成の仮想マシンは同じテンプレートになる.なお,ここでの資源の記述は,単なる資源の量ではなく「夜間はCPU時間を多く割り当てる」,「突発的なトラフィック発生時には多く割り当てる」など,割り当ての計画を記述する場合もありえる.割り当ての量は,仮想マシンの稼働中に動的に変更可能である.
- ゲストOS
仮想マシン上で動くオペレーティングシステム(OS).
- アプリケーション・プログラム
単にアプリケーション・プログラムと書いたときは,ゲストOS上で動くアプリケーション・プログラムのことをいう.ホストOS上で直接動くアプリケーション・プログラムは,ネイティブ・アプリケーション・プログラムと呼んで区別する.
- 仮想マシン・ブートイメージ・ファイル
仮想マシン用に作られるファイル.仮想マシン・マネージャあるいはハイパーバイザ上に展開され,プロセスとして動き,仮想マシンとして振舞う.クラウド・コンピューティングにおける仮想マシン・ブートイメージ・ファイルには,仮想マシン上で動くゲストOS と,エンドユーザが使用するアプリケーション・プログラムが含まれる.つまり,仮想マシン・ブートイメージ・ファイルは,仮想マシン上で動くゲストOS とアプリケーション・プログラムの組み合わせの数だけ作られる.仮想マシンの再起動においては,再度,仮想マシン・ブートイメージ・ファイルを使っての起動が行われるために,再起動前の仮想マシンの状態は,2次記憶装置を除き,残らない.
- 仮想マシン・ブートイメージ・ファイルの作成
仮想マシン・ブートイメージ・ファイルは,特定の仮想マシン上で動くゲストOS と特定のアプリケーション・プログラムの組み合わせにごとに作る.もし,物理サーバの差異が,仮想マシンよりも下の層(ホストOSやハイパーバイザーの層)で吸収されるなら,OSとアプリケーション・プログラムが同一構成の仮想マシンの稼動は,物理サーバの種別に関わらず,1つの仮想マシン・ブートイメージ・ファイルで済む.仮想マシン・ブートイメージ・ファイル作成用のコンピュータにOSとアプリケーションをインストールしたのち,仮想マシン・ブートイメージ・ファイル抽出の操作を行う.
- 仮想マシン・ブートイメージ・ファイルの展開
仮想マシンの起動において,仮想マシン・ブートイメージ・ファイルを,物理マシンで動く仮想マシン・マネージャあるいはハイパーバイザ上に展開すること.1つの仮想マシン・ブートイメージ・ファイルを,物理マシン上に同時に複数展開して,複数の仮想マシンを起動することもありえる.
- 物理サーバの構成変化
物理サーバを構成するコンピュータにおけるハードウェア的な変化(機種変更など),あるいは,コンピュータの増設,削除など.ハードウェア的な変更としては,次のものがある.
- CPU: コア数,クロック速度 など
- メモリ: 容量,速度 など
- 2次記憶装置: 容量,種類,速度 など
- I/O: 帯域 など
物理サーバの変化は,ホストOSあるいはハイパーバイザにのみ影響する場合もあれば,より上位の,仮想マシンの層にも影響する場合がある.つまり,前者では,物理サーバが変化しても,同じ仮想マシン・ブートイメージ・ファイルが動く.後者では,仮想マシン・ブートイメージ・ファイル内のデバイスドライバの交換などが必要.
- 仮想マシンの追加
クラウド・コンピューティングにおける仮想マシンの追加においては,次の項目が指定される.必要に応じて,仮想マシン用の仮想マシン・ブートイメージ・ファイルが動的にかつ自動的に作成される.
- 仮想マシンのテンプレート名
- 仮想マシンの識別名
- 仮想マシン上で動くゲストOS の種類
- 稼動させるアプリケーション・プログラムの組み合わせ
- 仮想マシンの稼動
仮想マシン・マネージャあるいはハイパーバイザ上に展開して,プロセスとして動かし,仮想マシンとして振舞わせる操作.稼動の時点では,仮想マシンのテンプレートに記述された資源の割り当てが行われる.
- 仮想マシンの活線移動
仮想マシンの稼働中に,仮想マシンが稼動する物理マシンを変更すること.その移動は,仮想マシンのユーザからは隠蔽される.
- 仮想マシンの資源割り当て
仮想マシンの稼動あるいは活線移動において,仮想マシンのテンプレートが定める資源(VMメモリ,プロセッサ,ディスク,ネットワークなど)を,仮想マシンの起動時に,動的に割り当てること. このためには,(1) 停止した仮想マシンからの資源の回収,(2) あらかじめ仮想マシンが持つ資源を十分に準備しておくこと(つまり,システム負荷や,サービス需要の状況に応じて,資源を事前に準備するとともに,こうした資源の調達・融通を即時に行えるような仕組みを作っておくこと).
- プロビジョニング
エンドユーザが必要とするであろうアプリケーション・プログラム(あるいはその組み合わせ)を設定済みの状態で,仮想マシン・ブートイメージ・ファイルとして提供する機能をいう.つまり,仮想マシン・ブートイメージ・ファイルはアプリケーション・プログラムを含み,仮想化される.
- 仮想マシン管理ソフトウェア
下記の機能を持ったソフトウェア.
- エンドユーザが,仮想マシンの起動,停止を行う.
- 仮想マシン管理者あるいは権限を与えられたエンドユーザが,仮想マシンの追加,削除を行う.
- 仮想マシン管理者が,エンドユーザによる仮想マシンの追加,削除の権限の設定を行う.
- 仮想マシン管理者が,仮想マシンのテンプレートの作成,保守を行う.
- 仮想マシン管理者が,仮想マシンの活線移動 (live migration) を行う.
- 仮想マシン管理者が,仮想マシンの負荷や性能に関する情報を取得する
- エンドユーザ
デスクトップ・コンピュータを使って,アプリケーション・プログラムとデータを利用する一般のユーザのこと.実際には,クラウド・コンピューティング・センターをネットワーク経由で利用するが,仮想マシン上で動くゲストOS , アプリケーション・プログラムの仮想化,デスクトップの仮想化が行われているために,クラウド・コンピューティング・センターを意識することは無い.
- エンドユーザは,普通のマシンを使っているつもりで,仮想マシンの起動,停止を行う.
- 権限を与えられたエンドユーザは,仮想マシンの追加,削除を行う.通常のマシンの増設,削除と比べて手間が格段に少ないという意味で,クラウド・コンピューティングの恩恵を受ける.
- エンドユーザは,仮想マシンの性能,アプリケーション・プログラムの版,最新のパッチが適用されているか,データのバックアップが万全かに関心を持ち,仮想マシン管理者に種々の要求を出すことがあるが,管理作業を行うことは無い.
- 仮想マシン管理者
エンドユーザが所属する組織・団体において,仮想マシン管理ソフトウェアを使いながら,下記の管理作業を行う.
- 仮想マシンの追加,削除を行う.
- エンドユーザによる仮想マシンの追加,削除の権限の設定を行う.
- 仮想マシンのテンプレートの作成,保守を行う.
- 仮想マシンの活線移動 (live migration) を行う.
- 仮想マシンの負荷や性能に関する情報を取得する
- クラスタ・コンピューティング・センター管理者
一般のファイルサーバー(データセンター),SaaS センター,PaS センターの管理者としての役割の他に,クラウド・コンピューティング・センターに特徴的な役割として,下記の役割を持つ.
- 仮想サーバ・ブートイメージ・ファイルの管理(記憶領域の割り当て,バックアップ,リカバリ)
- プロビジョニングが正しく機能することに責任を持つ.
- システム負荷や,サービス需要の状況に応じて,資源を事前に準備するとともに,こうした資源の調達・融通を即時に行えるような仕組みを作っておくこと
- アプリケーション・プログラムの仮想化
遠隔のコンピュータにあるアプリケーション・プログラムが,あたかも自分の手元のデスクトップ・コンピュータにあるかのように見せかけること.例えば,Web ブラウザ上で動くオフィス・ソフトなど.仮想化されたアプリケーション・プログラムは,遠隔のコンピュータにあるのみで,ユーザのデスクトップ・コンピュータにはインストールされない.
- デスクトップの仮想化
遠隔のコンピュータにあるデスクトップが,あたかも自分の手元のデスクトップ・コンピュータにあるかのように見せかけること.デスクトップへの全ての操作は,デスクトップの実体が存在する遠隔のコンピュータに反映される.手元のデスクトップ・コンピュータに残さないようにすることにより,セキュリティ上の問題のいくつかを解決できる.例えば,ノートパソコンの盗難時における情報漏えいなど.
デスクトップの仮想化のための1つの手段は,仮想マシン・ブートイメージ・ファイルの中に,アプリケーションとデスクトップを組み込むことである.これがリモートデスクトップとの違いである.
- サービスとしてのソフトウェア提供者
Software as a Service (SaaS) ともいう.アプリケーション・プログラムをパッケージ販売するのではなく,ネットワークを介して,アプリケーション・プログラムの機能を提供するものである.下記の業務が外注されることになる.
- データの管理(バックアップ,リカバリなど)
- アプリケーションの管理(ライセンス,バージョンアップ,パッチ,OSとの相性試験など)
- 物理サーバの管理(サーバを構成するコンピュータの増設など)
- サービスとしてのプラットフォーム提供者
Platform as a Service (PaS) ともいう.仮想マシンを業として提供する業者のこと.ユーザは,仮想マシンについての要求(OS や性能など)を示すのみで,物理サーバ等の性質を明示的に指定することは無い. 下記の業務が外注されることになる.
- 特定OSの導入作業
- 特定性能を持つコンピュータの導入作業
- データの管理(バックアップ,リカバリなど)
- アプリケーションの管理(ライセンス,バージョンアップ,パッチ,OSとの相性試験など)
- 物理サーバの管理(サーバを構成するコンピュータの増設など)
- Xen
仮想マシン上で動くゲストOSと,アプリケーション・プログラムの仮想化の機能を持ったソフトウェアの1つ.製品版とフリーソフトウェア版がある.
- Apache Hadoop
クラスタコンピューティング用に開発された,分散ファイルシステムのフリーソフトウェアの1つ.
- chroot 環境
chroot 環境は,ファイルシステムが分離された環境のこと.プロセスやソケットなど,ファイルシステム以外のものは分離されない.