ZFS Benchmark - Single編

単体ディスクのZFS性能変動をfioを用いて測定する。

おそらく最も一般的に興味のない単一ディスク編から始まるのであった。

測定環境は ZFS Benchmark – 環境構成編(http://www.ainoniwa.net/ssp/?p=224) を参照。

Sequential WriteはOpenIndiana/FreeBSD共に同じくらい、と言っても差し支えない気がする。

図1.1 OpenIndiana Sequential Write

図1.2 FreeBSD Sequential Write

Sequential ReadはなぜかOpenIndianaが爆速で、FreeBSDが(1本を除いて)遅い。

HDDの本来性能以上の値が測定できているのか、FreeBSDが単に遅いのか、全部キャッシュのせいなのかは今のところ棚上げ。

図1.3 OpenIndiana Sequential Read

Single-7だけ変に飛び上がってるけど、その値とOpenIndianaの平均値が同じくらい。

図1.4 FreeBSD Sequential Read

512KiB Random …

more…

ZFS Benchmark - 環境構成編

OpenIndiana 151a/FreeBSD 9.0-RC1で動かすZFSストレージの性能変動をfioを用いて測定する。

まずは、環境構成の整理と設定について簡単にまとめる。

この構成は基本的に両OSで同じものを使用する。

OS

  • OpenIndiana 151a
  • FreeBSD 9.0-RC1

設定

  • OpenIndiana : インストール後IPとSSH設定をした程度
  • FreeBSD 9.0-RC1 : インストール後IPとSSH設定をした程度(/boot/loader.confにはノータッチ)

機器構成 …

more…

istgtからSTMF(COMSTAR)への移行調査 - File to zvol編

FreeBSD + ZFS + istgtなiSCSI環境を、OpenIndiana + ZFS + COMSTARなiSCSI環境へ移設することを検討する。

前回に引き続き、今度はFileからzvolへの移行を考える。

仕組み的には前回同様、metaデータを外出しにすれば移行は簡単であった。

前略。

以下手順:

# sftp older-sister@192.168.11.9
sftp> get /mnt/iSCSI/misaka/misaka.system
sftp> exit
# zfs create -V 40G zfs-pool/iscsi-01
# # *1)
# dd if=./misaka.system of=/dev/zvol/dsk/zfs-pool/iscsi-01 bs=4M
# # *2)
# touch misaka.system …
more…

istgtからSTMF(COMSTAR)への移行調査 - File to File編

FreeBSD + ZFS + istgtなiSCSI環境を、OpenIndiana + ZFS + COMSTARなiSCSI環境へ移設することを検討する。

現状を以下のような構成とする。:

OS : FreeBSD 8.1
ZFS : ZFSv3, ZPOOLv14
iSCSI : istgt
LU Files : /mnt/iSCSI/{$HOSTNAME}/{$LUNAME}

zfs rollbackを容易にするため、istgtにTarget or LUを追加する際には、:

zfs create /mnt/iSCSI/{$HOSTNAME}

として、階層を生成してLUファイル郡を置き、上記階層を定期snapshotスクリプトに追加している。

上記環境でzfs create -V 20G tank/iscsi-01等を使用している場合、zfs send/recvによる移設方式となるため、

逆にCOMSTAR環境をやめてistgtに戻ろうとした場合にZFS/ZPOOLのバージョン差異に悩まされることになると思うのだが、今回はそういった環境が無いので割愛。

ファイル構成なので、1つの注意点を除き簡単に移設可能であることが確認できている。

(とはいえ …

more…

flowplayerとストリーミング

flowplayerはGPLライセンスで、個人で使用するにはダウンロードするだけという使いやすいFlash動画プレイヤーだ。

今まで書くのを後回しにしていたので、wikiにも少し書いておきました。

こちらは一般的なストリーミング(と勘違いされやすい)方式のプログレッシブダウンロード。

シークを実装するには、動画とサーバの双方で対応しないとダメ。

http://www.ainoniwa.net/doku/web/flash/pseudo/

こっちはFlashでRTMP(≠RTP,RTCP)を使用したライブストリーミング方式。

http://www.ainoniwa.net/doku/web/flash/rtmp/

まぁ、割とそのへんに転がってる話題なので、整理程度に。

more…

RAIDZ + 電源断

UPSを設置したから、瞬断位なら耐えられるぜ!→初仕事は輪番停電。

という華麗なコンボを食らったので、RAIDZのresilver中に停電が来たらどうなるの、っと。

手順。

  1. ファイルを作る。(300MiBを2300個。
  2. replace開始
  3. 適当なところで電源ケーブル引っこ抜く
  4. 挿しなおして再起動
  5. おわり

最初はこんな状態。

~# zpool status replace-test
pool: replace-test
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
replace-test ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
c3t1d0 ONLINE 0 0 0
c3t2d0 ONLINE 0 0 0 …
more…

Centreon 2.1.12を使ってみる

CentreonというNagiosのフロントエンドのようなものがある。

NagiosとCactiを足してZabbixで薄めたような感じ。

個人的な感触では、日本語対応さえすればZabbixより視認性は上なんじゃないかと思う。

Linux, FreeBSD, NW機器の監視は、今のところ割と良好に動いている...ように見える。

wikiの方に記述してるので、Zabbixがイマイチだと思った人は試してもいいんじゃないかなぁ。

http://www.ainoniwa.net/doku/management/centreon/start

記載状況

Done

  • Ubuntu 10.04 server amd64へのインストール
  • HDDの温度監視
  • グラフ周りの調整

ToDo

  • 基本操作の記述
  • syslog-ngによるログの集中管理のテストと記述
  • Solaris、VMware、Windowsの監視周りのテストと記述
more…

DTraceでTCPを眺めてみる

TCPの帯域遅延積とかスロースタートの理解が、人によって異なる話はさておき。

DTraceを使ってTCPフローを眺めたら、もしかしてCongestion Windowも可視化出来るんじゃね?って思って簡単なDスクリプトを書いてみた。

一瞬かじっただけなので、非常に稚拙なのは許してぽん。

少し手直し。

#!/usr/sbin/dtrace -s
#pragma D option quiet
#pragma D option switchrate=50hz
dtrace:::BEGIN
{
printf(" %3s %15s:%-5s      %15s:%-5s %6s  %s  %10s %6s %6s %6s\n", "CPU", "LADDR", "LPORT", "RADDR", "RPORT", "BYTES", "FLAGS", "LWIN", "LTHRESH", "RWIN", "RSCALE");
}

tcp:::send …
more…

tsファイル置き場としてのZFS deduplicaition

zpool v28のdeduplicationを有効にしても、tsファイルだとブロック重複はこれっぽっちも働かないから、幻想を抱くのはやめようね。という実例。

環境は前回と同じ(GT110b - Mem1GB + Mem12GB + BR10i)

状況:

# zfs get all dup-test/rec \grep dedup
dup-test/rec dedup on local

# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
dup-test 1.81T 1.74T 72.8G 96% 1.00x ONLINE -
rpool 19.9G 8.33G 11 …
more…

pfでv6NATしてみる

今までv6ってほらグローバルだし!の妄想にとりつかれていたので、pfでv6NATしてフレッツ・スクウェアv6に抜けていくことを、ちっとも考えていなかった。

そろそろv6NAT使いたい状況ってのも増えてくるはずだし…と、思っていたら、手元の環境はフレッツ・スクウェアv6にproxyで抜けてた。NATしろよ俺。

設定を書き散らかそうと思ったけど、実はpf.confに以下を書き足しただけだった。:

#-----------------------------------------------
# IPv6 NAT
#-----------------------------------------------
#binat on $ra_if inet6 from 2001:380:e08:f7::/64 to 2001:c90::/32 -> 2001:c90:XXXX:XXXX::/64
nat on $ra_if inet6 from 2001:380:e08:f7::/64 to 2001:c90::/32 -> 2001 …
more…