障害記録 UPS 2012/09/28

本日のアクセス障害に関する障害記録。

  • 11:02 ESXi動作マシンの電源故障により、収容仮想マシンがダウン(時間はログから推定)。仮想化されていたルータのダウンにより、全外向きサービスの不通となる
  • 19:45 当初原因不明であったため、同マシンの電源を投入したところ、電力供給ライン上のUPSが短絡検出したことで当該UPSの電力供給が停止。これにより、UPS収容装置の全断が発生
  • 19:50 故障電源を予備電源と入れ替えて再度起動
  • 20:07 各監視アラートの対処を完了

今後の対応と対策

  • どうしよっかー...

冷静にログ追ったら断時間が8時間5分とか、年間で言うと0.1%分の稼働率が吹っ飛んだことに...。

まぁメンテナンス入れたらもっと吹っ飛んでますけど。

more…

net6501-70 + FreeBSD 9.0R

本来はFreeBSD 9.1Rを待って、「サポート期間長いぞうひょー」なのだが。

先んじてFreeBSD 9.0Rで動作確認しておこうかな、と。

OpenBSDについては相談の結果L2TP Clientになれそうになかったので、少し保留。

net6501にはVGAが無いので、必然的にSerialを使った操作になる。

FreeBSDのインストールメディアはUSBメモリ1択。

CD/DVDはどうしても使わないといけない時以外は使わないようになりました。

FreeBSD-9.0-RELEASE-i386-memstickをddして焼きこみ。でもVGA用だからSerial用に設定する。handbook見ながらね!

https://www.freebsd.org/doc/ja/books/handbook/serialconsole-setup.html#idp87991760

# dmesg \tail -6
da4 at umass-sim0 bus 0 scbus2 target 0 lun 0
da4: Removable Direct Access SCSI-5 …
more…

OpenBSDとnpppdにルータのご相談(2)

前回、 OpenBSDとnpppdにルータのご相談(1) でスルーしたPPPoEも簡単に試す。

  • pppoe(4)の動作確認。
  • npppdが可能なのはPPPoE Server(BAS)側なので、サーバ側はそちらで。

環境は以下です(適当)

  • VirtualBoxホスト : 2740p i7 CPU M 620 @ 2.67GHz
  • PPPoE Client : 1コア 256MB 内部net(PPPoE) HostOnly(ssh用)
  • PPPoE Server : 1コア 256MB 内部net(PPPoE) HostOnly(ssh用)

PPPoE Server side

まずはユーザを作ろう。

# echo "Username,Password,Framed-IP-Address,Framed-IP-Netmask,Description,Calling-Id" >> /etc …
more…

OpenBSDとnpppdにルータのご相談(1)

OpenBSDさんと、PPPoE、L2TP/IPsec、PPTP、L2TP、pf周りでルータ代替の機能確認を少し。

厳密に言うとルーティングはしないんだけど。まぁいいや。

OpenBSD触るの初めてなので全然勝手が分からないのがどちらかと言えば障害になっているのであった。

npppdのドキュメント少ないとか言ってすいませんでした。

いくつか当たりを付ける。

結論としては、PPPoEに関してはpppoe(4)かpppoe(8)を使うことになるんじゃないか、ということ。

L2TP/IPsecとPPTPについてはnpppdで捌けそうだし、pfは元より本家なので引き継ぐのは容易...という想像。

L2TP LAC(OCN IPv6用)だけ不透明なので継続して要調査(でも多分諦める気がする)。

(もし、npppdがLAC対応したらmpdのような立ち位置になるかもしれない)

まず、PPPoEの話。

これは前例がいくつもあるようなので、特に深く追ってないのだけど、この辺で何とかしましょう、という雰囲気。

more…

net6501-70を買って、それからどうしよう。

BSD界隈ではたまにネタになるSoekris社のnetシリーズなのだけど、とうとうnet6501-70を衝動的に買ってしまった。

net6501シリーズはこちら http://soekris.com/products/net6501.html

ので、PfSenseを入れてルータはこっちにしようかな...と、仮想化と逆行することを考えている日の話。

なんだかんだ言ってさ?誰だって欲しいもんじゃあ無いんですか?

「GbEポートが沢山ついてて、まさに自分でOS入れてルータとして使ってください。それ以外の用途は、まぁ、今度考えます」みたいな製品。

Atomのファンレスマザーが出た時思ったでしょ?何でGbEポート1個しか無いの?馬鹿なの?って。

それで仕方ないからVIAのDualポートNICのマザーとか買ってみて、ケースが無いだの、熱くて死にそうだの。

なのでコレ。でも買った直後に net7501の話題 を見つけて若干凹んだのは内緒。

とりあえず、見た目こんな感じ。

image0

image1

image2

GbE(82574)が4ポート、CPUはAtom E680(換装不可)、メモリはDDR2 2GB(換装不可)という分かりやすい仕様。

Mini PCI ExpressかPCI Express x1のCrypto Acceleratorが欲しくなるだろう …

more…

hgweb.cgiとsphinxによる自動ビルド環境

  • バージョン管理にmercurial
  • ドキュメント作成にsphinx
  • 手元でrst書いて、HTTPSでhgweb.cgiにhg pushして、裏でsphinxが自動的にビルドして、Webが更新される。

そういうことをしたいなぁ、という話。

OSはUbuntu 10.04 server amd64を使ったsphinx環境の導入については、ダイジェスト。

Ubuntu 10.04のリポジトリにあるsphinxは古いので、aptで入れるのはpipのみ。

# apt-get install pip
# pip install sphinx
# pip install sphinxcontrib-blockdiag
# pip install sphinxcontrib-nwdiag
# pip install sphinxjp.themecore
# pip install rst2pdf
# pip install sphinxjp.themes.dotted

場合によっては、apt-get purge docutilのようなことをしなければならないかもしれない。

正直virtualenvを使うべきだったと反省している。

hgweb …

more…

python + dpkt で pcap解析 - 2.パケット生成と保存

前回(python + dpkt -> pcap解析 – 1.読み込みから解析開始まで) に引き続き、dpktの使い方を見ていく。

次はこの辺りか。

  • パケットの生成と保存
  • 読み込んだパケットをフロー分類して別のファイルに保存

既に解析ではないね...うん...

ソース見れば分かる人はBitbucketへどうぞ。

まず「パケット生成と保存」をしてみる。

パケット生成の基本は、 dpktのフロントページ に書いてある通りだ。

今回は、SYN Flood辺りを想定して、SYNパケットを沢山作ってそれをpcapファイルに出力してみる。

ステップは簡単だ。

  • Step.1 : dpkt(とsocket)のimport
  • Step.2 : Ethernet, IPv4, TCPの各ヘッダをオブジェクトとして生成
  • Step.3 : pcap(libpcap)形式でファイルを開く
  • Step.4 : 送信元アドレスを増加させながらpcapファイルに書き込む
# -*- coding: utf-8 …
more…

python + dpkt で pcap解析 - 1.読み込みから解析開始まで

以前から小規模ではあるが、pythonでパケット分析をするためのモジュールdpkt(http://code.google.com/p/dpkt/)を使用している。

元々dokuwikiの方には少しだけ書いているのだが、整理がてらblogにも書いてみる。

まずはこの2つ。

  • *.pcapファイルの読み込み
  • 読み込んだバイナリデータの簡単な解析

ソース見れば分かる人はBitbucketへどうぞ。

windows、Linuxのいずれも使い方は変わらないはずだ。

手元の環境は windows XP/7 + Python 2.7.3 だが、好きにすればいいだろう。

dpkt自体は、

easy_install dpkt

でインストールする方法と、

http://code.google.com/p/dpkt/ からダウンロードしてきて

python setup.py config
python setup.py …
more…

ZFS SATAディスク交換例 – camcontrol使えない編

1TB*5台で構成されているRAIDZの空き容量が不足しているので、全部2TBに交換してオンラインマイグレーションする。

zpoolのオンラインマイグレーションは、

  • zpoolのautoexpandプロパティを使用する
  • zpool online -e を使用する

の2パターンがあるが、FreeBSD 8.2(zpool v15)以前では使用出来ず再起動したので、実際は「オンラインマイグレーションする予定でした。」が正しい。

その一部ログを単に貼り付けるだけですよ、っと。

現在の接続状況

# camcontrol devlist -v
scbus0 on mpt0 bus 0:
<ATA WDC WD10EADS-00L 1A01>        at scbus0 target 0 lun 0 (da0,pass0)
<ATA ST2000DL003-9VT1 CC3C>        at scbus0 target 1 lun …
more…

ZFS SATAディスク交換例 - atacontrol編

1TB*5台で構成されているRAIDZの空き容量が不足しているので、全部2TBに交換してオンラインマイグレーションする。

その一部ログを単に貼り付けるだけですよ、っと。

現在の接続状況

# atacontrol list
ATA channel 0:
    Master:      no device present
    Slave:       no device present
ATA channel 2:
    Master:  ad4  SATA revision 2.x
    Slave:       no device present
ATA channel 3:
    Master:  ad6  SATA revision 2.x
    Slave:       no device present
ATA channel 4:
    Master:  ad8 …
more…