仮想化技術

このページでは、シンプロビジョニングなどのストレージの仮想化と、ホスト型・ハイパバイザ型・コンテナ型のサーバの仮想化、関連する技術がわかります。

  • 一言で言うと:
    • 「本物(物理)の構成と違う見せ方(論理)をする」技術の話。ストレージを大きく見せたり、1台のサーバを何台にも見せたりする。

ストレージを仮想化 → サーバを仮想化 → 動かしたまま引っ越す・切り替える(関連技術)

覚え方の軸

  • 仮想化=物理構成とは違う論理構成を見せること
  • ストレージ仮想化は「見せる容量と実際の容量の差(シンプロビジョニング)」と「速さで置き場所を変える(自動階層化)」
  • サーバ仮想化の3方式は「仮想化ソフトがどこに乗っているか」で並べる:
    • OSの上(ホスト型)、ハードウェアの上(ハイパバイザ型)、OSの上に区画だけ(コンテナ型)
  • 重さの順番:
    • ホスト型(オーバヘッド大)> ハイパバイザ型 > コンテナ型(軽い。ただし全部同じOS)

ストレージ仮想化:容量を賢く使う

  • 仮想化技術:
    • 物理構成とは違う論理構成を提供する技術の総称
  • ストレージ仮想化:
    • 複数のストレージデバイスを論理的に統合して、1つのストレージとして扱う技術
  • シンプロビジョニング:
    • 利用者には要求された容量の仮想ボリュームを見せ、実際には使っている分だけ物理容量を割り当てる。物理容量を減らせる
    • 例:
      • 要求容量40TB、実使用量10TB → 仮想ボリューム40TBを見せ、物理ディスクは10TBだけ割り当てる。物理ディスクは要求の1/4で済む
      • 40TBをそのまま割り当てたら、30TBが使われずに無駄になる
    • ストレージの集約(プール化)と併用すると、利用効率がさらに上がる
  • ストレージ階層化:
    • 性能の違うストレージを組み合わせて階層を作り、利用目的や利用頻度などのデータ特性に応じて置き場所を変える考え方
    • 手動だと、データ特性を集めて分析し、手で移動させる必要があり、運用に手間がかかる
    • ストレージの性能とコストはトレードオフ。階層化でコストを抑えながら必要な性能を確保できる
  • ストレージ自動階層化:
    • 階層化の制御を自動化したもの。ストレージ階層を仮想化し、アクセス頻度が高いデータは上位の高速な階層へ、低いデータは下位の低速な階層へ自動的に移す

サーバ仮想化:1台のサーバを何台にも見せる

  • サーバ仮想化:
    • 1台の物理サーバの上で、複数の仮想的なサーバを動かす技術
  • サーバコンソリデーション:
    • 複数台の物理サーバを1台に統合すること。期待できる効果は2つ
    • サーバの管理コストの削減
    • コンピュータリソースの利用率の向上
  • 3つの方式
方式 構造(下から) 長所 短所
ホスト型 ハードウェア → ホストOS → 仮想化ソフトウェア → 仮想サーバ(ゲストOS+アプリ) 仮想サーバ環境を手軽に作れる 仮想化ソフトがハードウェアをエミュレートするので、オーバヘッドが大きく処理速度が出にくい
ハイパバイザ型 ハードウェア → ハイパバイザ → 仮想サーバ(ゲストOS+アプリ) ハイパバイザがハードウェアを直接制御するので、資源を効率よく使え、ホスト型より速い。ホストOSが要らない ―
コンテナ型 ハードウェア → ホストOS → コンテナ管理ソフトウェア → コンテナ(ライブラリ+アプリ) オーバヘッドが少なく、軽量で高速 同じOSの上で動くので、すべてのコンテナが同じOSしか使えない
  • ハイパバイザ:
    • 仮想サーバ環境を作るための制御プログラム。ハードウェアの上で直接動き、ハードウェアリソースを細かく分けて複数のユーザに割り当てる。仮想OSとも呼ばれる。OSより上位の制御プログラム
  • コンテナ:
    • ホストOS上の論理的な区画。アプリの動作に必要なライブラリなどを含み、独立したサーバのように振る舞う
    • ホストOSから見ると1つのコンテナは1つのプロセス、ユーザから見ると独立した個別サーバに見える
    • コンテナはホストOS上の他のアプリとリソースを共有する
  • Docker:
    • コンテナ型の仮想環境を作る(アプリの構築・実行・管理を行う)プラットフォームを提供するOSSの一つ
  • その他の関連技術
    • ライブマイグレーション:
      • 仮想サーバ上のOSやアプリを止めずに、別の物理サーバへ移して処理を続ける仕組み
      • 仮想サーバのメモリイメージをそのまま移すので可用性を損なわず、利用者は移動に気づかない
      • ハードウェアのメンテナンスや部品交換のときに有効
    • クラスタソフトウェア:
      • 仮想サーバを冗長化したクラスタシステムを管理・制御し、高可用性を実現するソフトウェア
      • OS、アプリ、ハードウェアの障害に対応し、障害のないサーバに自動的に処理を引き継ぐ。切替え時間の短い安定運用が必要なときに有効

混同しやすいペア

  • シンプロビジョニング(見せる容量より少なく実際に割り当てる)/ストレージ自動階層化(アクセス頻度で置き場所を自動で変える)
  • ホスト型(ホストOSの上、エミュレートで遅い)/ハイパバイザ型(ハードウェアの上、ホストOS不要で速い)
  • ハイパバイザ型(仮想サーバごとに別のOSが使える)/コンテナ型(軽いが、全部同じOS)
  • ライブマイグレーション(動かしたまま引っ越す)/クラスタソフトウェア(障害時に自動で引き継ぐ)
  • 仮想マシン(ゲストOSを持つ)/コンテナ(ゲストOSを持たず、ホストOSから見ると1プロセス)

← 04 システム構成要素の目次に戻る

タイトルとURLをコピーしました