26
仮仮仮仮仮仮仮仮仮 PC 仮 仮仮仮仮仮仮 仮仮仮仮仮 AMT 九九九九九九 九九九九 九九九

仮想 デスクトップと PC の一元管理を可能にする仮想 AMT

  • 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の一元管理を可能にする仮想AMT 九州工業大学大薗弘記光来健一

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 実験環境

WinRM という管理ツールを用いて、仮想 AMTのバージョン情報を取得するコマンドを実行した

実験(1)実行コマンド

仮想 AMT の実行結果 AMT の実行結果

SDK の AssetDisplay ( -computersys )コマンドを仮想 AMT に対して実行した実験(2)

仮想 AMT の実行結果 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 )

仮想マシンを管理するための仮想的な AMT である仮想 AMT を提案◦PC と仮想マシンの一元的な管理が可能◦仮想マシンを管理するための CIM プロバイダを作成した

今後の課題◦AMT の基本機能を実現するための CIM プロバイダを実装する

まとめ