Debian/Ubuntuでhpacucli

余計なツールは欲しくないけど、RAIDの監視だけはしたいという時もあるはず。
rpmは分かりやすい所に置いてあるけど、debはSDRの中に放り込んであるので単体で持ってきてインストールする。

必要なライブラリを先に入れる。
# aptitude install lib32gcc1 lib32stdc++6

パッケージダウンロード(現時点で最新)
# http://downloads.linux.hp.com/SDR/downloads/ProLiantSupportPack/Debian/pool/non-free/hpacucli_8.28-13.0.10-9_amd64.deb
# dpkg -i hpacucli_8.28-13.0.10-9_amd64.deb

動かしてみる
# /usr/sbin/hpacucli ctrl all show config

Smart Array P410i in Slot 0 (Embedded)    (sn: ****************)

array A (SAS, Unused Space: 0 MB)

logicaldrive 1 (410.1 GB, RAID 5, OK)

physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 146 GB, OK)
physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 146 GB, OK)
physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS, 146 GB, OK)
physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SAS, 146 GB, OK)

SEP (Vendor ID PMCSIERA, Model  SRC 8x6G) 250 (WWID: ****************)

HPに限らないけどベンダー系サイトの分かりにくさは異常。

BounceHammerに必要なCPANモジュール

バウンス処理でなかなかイケてるソリューションHounceHammer様。見た感じもAPIもかなりィィ。
しかし必要なCPANモジュールがやたら多く、激しくめんどくさかったのでインストールメモ。
OSはUbuntu10.04 BounceHammerは2.7.7

# perl -MCPAN -e shell

install Class::Accessor::Fast::XS
install Term::ProgressBar
install Error
install Email::AddressParser
install Text::ASCIITable
install Perl6::Slurp
install DBIx::Skinny
install Crypt::DES
install JSON::Syck
install Crypt::CBC
install YAML
一度ぬけてMCPANしなおす
install Path::Class
install Path::Class::File::Lockable
install CGI::Application
install CGI::Application::Plugin::HTMLPrototype
install CGI::Application::Dispatch
install CGI::Application::Plugin::TT
install CGI::Application::Plugin::Session

あとは通常通りmake; make install

セットアップ完了後エラーがでる場合は大体DBまわりが原因らしい。
libdbi-perl が入っているか確認こと。

Postfixのオレオレ証明書更新

ひっそりと有効期間が過ぎていたPostfixのオレオレ証明書の更新メモ。

既存証明書(ssl-cert.pem)
既存秘密鍵(ssl-cert.key)
新規CSR(ssl-cert.csr)
新規証明書(20110326.pem)

・CSRを作るために、既存のSubjectの内容を控えておく。
# openssl x509 -in ssl-cert.pem -text

・既存の秘密鍵を利用してCSRを作成する。
# openssl req -new -key ssl-cert.key -out ssl-cert.csr
Subjectのとおりに各項目を入力。

・秘密鍵とCSRから証明書を生成する。
# openssl x509 -in ssl-cert.csr -out 20110326.pem -req -signkey ssl-cert.key -days 3650
ついカッとなって10年で生成。

秘密鍵に変更はないのであとはPostfixの設定を一行変更してReloadしたら作業完了。
smtpd_tls_cert_file=/etc/ssl/20110326.pem

各クライアントにSSLの警告がでるので、ユーザサポートがんばる。

NetscreenのCactiテンプレート

中古のNetscreen 50のあまりの安さに、なんちゃってL3スイッチとして使うことに。

Cactiでリソース監視するにあたって、こちらのCactiテンプレートを使ってみた。
0.8.7iで得に問題なし。左メニューのImport Templatesから順番にインポートするだけでOK。

試してないけど、この辺にもいくつかまとまっている。

 

PHPでoutboundのIP指定とタイムアウト

早速、昨日今日でやったことのメモ

一つのサーバでIP Alias等で複数のIPアドレスを持っている場合、任意のIPアドレスを使用して、外に出て行く方法。

//使用するIPアドレス
$ip_addr = array(“192.168.10.10”, “192.168.10.11”);

//ソケットの生成
$sock = socket_create( AF_INET, SOCK_STREAM, SOL_TCP );

//タイムアウト5秒
$sec = Array(“sec” => 5, “usec” => 0);
socket_set_option($sock, SOL_SOCKET, SO_SNDTIMEO, $sec);
socket_set_option($sock, SOL_SOCKET, SO_RCVTIMEO, $sec);

//outboundのIPを指定する
socket_bind($sock, $ip_addr[0]);

あとは通常通りにsocket_writeとかすれば大丈夫。
エラーハンドリングはsocket_last_error();を使うといいっぽい。
サンプルコード引っ張ってきてやっつけだけどこんな感じに実装。

$socket_error = socket_last_error();
if($socket_error) {
print socket_strerror($socket_error) . “:” . $to . “\n”;
}