サーバ仮想化入門

13

Click here to load reader

description

サーバ仮想化ってなんなの?というひとむけサーバ仮想化入門

Transcript of サーバ仮想化入門

Page 1: サーバ仮想化入門

Copyright Red Hat K.K. All rights reserved.

サーバ仮想化入門

2012-12-07Kazuo Moriwaka <[email protected]>

Page 2: サーバ仮想化入門

2Copyright Red Hat K.K. All rights reserved.

サーバ仮想化とは何か?

• 物理的なハードウェア上で「仮想サーバ」を構築する• 「仮想サーバ」は:

• ソフトウェアとハードウェアの組合せで実現された「サーバのようなもの」

• 物理的なサーバと同様に、OSをインストールしたり起動・再起動などの処理ができる

• 仮想サーバを実現するための環境を「仮想化環境」や「ハイパーバイザ」と呼ぶ

• 仮想サーバ上にインストールしたOSを「ゲストOS」と呼ぶ。• 間違った表現だが「仮想OS」と呼ぶ人もいる

Page 3: サーバ仮想化入門

3Copyright Red Hat K.K. All rights reserved.

物理サーバと仮想サーバ

• 仮想サーバはゲストOSを物理サーバ上で動いているように「見せかける」ことでつくられる

• 「見せかけ」の部品を 「仮想XXX」「vYYY」のように呼ぶ。 vCPU、vNIC、仮想ディスクなど。

CPU

メモリ

I/O hub

NIC SCSI

disk

スイッチ

vCPU

メモリ(vRAM)

仮想I/O hub

vNIC vSCSI

仮想disk

ソフトウェアスイッチ

物理サーバ 仮想サーバ

Page 4: サーバ仮想化入門

4Copyright Red Hat K.K. All rights reserved.

ハードウェア

RHEL

app app app

サーバ仮想化がないとき

• 1台のハードウェアの上に• RHELをインストール• アプリケーションをインストール• アプリケーションは複数インストールできる

Page 5: サーバ仮想化入門

5Copyright Red Hat K.K. All rights reserved.

• 1つのハードウェアを複数の仮想サーバに分割• RHEV-HやVMware ESXをインストール• ゲストOSとしてRHELやWindowsをインストール• ゲストOSは複数インストールできる

ハードウェア

仮想化環境(RHEVやWMware)

仮想サーバ

サーバ仮想化があるとき

仮想サーバ

ゲストOS(RHEL)

app app app

ゲストOS(RHEL)

app app app

Page 6: サーバ仮想化入門

6Copyright Red Hat K.K. All rights reserved.

なぜサーバ仮想化を使いたいの?

• 複数種類のOSを利用したい• 管理者権限と資源の切り分けをしたい• 仮想サーバがもつ便利な機能を利用したい• ハードウェアとサーバ実行環境の分離

Page 7: サーバ仮想化入門

7Copyright Red Hat K.K. All rights reserved.

複数種類のOSを利用

• 例: RHEL4とRHEL5とRHEL6とWindows 2003を同時にひとつのハードウェアで動作させる

• 従来はハードウェアが個別に必要でした• どういう時に便利?

• アプリケーションにあわせてOSのバージョンを選択できる• アプリAはRHEL6に対応しているけどアプリBはRHEL4でし

か動作しない• いろいろなバージョンのOSで検証をおこなう開発者、製品サ

ポート、品質保証(QA)など• アプリCをRHEL4, RHEL5, RHEL6で検証したい• WebアプリをIE7,8,9,10, RHEL6のfirefoxで検証したい

Page 8: サーバ仮想化入門

8Copyright Red Hat K.K. All rights reserved.

管理者権限と資源の切り分け

• 管理者権限の切り分け:

• よくあるOSの権限管理モデル:• 「なんでもできる」管理者と「ほとんど何もできない」一般ユーザ

• サービス毎に管理者を分離したい時にはOSごと分けると簡単• 例: webサーバの管理者にデータベースを触らせたくない• 例: あるシステムでオペレーションのミスがあっても別のシステムに影響

をあたえたくない

• 資源の切り分け:

• 例:サービス毎に資源を「メモリ512MB, CPU1個」のように指定する。• 物理的なサーバのメモリやCPUの一部だけを仮想サーバに割りあてること

は仮想化環境では普通の機能• UNIX系OSは資源の切り分けを明示的に行う標準的な方法がない

• 仮想化環境の仕組みで代替する

Page 9: サーバ仮想化入門

9Copyright Red Hat K.K. All rights reserved.

仮想サーバがもつ便利な機能

• 物理サーバだと大変なことでも、仮想サーバだと簡単にできる場合がある• ゲストOSを含めた仮想サーバ全体の一時停止• メモリ、CPU、周辺装置の状態を全部まとめて保存できる

• →仮想サーバ全体をファイルへ保存してバックアップ• →ネットワークで別サーバへ転送して計画停止時間を短縮

• 仮想サーバ自体の作成・削除・構成変更など• ハードウェアだと人が設置作業して時間がかかる

• 仮想サーバの遠隔地からの操作や、その自動化• 電源on/off、リセットなど• ハードウェアだと大抵は管理用製品を追加購入する必要があ

るが仮想マシンでは基本機能

Page 10: サーバ仮想化入門

10Copyright Red Hat K.K. All rights reserved.

サーバ仮想化の応用

• サーバ仮想化を単純に使うだけでも便利ですが、応用することができます

• 運用管理の高度な自動化• ソフトウェアでサーバの配置・撤去・構成変更、再起動など

ができるので、自動化が進められる• 仮想サーバのクローン

• 仮想サーバのコピーを作れるので同一内容の仮想サーバを作る手順が簡単になります

• 本番環境とは別に同一の環境を作ってテスト• クラスタやデスクトップなど同じ環境を複数設置する場合に

便利

Page 11: サーバ仮想化入門

11Copyright Red Hat K.K. All rights reserved.

サーバ仮想化の苦手なところ

• サーバ仮想化は良いことばかりに思えますが弱点もあります• 短い(〜100ms)待ち時間が問題になる時

• 工場のライン制御• 画像や音声のリアルタイム合成• 証券取引などの低遅延処理

• 比較的マイナーなハードウェア機能の利用• 仮想化環境が対応していない機能は使えません• クラスタリングミドルウェアで共有ディスクのSCSI PR3をつ

かうとか• ハードウェア独自機能でストレージへのパスを監視するとか• GPIOボードで外部のハードウェアと接続するとか

Page 12: サーバ仮想化入門

12Copyright Red Hat K.K. All rights reserved.

まとめ

• サーバ仮想化により1台のサーバ上で複数の仮想サーバを作ることができる• それぞれの仮想サーバに個別のOSをインストールできる• 管理者権限と資源の切り分けに有効

• ソフトウェアで実装されているので、仮想サーバは実際のサーバより便利な面がある• (多くの実サーバではオプション製品が必要な)外部からの操作

ができます• 仮想サーバは コピー、移動、一時停止などができます

• 苦手なこともあります• 適材適所でつかいましょう

Page 13: サーバ仮想化入門

13