muninで作ったrrdデータを個別にグラフ化


muninというリソースモニタリングプログラムシステム。
このシステムは、取得したデータをRRDtoolを利用して保存し、グラフ化しています。

これで取得したデータを、個別でグラフ化したいと思って、探したところ、以下の様な感じになりました。

# /usr/bin/rrdtool graph /home/osakanataro/web/nise/load.png --imgformat=PNG --start=-86400 --end=-300 --base=1000 --height=100 --width=200 --upper-limit=5 --title="負荷状況" DEF:load="/var/lib/munin/localhost/localhost-load-load-g.rrd":42:AVERAGE CDEF:ok=load,2.0,GT,UNKN,load,IF CDEF:ng=load,2.0,GT,load,UNKN,IF HRULE:2.0#0000FF AREA:ok#00CF00 AREA:ng#FF0000

これで作成したグラフは↓です。

ロードアベレージの推移を見たい、という感じのグラフです。
これを作った当初はload averageが5ぐらいに行くことがあったので、5を最大(–upper-limit=5)としています。

Proxmox上のOpenVZ仮想マシンのバックアップ


Proxmox VEにはOpenVZ仮想マシンのバックアップを容易に取れるように、専用ツールvzdumpが用意されている。
このvzdumpは、OpenVZのwikiにも掲載されているぐらいの便利ツールのようです。

vzdumpでバックアップを行うと、各仮想マシンごとにtarファイルができあがります。

さて、このバックアップファイルを、Proxmoxサーバ内部に残しておくとバックアップの意味がないので、外部サーバに転送しましょう。
NFSでマウントした先にコピーというのが一番簡単なやりかたですが、安いNASだとNFSに対応していない場合があります。

まぁ、具体的にはLinkStationをバックアップ先にしたいです。
この場合、CIFS、ftp、そして、rsync(LinkStationは「バックアップ」と呼ばれている)で転送することができますが、無難なあたりでftpで転送する、とします。

そんなスクリプトを作りました

仕様
・ftpサーバに指定ユーザ・パスワードでログインする
・バックアップは10世代保存とする。
・起動中の仮想マシンのみバックアップする
・Proxmoxサーバ内にバックアップイメージを作成するが、容量が少なく済むように1個ずつ実施する
・lftpを使ってアップロードするので、「aptitude install lftp」でインストールしておく

#!/bin/bash
# vzdump and ftp upload script
#
DUMPDIR="/work"
UPLOADDIR="/disk1/backup/dump"

FTPHOST="IPアドレス"
FTPUSER="ユーザ名"
FTPPASSWORD="パスワード"

cd $DUMPDIR
vzlist > vzlist.log

# create upload directory
lftp -c "open -u $FTPUSER,$FTPPASSWORD $FTPHOST
mkdir $UPLOADDIR/transfer"


# dump and upload virtual machine
# "vzlist -1" : dump active VM only
# "vzlist -a -1": dump all VM
# "vzlist -S -1": dump standby VM only
for hostid in `vzlist -1`
do
	echo $hostid;
	cd $DUMPDIR
	vzdump --dumpdir $DUMPDIR $hostid
	lftp -c "open -u $FTPUSER,$FTPPASSWORD $FTPHOST
cd $UPLOADDIR/transfer
mput -E *.tar *.log"
done

# lotate
lftp -c "open -u $FTPUSER,$FTPPASSWORD $FTPHOST
cd $UPLOADDIR
rm -r daily.9
mv daily.8 daily.9
mv daily.7 daily.8
mv daily.6 daily.7
mv daily.5 daily.6
mv daily.4 daily.5
mv daily.3 daily.4
mv daily.2 daily.3
mv daily.1 daily.2
mv daily.0 daily.1
mv transfer daily.0"

上記スクリプトは毎日夜間に実行するつもりのものなので、NetAppライクに「daily.数字」という感じでディレクトリを作成しています。

自ホスト宛のメールだけど他のメールサーバに飛ばしたい


自ホスト宛の、通常だとローカル配送になるようなメールだけど、自分では受け取らず、他のメールサーバに飛ばしたい、という時に、sendmailにする設定内容。

/etc/mail/sendmail.mc の最後に以下を追加する。

define(`LOCAL_RELAY',`smtp:送付先サーバ名')dnl
LOCAL_USER(`root')dnl
define(`MAIL_HUB',`smtp:送付先サーバ名')dnl
FEATURE(`stickyhost')dnl

この設定にした場合
・ユーザ名@自ホスト のメールは送付先サーバ名に指定したところに送付
・ユーザ名@他ドメイン のメールは、普通にDNSのMXを見て配送

gmailとかにメールを委託している時にも使えることかと思われる。

SideBySide のエラー イベントID 33


Windows2008とかWindows7のアプリケーションログに「SideBySide のエラー イベントID 33」がでるという現象が発生。

ソース: SideBySide
イベントID: 33
レベル: エラー
ユーザ: N/A

"C:\Windows\system32\conhost.exe" のアクティブ化コンテキストの生成に失敗しました。 従属アセンブリ Microsoft.Windows.SystemCompatible,processorArchitecture="amd64",publicKeyToken="6595b64144ccf1df",type="win32",version="6.0.7600.16823" が見つかりませんでした。 詳細な診断を行うには sxstrace.exe を実行してください。

いろいろ調査してみるとMicrosoft Windows Server TechCenterのWindowsServer ForumsのGeneralにあるSideBySide Error EventID 33 on conhost.exeが該当している模様。

状況を整理すると・・・

・SP1を適用していないWindows Server 2008R2かWindows 7で発生する
・2011年7月のWindows Updateで配布されたKB2507938にてconhost.exeが更新された
・上記のconhost.exeが呼び出すdllが存在していないのでエラーとなる
・呼び出すdllは、hotfix 977648で提供されている
・ただ、hotfix 977648を適用するとconhost.exeが古いバージョンとなるのでKB2507938の再適用が必要

というわけで、解決方法は

1. 現在あたっているKB2507938をアンインストールする
2. hotfix 977648にて「View and request hotfix downloads」をクリックしてhotfixのダウンロード要求を出す
3. しばらくすると、メールアドレスにURLが送られてくるのでダウンロードする
4. ダウンロードしたhotfix 977648を適用する
5. KB2507938を再適用する
6. 再起動

ということになるらしい。

なお、この件に関して質問をされても、当方では回答できませんので、質問はしないでください。
(2011/08/02: hotfix入手方法がわかりにくかったようなので、手順を修正)

IEEE802.15.4とTCP/IP


Ben Nano Noteは単独ではネットワークに接続できず、PCにUSB接続してブリッジするか、それともmicroSDカードサイズの無線LANカードを使うか、ということをする必要があります。

以前、auのau Wi-Fi WINカードが使えないかなぁ?と発売直後に入手してみましたが、ミツミ電機製のチップに対応したLinuxのドライバが発見できず、お蔵入りとなっていました。

そこに、新しい手法が現れました。

Ben WPANプロジェクトです。
IEEE 802.15.4準拠のチップを利用して、無線でTCP/IP通信を行おう、というものです。
Ben Nano Note側はmicroSDHCスロットを使用しますが、SDIOではありません。
便宜上「8:10 card」という名称にしていますが、microSDHCコネクタを利用して汎用I/Oを行わせちゃおう、というものです。

この技術を使って、IEEE 802.15.4チップを操作して、TCP/IP通信を行わせてしまうようです。

Ben Noteで、どういった感じなのかは、Ben WPANプロジェクトのwikiを見るよりはプロジェクトマネージャのWernerさんのページ「Ben-WPAN Overview」を見るとわかりやすいです。

Ben Note用基板: atben
PC用USBコネクタ基板: atusb
Linux用Device Driverは、Linux-zigbeeプロジェクト+ben-wpan kernel branchの修正

で、IPアドレスの部分は、基本IPv6で考えられているような感じで、「6LoWPAN(IPv6 over Low power Wireless Personal Area Networks)」という単語が頻繁に出てきます。

が、詳しくみてないので、よくわかりません。

おいおいもうちょっと調べていってみようかと思います。