Upload
aquila
View
136
Download
0
Embed Size (px)
DESCRIPTION
仮想 デスクトップと PC の一元管理を可能にする仮想 AMT. 九州工業大学 大薗弘記 光来健一. 従来の PC 管理. PC の管理 は OS 上に管理エージェントを導入して行っている 膨大な数 の PC をリモートで管理できる OS が起動していないと管理できない 管理者は障害が発生した PC の設 置場所まで行って修復作業を行わなければならない. ノート PC. PC. PC. 管理コンソール. ・・・. ・・・. AMT を用いた管理. 最近の PC には AMT が搭載されるようになってきている - PowerPoint PPT Presentation
Citation preview
PC の管理は OS 上に管理エージェントを導入して行っている◦膨大な数の PC をリモートで管理できる
OS が起動していないと管理できない◦管理者は障害が発生した PC の設置場所まで行って修復作業を行わなければならない
従来の PC 管理
管理コンソール
PC PC ノートPC
・・・・・・
最近の PC には AMT が搭載されるようになってきている◦インテルが提供する vPro の管理機能の核となる技術◦PC をハードウェアレベルで管理することができる
OS が起動していなくても管理が可能◦リモートから PC の電源を入れる◦OS 起動前の画面の確認や BIOS の設定
AMT を用いた管理
管理コンソールPC
AMT
近年、仮想デスクトップが普及してきている◦本体を遠隔に置いて画面のみ PC 上で表示◦本体を仮想マシン( VM )に置き換えて動作させる
セキュリティを向上させ、管理を容易にすることができる◦データの分散・情報漏洩の危険性が低下◦メンテナンスやアップグレードが容易
仮想デスクトップの普及
・・・
サーバVM
マウス・キーボード操作
画面情報
画面 本体画面を表示 V
M
仮想化
組織内では PC と仮想デスクトップが混在している◦仮想デスクトップの普及はまだ過渡期である◦仮想デスクトップを使用できない PC も存在する
管理者は PC と仮想デスクトップをそれぞれ管理しなければならない
混在した環境での管理
・・・
サーバVM
PC管理ツール VM管理ツール VM・・・
PC
AMT
PC
AMT
仮想マシンに対して仮想的な AMT を提供する◦PC を管理する AMT と同様のインタフェースで仮想マシンの管理を行える◦AMT 対応の管理ツールよって一元的な管理が可能
PC と仮想マシンの違いを意識する必要がない
提案:仮想 AMT ( vAMT )
・・・
サーバVMvAMT
VMvAMT管理ツール
・・・
PC
AMT
PC
AMT
仮想マシンの仮想的なハードウェア資産情報を確認する◦ネットワーク上に存在する仮想マシンを検出◦仮想マシンが起動していなくても情報を取得
仮想 AMT の機能(検出)
管理コンソール① 取得したい情報を問い合わせ② 要求された情報を返信
・・・VM
vAMT
VM
vAMT
サーバ
障害の発生した仮想マシンの修復作業を行う◦仮想 AMT 経由で仮想マシンに VNC 接続して操作◦仮想マシンの起動 / 停止 / リセット◦別のディスクイメージから起動
仮想 AMT の機能(回復)
管理コンソール② 管理者がリモートから画面を表示
① ユーザがトラブル・コール
③ 管理者が修復作業を行う
VM
vAMT
サーバ
仮想マシンが攻撃を受けたときに仮想ハードウェアのレベルで防御する◦管理エージェントがウィルスを検知したらネットワークを切断◦管理エージェントが停止させられたらアラートを送信
管理エージェントからハートビートを受信
仮想 AMT の機能(保護)
管理コンソール
vAMT③ 管理者にアラートを送信③ ネットワーク接続を制限
エージェント① 定期的にハートビート送信 ② 管理エージェントの停止を検知
サーバ
仮想 AMT は CIM を拡張したインタフェースを用いる◦CIM :管理対象デバイスをメーカや種類によらず管理するための規格
CIM は以下の要素で構成される◦クラス◦プロパティ◦メソッド◦修飾子
仮想 AMT のインタフェース
class CIM_Processor : CIM_LogicalDevice { [Key] uint32 Number; uint32 Enable([IN] boolean Enabled);};
MOF で記述された CIM クラス
CIM のクラスやインスタンスを操作するためにCIM オペレーションが用いられる◦EnumerateInstances
指定したクラスのすべてのインスタンスを取得する◦GetInstance
指定したインスタンスを1つ取得する◦メソッド呼び出し
CIM クラスで定義したメソッドを実行する
CIM オペレーション
CPU 番号 1
CPU 番号 2
CPU 番号 3
CPU 番号 4
CIM_Processor のインスタンス管理コンソールGetInstance
CPU 番号 1
CPU 番号 2
CPU 番号 3
CPU 番号 4
CIM_Processor のインスタンス管理コンソールEnumerateInstances
CIM プロバイダ◦仮想 AMT の各機能を実現する
WS-Manサーバ◦リクエストを CIM に変換
CIM オブジェクトマネージャ( CIMOM )◦リクエストを適切な
CIM プロバイダに送る
仮想 AMT の構成
リポジトリCIMOM
VM
・・・CIMプロバイダ
vAMT
WS-Man サーバWS-Man
CIMPLE というツールを用いて CIM クラスの定義から CIM プロバイダの雛形を生成◦CIM クラスはインテルが提供しているものを使用する
生成した CIM プロバイダに必要な処理を記述する
CIM プロバイダの作成
class CIM_Processor : CIM_LogicalDevice { [Key] uint32 Number; uint32 Enable([IN] boolean Enabled);};
CIM クラス
雛形
CIMプロバイダCIMPLE
開発者
指定された CIM クラスの全てのインスタンスを返すように記述するenum_instances の記述例
Enum_Instances_Status CIM_Processor_Provider::enum_instances( const CIM_Processor* model, Enum_Handler<CIM_Processor>* handler){ for (i = 0; i < nCPUs; i++) { CIM_Processor *cpu = CIM_Processor::create(); cpu->Number.set(i); handler->handle(cpu); } return ENUM_INSTANCES_OK;}
CIM クラスで定義したメソッドの具体的な処理を記述するメソッド呼び出しの記述例
Invoke_Method_Status CIM_Processor_Provider::Enable( const CIM_Processor* self, const Property<boolean>& Enabled, Property<uint32>& return_value){ // ここに処理を記述 return INVOKE_METHOD_OK;}
CIM_Processor の Enable メソッドの例
AMT に関する情報の取得◦CIM_SoftwareIdentity
仮想マシンの電源オン・オフ◦CIM_AssociatedPowerManagementService◦CIM_ComputerSystem◦CIM_PowerManagementService
AssetDisplay コマンドを用いた情報の取得◦CIM_BIOSElement◦CIM_Chassis◦CIM_ComputerSystemPackage
作成した CIM プロバイダ
CIM_SoftwareIdentity の CIM プロバイダを作成◦AMT に対する問い合わせに応答するようにした
AMT が動作しているかの確認に使われる◦AMT の最新バージョンを返すようにした
AMT の機能のサポート状況を調べるのに使われる
AMT に関する情報の取得
vAMT
管理ツール
VM
・・・・・・CIM_SoftwareIdentity
キー “ AMT”
バージョン情報 “ 7.1.4”
電源オン・オフを行うために3つの CIM クラスが必要◦電源の状態を取得する◦システム情報を取得する◦電源操作を行う
仮想マシンの情報取得や操作を行うには libvirtを用いた◦libvirt :仮想マシンを操作するための関数の集まり
仮想マシンの電源オン・オフ
vAMT
管理ツール
VM
libvirt
① 電源状態を取得 ② システム情報を取得③ 電源操作を行う
SDK の AssetDisplay コマンドを仮想マシンに対しても実行できるようにした◦コンピュータシステム情報を取得するには 3 つの
CIM クラスが必要 BIOS 情報を取得する 製造メーカやモデル名の情報を取得する GUID を取得する
Manageability Commander Tool では非常に多くの CIM クラスが使用される◦接続するだけで 39 種類
AMT 対応管理ツールの利用
実験の目的◦作成した CIM プロバイダの動作確認◦既存のツールから仮想 AMT による管理が実行できるか検証◦仮想 AMT の処理性能の評価
実験環境
実験
OS Windows 7 Professional
CPU Intel(R) Core(TM) i73.40GHz
メモリ 2GB
AMT 実験環境OS debian 2.6.32-5-
amd64CPU Intel(R) Core(TM) i7
2.93GHzメモリ 4GB
仮想 AMT 実験環境
バージョン情報の取得を仮想 AMT と AMT に対して実行し、その処理時間を比較した◦AMT の場合は電源がオンの状態とオフの状態で測定
測定結果◦仮想 AMT の処理時間は AMT より短い
実験(3)
vAMT AMT 電源オフ( 1回目)
AMT 電源オフ( 2回目以降)
AMT 電源オン0
500
1000
1500
2000
2500
64
2144
392 112 時間
[ms]
QND Plus [Quality Soft]◦ソフトウェアベースの管理ツールで、 PC と仮想マシンを一元的に管理できる◦エージェントの停止時や電源のオフ時は管理できない
Virt-manager◦Xen や KVM などの異なる仮想化ソフトウェアの仮想マシンを一括して管理できる
関連研究(1)
CIM Virtualization [DMTF. 2007.]◦仮想マシンの管理を行えるようにするために仮想化に対応した CIM◦AMT の規格には含まれていない
IPMI◦CPU や OS に依存することなくハードウェアを管理するためのサーバ用インタフェース◦PC では使えない
関連研究( 2 )