九州工業大学大学院
情報工学府 情報創成工学専攻
12675004 大薗弘記
組織で使用されるPCの数は膨大になってきている
◦ PCの管理は管理エージェントというソフトウェアを導入
して行っている
PCが起動していないと管理できない
◦ 管理者は障害が発生したPCの設置場所まで行って修
復作業を行わなければならない
PC
管理ツール
ノートPC
PC
管理エー
ジェント
・・・
管理エー
ジェント
・・・
最近のPCにはAMTが搭載されるようになってきて
いる
◦ PCをリモートから管理するためのハードウェア
管理者はPCをハードウェアレベルで管理することが
できる
◦ リモートからPCを起動できる
◦ ネットワークの設定ミスをしていても接続できる
PC
管理ツール
AMT
近年、仮想デスクトップが普及してきている
◦ システムをサーバ上の仮想マシン(VM)で動かす
◦ 画面のみをPC上に表示させる
管理者はPCとVMをそれぞれ管理しなければならな
い
◦ PCとVMの管理ツールは異なる
仮想デスクトップ
・・・
PC
PC
AMT
・・・
AMT
VM
PC
管理ツール 管理ツール
VM
・・・
サーバ
VM
VM用の仮想的なAMTを提供
◦ PCを管理するAMTと同様のインタフェースでVMの管
理を行える
CIM、Webサービス、VNC
◦ AMT対応の管理ツールよって一元的な管理が可能
PCとVMの違いを意識する必要がない
・・・
仮想デスクトップ
PC
PC
AMT
・・・
VM
AMT
管理ツール
・・・
vAMT
VM
vAMT
サーバ
VM
Web
サービス群
CIMプロ
バイダ群
CIMOM
WS-Manサーバ
SOAPサーバ
WS-Man
vAMT
VNCサーバ
SOAP
Webサーバ
:16992
:5900
VMのIPアドレス
それ以外
262個
MOF言語でCIMクラスが記述されている
◦ CIMクラスは以下の要素で構成される
プロパティ
メソッド
CIMプロバイダ
class CIM_Processor :
CIM_LogicalDevice {
[Key] uint32 Number;
uint32 Enable(boolean Enabled);
};
◦ CIMクラスのインスタンスを管理
インスタンスの列挙
特定のインスタンスの取得
メソッド呼び出し GetInstance
EnumerateInstances
CIM_Processorプロバイダ
CPU1
CPU2
CPU3
CPU4
CIMPLEを用いてMOFからCIMプロバイダの雛形を
C++で生成
CIM_Processor
クラス
MOF
CIMプロバイダ
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;
}
libvirtを用いてVMに関する処理を記述
CIM_PowerManagement
クラス
MOF
CIMプロバイダ
Get_Instance_Status
CIM_PowerManagement_Provider::get_instance(
..., CIM_PowerManagement*& instance)
{
pow = virDomainIsActive(dom);
instance->PowerState.set(pow);
return GET_INSTANCE_OK;
}
WSDLでオペレーション等が記述されている
◦ Axis WSDL2Javaを用いてWSDLからWebサービス
の雛型をJavaで生成
libvirt-javaを用いてJavaからlibvirtを呼び出す
remoteControl
オペレーション
WSDL
267個
public RemoteControlResponse
remoteControl(RemoteControl control)
{
command = control.getCommand();
if (command == 1)
domain.shutdown();
return …
}
PCと違い、VMは停止状態の時には実体がない
◦ VMから情報を取得できない
◦ VMにVNC接続できない
vAMTは停止状態のVMも管理できる
◦ libvirtを用いることでVMのコンフィグから情報を取得
◦ VMに接続できない時はダミーのVNCサーバに接続
VM
ダミーの
VNCサーバ
vAMT
VMの
コンフィグ
OpenPegasus、Axis2、KVMを用いて実装した
◦ AMT対応のためにOpenPegasusを修正
CIMPLEを修正した
◦ AMT対応のためにMOFの文法チェックを拡張
作成したCIMプロバイダとWebサービス
◦ CIMプロバイダ:39個
◦ Webサービス:20個
実験の目的
◦ 既存の管理ツールを用いてvAMTによるVMの管理が
できることの確認
◦ AMTとvAMTの処理性能の比較
実験環境
AMT実験環境
vAMT実験環境
OS
Windows 7
Professional
OS
debian 2.6.32-5amd64
CPU
Intel(R) Core(TM) i7
3.40GHz
CPU
Intel(R) Core(TM) i7
2.93GHz
メモリ
2GB
メモリ
4GB
AssetDisplayによるCPU情報取得にかかる時間を
AMTとvAMTとで比較
◦ vAMTの処理時間はAMTより短かった
◦ 送られたリクエスト数はどちらも12個で同じ
◦ AMTのハードウェア性能が低いことが原因
1600
1400
処理時間 [ms]
1386
1200
1000
800
600
399
400
200
0
AMT
vAMT
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にアクセスするためのイン
タフェースにも対応する
© Copyright 2026 ExpyDoc