九州工業大学 大薗弘記 組織で使用されるPCの数は膨大になってきている ◦ PCの管理は管理エージェントというソフトウェアを導入 して行っている PCが起動していないと管理できない ◦ 管理者は障害が発生したPCの設置場所まで行って修 復作業を行わなければならない PC 管理ツール ノートPC PC 管理エー ジェント ・・・ 管理エー ジェント ・・・ 最近のPCにはAMTが搭載されるようになってきて いる ◦ PCをリモートから管理するためのハードウェア 管理者はPCをハードウェアレベルで管理することが できる ◦ リモートからPCを起動できる ◦ ネットワークの設定ミスをしていても接続できる PC 管理ツール AMT 近年、仮想デスクトップが普及してきている ◦ システムをサーバ上の仮想マシン(VM)で動かす ◦ 画面のみをPC上に表示させる セキュリティを向上させ、管理を容易にすることがで きる ◦ データの分散・情報漏洩の危険性が低下 ◦ メンテナンスやアップグレードが容易 仮想デスクトップ 画面を表示 仮想化 サーバ マウス・キーボード操作 VM 画面情報 ・・・ VM 組織内ではPCと仮想デスクトップが混在している ◦ 仮想デスクトップの普及はまだ過渡期である ◦ 仮想デスクトップを使用できないPCも存在する 管理者はPCと仮想デスクトップをそれぞれ管理しな ければならない ◦ 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の仮想的なハードウェア資産情報を確認する ◦ ネットワーク上に存在するVMを検出 ◦ VMが起動していなくても情報を取得 サーバ VM 管理ツール ①VMの検出 ②仮想ハードウェア情報を取得 vAMT ・・・ VM vAMT 障害の発生したVMの修復作業を行う ◦ vAMT経由でVMにVNC接続して操作 ◦ VMの起動/停止/リセット サーバ VM ①ユーザがトラブル・コール 管理ツール ②管理者がリモートから画面を表示 ③管理者が修復作業を行う vAMT VMが攻撃を受けたときに仮想ハードウェアのレベ ルで防御する ◦ 管理エージェントがウィルスを検知したらネットワーク を切断 ◦ 管理エージェントが停止させられたらアラートを送信 管理エージェントからハートビートを受信 サーバ エージェント ③ネットワーク接続を制限 管理ツール ③管理者にアラートを送信 VM ①定期的にハートビート送信 vAMT ②管理エージェントの 停止を検知 VM Web サービス群 CIMプロ バイダ群 CIMOM WS-Manサーバ SOAPサーバ WS-Man vAMT VNCサーバ SOAP Webサーバ :16992 :5900 VMのIPアドレス それ以外 262個 MOF言語でCIMクラスが記述されている ◦ CIMクラスは以下の要素で構成される プロパティ メソッド 修飾子 class CIM_Processor : CIM_LogicalDevice { [Key] uint32 Number; uint32 Enable(boolean Enabled); }; CIMプロバイダ ◦ CIMクラスのインスタンスを管理 CIM_Processorプロバイダ CPU情報1 CPU情報2 CPU情報3 CPU情報4 CIMクラスのインスタンスを取得するために使用さ れる ◦ EnumerateInstances 指定したクラスのすべてのインスタンスを返す ◦ GetInstance 指定したキープロパティ値を持つインスタンスを1つ返す メソッド呼び出しもできる ◦ CIMクラスで定義したメソッドを実行する CIM_Processorプロバイダ 管理ツール EnumerateInstances GetInstance CPU情報1 CPU情報2 CPU情報3 CPU情報4 2つのCIMクラスのインスタンスに対して関連づけを 行うために使用される ◦ 関連づける各CIMクラスのインスタンスを作成して キープロパティを設定する ◦ 片方のインスタンスを指定すると関連づけられたイン スタンスに関する情報を返す CIM_Processorプロバイダ 管理ツール ①キー「CPU番号1」を指定 CIM_Chipプロバイダ CPU情報1 CPU製造情報1 CPU情報2 CPU製造情報2 ・ ・ ・ ・ ・ ・ ②CPU製造情報1を返す ・ ・ ・ CIM_Realizesプロバイダ 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 … } 管理ツールがAMTにアクセスするにはAMTが搭載 されたPCのIPアドレスを指定する vAMTの場合も対応するVMのIPアドレスを指定して 接続できるようにした ◦ NAPTの設定によってVMへのアクセスをvAMT側に 192.168.1.1 変換する vAMT1 192.168.0.1:7001 VM1 ・・・ 192.168.0.1:5901 NAPT 192.168.1.1:16992 vAMT2 VM2 ホストOS 192.168.1.1:5900 192.168.0.1 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