九州工業大学大学院 情報工学府 情報創成工学専攻 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 2024 ExpyDoc