狠狠撸

狠狠撸Share a Scribd company logo
Webアプリケーションによる
電源管理システムのご紹介
Ryo Shibata
自己紹介
? 主な仕事
– ネットワークに関する検証/POCの実施、検証設備の管理等
? プログラミング歴
– BASIC
– Perl, JavaScript
– Fortran, Java, C++
– Python
? 現在の仕事におけるプログラミング活用
– スクリプトによるネットワーク機器設定
– 各種便利ツール開発
– API を利用した設定投入
アジェンダ
? 开発背景
? システム概要
? 付加机能
? 导入结果と今后
开発背景
开発背景
? 約100ラックの検証設備(ラボ)
? 各機器はネットワーク経由でアクセス可能
? 各ラックにはリモートから操作可能なPDU(Power
Distribution Unit)が設置されている
? PDU の各ポートにはディスクリプション
を設定可能(接続機器名を設定)
? 数種類のPDU が混在
? 電源操作、機器名の変更は、
それぞれのPDU にWeb ブラウザで
アクセスし、個別に操作
PDU
开発背景(続)
? それぞれのPDU にアクセスするのが面倒
? 接続機器名のメンテナンスが面倒
? PDU のベンダーによって操作方法が異なる
? Web 上から複数のPDUを簡単に操作可能
? PDU のタイプに依らない操作方法
? 誰でも使える
? 電源オフさせない設定が可能
? 異なるラボにも展開可能
システム概要
環境説明
A B C
A01
A02
B01
B02
C01
C02
ラボを上から見た図
ラック番号
列
東京 A
B
C
A01
A02
A01-A
A01-B
ラボ 列 ラック PDU
電源操作時のフロー
クライアント サーバ PDU
列選択
ラック選択
結果
電源操作
ポートの情報
SNMP GET
ラック一覧
結果
SNMP SET
AjaxSNMP
F
F01,F02, …
F10
F10-B-24 ON
使用している技術
? クライアント側
– JavaScript
? jQuery
? Bootstrap
– Ajax
? サーバ側
– Linux (Cent OS on VMware ESXi)
– Apache
– MySQL
– Perl スクリプト
– SNMP
? Net::SNMP 使用
データの格納
Lab ID
Lab Name
Rack ID
Lab ID
Rack Name
Rack Group
PDU ID
PDU Name
Rack ID
IP Address
PDU Type ID
PDU Type ID
ro community
rw community
state OID
name OID
? DB 構造(抜粋)
? PDU
– 各ポートの状態(ON/OFF)
– 各ポートの名前 (通常接続されている機器名)
– 消費電力(一部PDUのみ対応)
ラボ情報 ラック情報 PDU 情報
(個々のPDU)
PDU 情報
(PDU の種類別)
付加机能
付加机能
? PDU 管理機能
– PDU の追加、削除、編集、 ポートの操作可否設定
? 電源オフさせない機能をユーザレベルに拡張
– 使用者がセルフサービスで電源操作の可否を設定?解除可能
? ポートのグルーピング機能
– 複数PDU にまたがるポートをグループ化できる機能
– プロジェクト単位での電源操作をしやすくする
导入结果と今后
導入結果
? 電源操作は基本当該システムから実施
? 不使用時電源OFF のオペレージョンを徹底
? 検証の効率化と節電の両立に貢献
電源ON/OFF 操作数/day
今後
? スクリプトで時刻ベースで自動OFF
=> 除外する仕組みが必要
? 状態を保持してポートの使用状況を把握
– 各ポートの状態の履歴を保存する必要がある
– 当該システム以外の方法で電源操作した場合は?
=> 定期的なポーリング?負荷は?

More Related Content

奥别产アフ?リケーションによる电源管理システムのこ?绍介