Upload
graceland
View
63
Download
0
Embed Size (px)
DESCRIPTION
仮想マシンと 物理マシン の 一元 管理 を可能 にする 仮想 AMT. 九州工業大学 大薗弘記. 従来の PC 管理. 管理ツール. 組織で使用される PC の数は膨大になってきて いる PC の管理は 管理エージェントというソフトウェアを導入して行っている PC が起動していないと管理できない 管理者は障害が発生した PC の 設 置 場所まで行って修復作業を行わなければならない. 管理エージェント. 管理エージェント. ノート PC. PC. PC. ・・・. ・・・. AMT を用いた 管理. 管理ツール. - PowerPoint PPT Presentation
Citation preview
仮想マシンと物理マシンの一元管理を可能にする仮想
AMT九州工業大学
大薗弘記
組織で使用される PC の数は膨大になってきている◦PC の管理は管理エージェントというソフトウェ
アを導入して行っている PC が起動していないと管理できない
◦管理者は障害が発生した PC の設置場所まで行って修復作業を行わなければならない
従来の PC 管理
ノートPC
・・・
・・・
PC
管理エージェント
PC
管理エージェント管理ツール
最近の PC には AMT が搭載されるようになってきている◦PC をリモートから管理するためのハードウェア
管理者は PC をハードウェアレベルで管理することができる◦リモートから PC を起動できる◦ネットワークの設定ミスをしていても接続できる
AMT を用いた管理
PC
AMT
管理ツール
近年、仮想デスクトップが普及してきている◦システムをサーバ上の仮想マシン( VM )で動か
す◦画面のみを PC 上に表示させる
セキュリティを向上させ、管理を容易にすることができる◦データの分散・情報漏洩の危険性が低下◦メンテナンスやアップグレードが容易
仮想デスクトップの普及
マウス・キーボード操作
画面情報
仮想デスクトップ
画面を表示サーバ
・・・
VM
仮想化
VM
組織内では PC と仮想デスクトップが混在している◦仮想デスクトップの普及はまだ過渡期である◦仮想デスクトップを使用できない PC も存在する
管理者は PC と仮想デスクトップをそれぞれ管理しなければならない◦PC と VM の管理ツールは異なる
混在した環境での管理
VM
PC
AMT
PC管理ツール
VM管理ツール・
・・
PC
AMT ・
・・サーバ
VM
・・・
仮想デスクトップ
VM 用の仮想的な AMT を提供◦PC を管理する AMT と同様のインタフェースで
VM の管理を行える CIM 、 Web サービス、 VNC
◦AMT 対応の管理ツールよって一元的な管理が可能 PC と VM の違いを意識する必要がない
提案:仮想 AMT ( vAMT )
PC
AMT
・・・
サーバ
VM
vAMT
管理ツール・・・
PC
AMT
・・・
仮想デスクトップ
VM
vAMT
VM の仮想的なハードウェア資産情報を確認する◦ネットワーク上に存在する VM を検出◦VM が起動していなくても情報を取得
vAMT の機能(検出)
①VM の検出
② 仮想ハードウェア情報を取得
・・・
VM
vAMT
VM
vAMT
サーバ
管理ツール
障害の発生した VM の修復作業を行う◦vAMT 経由で VM に VNC 接続して操作◦VM の起動 / 停止 / リセット
vAMT の機能(回復)
② 管理者がリモートから画面を表示
① ユーザがトラブル・コール
③ 管理者が修復作業を行う
VM
vAMT
サーバ
管理ツール
VM が攻撃を受けたときに仮想ハードウェアのレベルで防御する◦管理エージェントがウィルスを検知したらネット
ワークを切断◦管理エージェントが停止させられたらアラートを
送信 管理エージェントからハートビートを受信
vAMT の機能(保護)
vAMT③ 管理者にアラートを送信
③ ネットワーク接続を制限
エージェント
① 定期的にハートビート送信
② 管理エージェントの停止を検知
サーバ
管理ツール VM
vAMT の構成
CIMOM
VM
CIM プロ
バイダ群
vAMT
WS-Man サーバ
WS-Man
SOAP サーバ
Webサービス
群
SOAP
VNC サーバ
Web サーバ
:16992 :5900それ以外
VM の IP アドレス
MOF 言語で CIM クラスが記述されている◦CIM クラスは以下の要素で構成される
プロパティ メソッド 修飾子
CIM プロバイダ◦CIM クラスのインスタンスを管理
インタフェース 1 : CIM
class CIM_Processor : CIM_LogicalDevice { [Key] uint32 Number; uint32 Enable(boolean Enabled);};
262個
CPU 情報1
CIM_Processor プロバイダ
CPU 情報3
CPU 情報4
CPU 情報2
CIM クラスのインスタンスを取得するために使用される◦EnumerateInstances
指定したクラスのすべてのインスタンスを返す◦GetInstance
指定したキープロパティ値を持つインスタンスを1つ返す
メソッド呼び出しもできる◦CIM クラスで定義したメソッドを実行する
インスタンスプロバイダ
EnumerateInstances
管理ツール CPU 情報1
CIM_Processor プロバイダ
CPU 情報3
CPU 情報4
CPU 情報2GetInstance
管理ツール CPU 情報1
CIM_Processor プロバイダ
CPU 情報3
CPU 情報4
CPU 情報2
2 つの CIM クラスのインスタンスに対して関連づけを行うために使用される◦関連づける各 CIM クラスのインスタンスを作成し
てキープロパティを設定する◦片方のインスタンスを指定すると関連づけられた
インスタンスに関する情報を返す
関連プロバイダ
CIM_Processor プロバイダ
CIM_Chip プロバイダ
管理ツール ① キー「 CPU 番号 1 」を指定
②CPU 製造情報 1 を返す
CPU 情報1
CPU 情報2
・・・
CPU 製造情報1
CPU 製造情報2・・・
・・・
CIM_Realizes プロバイダ
CIMPLE を用いて MOF から CIM プロバイダの雛形を C++ で生成
CIM プロバイダの作成(1)
MOF
CIM_Processorクラス
Enum_Instances_Status CIM_Processor_Provider::enum_instances( ..., Enum_Handler<CIM_Processor>* handler){ for (i = 0; i < nCPU; i++) handler->handle(cpu[i]);
return ENUM_INSTANCES_OK;}
CIM プロバイダ
libvirt を用いて VM に関する処理を記述
CIM プロバイダの作成(2)
CIM_PowerManagementクラス
Get_Instance_Status CIM_PowerManagement_Provider::get_instance( ..., CIM_PowerManagement*& instance){ pow = virDomainIsActive(dom); instance->PowerState.set(pow);
return GET_INSTANCE_OK;}
MOFCIM プロバイダ
WSDL でオペレーション等が記述されている◦Axis WSDL2Java を用いて WSDL から Web サー
ビスの雛型を Java で生成 libvirt-java を用いて Java から libvirt を呼び出す
インタフェース 2 : Web サービス
public RemoteControlResponse remoteControl(RemoteControl control) { command = control.getCommand(); if (command == 1) domain.shutdown(); return …}
remoteControlオペレーション
WSDL
267 個
管理ツールが AMT にアクセスするには AMT が搭載された PC の IP アドレスを指定する
vAMT の場合も対応する VM の IP アドレスを指定して接続できるようにした◦NAPT の設定によって VMへのアクセスを vAMT側に変換する
vAMT へのアクセス
ホスト OSNAPT
VM1vAMT1
VM2vAMT2
・ ・ ・
192.168.0.1
192.168.1.1
192.168.1.1:5900192.168.1.1:16992
192.168.0.1:7001 192.168.0.1:5901
PC と違い、 VM は停止状態の時には実体がない◦VM から情報を取得できない◦VM に VNC 接続できない
vAMT は停止状態の VM も管理できる◦libvirt を用いることで VM のコンフィグから情報
を取得◦VM に接続できない時はダミーの VNC サーバに接
続
停止している VM の管理
vAMTダミーの
VNC サーバ
VM
VM のコンフィ
グ
OpenPegasus 、 Axis2 、 KVM を用いて実装した◦AMT 対応のために OpenPegasus を修正
CIMPLE を修正した◦AMT 対応のために MOF の文法チェックを拡張
作成した CIM プロバイダと Web サービス◦CIM プロバイダ: 39 個◦Web サービス: 20 個
実装
実験の目的◦既存の管理ツールを用いて vAMT による VM の管
理ができることの確認◦AMT と vAMT の処理性能の比較
実験環境
実験
OS Windows 7 Professional
CPU Intel(R) Core(TM) i73.40GHz
メモリ 2GB
AMT実験環境
OS debian 2.6.32-5-amd64
CPU Intel(R) Core(TM) i72.93GHz
メモリ 4GB
vAMT実験環境
デモ
AssetDisplay による CPU 情報取得にかかる時間を AMT と vAMT とで比較◦vAMT の処理時間は AMT より短かった◦送られたリクエスト数はどちらも 12 個で同じ◦AMT のハードウェア性能が低いことが原因
処理性能の比較
AMT vAMT0
200
400
600
800
1000
1200
1400
16001386
399
処理
時間[ms]
QND Plus [Quality Soft]◦管理エージェントを用いて PC と VM を一元的に
管理するツール Virt-manager
◦Xen や KVM などの異なる仮想化ソフトウェアのVM を一括して管理できる
CIM Virtualization [DMTF 2007]◦VM の管理を行えるようにするために仮想化に対
応した CIM
関連研究
VM を管理するための仮想的な AMT であるvAMT を提案◦PC と VM の一元的な管理が可能◦いくつかの管理ツールの実行に必要な CIM プロバ
イダと Web サービスを作成した◦既存の管理ツールから vAMT を用いた管理を行え
ることを確認した今後の課題
◦VM 内の OS から vAMT にアクセスするためのインタフェースにも対応する
まとめ