2013年4月2日火曜日

ZFS on Linux 0.6.1 を CentOS 6.4 にインストール

ZFS on Linux 0.6.1 がリリースされたので、rc14 からアップデートしました。
これまでは、自分でビルドする必要がありましたが、0.6.1 からはバイナリの yumリポジトリ (但しx86_64のみ) が提供されたため、導入が簡単になりました。

まず、rc14 をアンインストールします。
# yum remove zfs-modules-dkms spl-modules-dkms
あとは、http://zfsonlinux.org/epel.html に記載されている通り、2つコマンドを実行するだけです。
ただし、もしまだ dkms を未導入の場合は、EPEL からインストールしておく必要があります。
2013-04-06追記、すみません。誤解だったようで、EPEL と同じバージョンの dkms パッケージが一緒に提供されているようです。
# yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release-1-2.el6.noarch.rpm
# yum install zfs
アップデート後の状態です。
# rpm -q zfs
zfs-0.6.1-1.el6.x86_64
# zpool list
NAME    SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
tank1  59.5G  19.7G  39.8G    33%  1.88x  ONLINE  -
# dkms status
nvidia, 310.40, 2.6.32-358.2.1.el6.x86_64, x86_64: installed
spl, 0.6.1, 2.6.32-358.2.1.el6.x86_64, x86_64: installed
zfs, 0.6.1, 2.6.32-358.2.1.el6.x86_64, x86_64: installed
nvidia, 310.40, 2.6.32-279.22.1.el6.x86_64, x86_64: installed-weak from 2.6.32-358.2.1.el6.x86_64
spl, 0.6.1, 2.6.32-279.22.1.el6.x86_64, x86_64: installed-weak from 2.6.32-358.2.1.el6.x86_64
zfs, 0.6.1, 2.6.32-279.22.1.el6.x86_64, x86_64: installed-weak from 2.6.32-358.2.1.el6.x86_64
bonnie++ をやってみました。
# uname -a
Linux xxxx 2.6.32-358.2.1.el6.x86_64 #1 SMP Wed Mar 13 00:26:49 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
# bonnie++ -u root -d /tank1
...
Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
xxxx         15464M   139  99 44588   8 32117   8   303  85 121737  14 967.0  26
Latency             82893us    1726ms    1886ms    1058ms     262ms    1033ms
Version  1.96       ------Sequential Create------ --------Random Create--------
xxxx                -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 22649  88 +++++ +++ 23708  96 13849  93 +++++ +++ 14393  92
Latency             16742us    1011us     694us   38179us      25us     549us
1.96,1.96,xxxx,1,1364662071,15464M,,139,99,44588,8,32117,8,303,85,121737,14,967.0,26,16,,,,,22649,88,+++++,+++,23708,96,13849,93,+++++,+++,14393,92,82893us,1726ms,1886ms,1058ms,262ms,1033ms,16742us,1011us,694us,38179us,25us,549us
このマシン (ThinkPad T510) には、マルチブートで FreeBSD 9 も入っているので、比較データです。
# uname -a
FreeBSD xxxx 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:46:30 UTC 2012     root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64
# bonnie++ -u root -d /tank1
...
Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
xxxx            16G   172  99 42036   8 29989   6   331  71 128285   9 940.2  11
Latency             62539us    6315ms    6148ms    1721ms     260ms     934ms
Version  1.96       ------Sequential Create------ --------Random Create--------
xxxx                -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 29849  95 +++++ +++ 29585  98 25541  94 +++++ +++ 18384  86
Latency             16274us     102us     135us   26201us     143us     286us
1.96,1.96,xxxx,1,1364660246,16G,,172,99,42036,8,29989,6,331,71,128285,9,940.2,11,16,,,,,29849,95,+++++,+++,29585,98,25541,94,+++++,+++,18384,86,62539us,6315ms,6148ms,1721ms,260ms,934ms,16274us,102us,135us,26201us,143us,286us
わたしの限られた実験環境においてはということですが、以前に測った時と変わらず、FreeBSD 9 のほうが若干性能が上のようです。ただし、FreeBSD は現在は 9.1 がリリースされているので、近いうちにアップデートして、再度測定してみようかと思います。

2013-04-03追記
システム起動時に zfs 領域を自動マウントしてくれるサービスが、デフォルトでは chkconfig に登録されないようです。自動マウントしたい場合は、次のようにして登録すればよいです。rc時代にはデフォルトで登録されていました。ただ、sharenfs プロパティを使う場合に都合悪かったですが・・・
# ls /etc/init.d/zfs 
/etc/init.d/zfs
# chkconfig --list zfs
service zfs supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add zfs')
# chkconfig --add zfs
# chkconfig --list zfs
zfs             0:off 1:off 2:on 3:on 4:on 5:on 6:off

■関連記事
第2水曜日にcronスケジュールしたい
ZFS の L2ARC に zram を利用する
ZFS on Linux 0.6.1 の性能を OpenIndiana 151a7 と比較

2013年4月1日月曜日

メインマシン ThinkPad T510 に R2021D を搭載

メインマシンとして ThinkPad T510 で、Windows 7 Professional と CentOS 6 をマルチブートで使用しています。純粋な Linux サーバであれば、md を使ってソフトウェア RAID1 にして運用するところですが、ノートPCで かつ Windows も使う環境ということで、OS 領域の RAID 化は諦めていました。データ領域については、eSATA 接続の ハードウェア RAID1 を利用しています。

もしメインマシンの OS ディスクが壊れたら、復旧が面倒だし結構ダメージ受けるなあとは思っていたのですが、先日、mSATA SSD 2枚で、2.5 inch ディスクサイズの RAID1 を構築できるユニット R2021D が発売され、面白そうだったのもあり、導入してみることにしました。
以下、少しレビューです。

まず、変換基盤裏面はこんな感じです。RAID のモードを設定するディップスイッチがあるのですが、ON / OFF の説明と逆向きになっています。


次は、表面に mSATA SSD 2枚 を搭載した状態です。今回は、PLEXTOR M5M 256G をチョイスしました。添付されていた説明書では、どのネジで mSATA SSD を留めるのかが分からず、意外と苦戦しました。加えて、mSATA SSD は初めて取り扱ったので神経使いました。


Windows 領域の引越しのため、ThinkPad の 2nd HDD アダプターに載せた状態です。

こちらを、DVD ドライブベイに差し込んで、元ディスク (Intel SSD 520 240G) 上の CentOS 6 を起動して、dd で丸ごと OS の引越しを行いました。
# dd if=/dev/sda of=/dev/sdb bs=1M  ※この類の操作をする際は、hdparm -I 等で個体確認必須です

メインディスクを入れ替えて、換装終了です。

この画像は、当初搭載されていた HDD のマウンタを R2021D に着けた状態です。

Windows 7 を起動して、RAID 管理ツールから状態を確認。


参考までに、CrystalDiskMark の数値はこの程度でした。


載せ換える前まで使っていた Intel 520 よりは性能が劣りますが、OS 起動時間はほとんど変わりませんでした。
マルチブートの CentOS 5 および 6、それと FreeBSD 9 の起動にも支障ありませんでした。

CentOS 6 からは、次のように見えます。
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata1.00: ACPI cmd ef/02:00:00:00:00:a0 (SET FEATURES) succeeded
ata1.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE LOCK) filtered out
ata1.00: ATA-7: JMicron H/W RAID1, 0959, max UDMA/133
ata1.00: 500039680 sectors, multi 1: LBA48 
ata1.00: ACPI cmd ef/02:00:00:00:00:a0 (SET FEATURES) succeeded
ata1.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE LOCK) filtered out
ata1.00: configured for UDMA/133
ata1.00: configured for UDMA/133
ata1: EH complete
scsi 0:0:0:0: Direct-Access     ATA      JMicron H/W RAID 0959 PQ: 0 ANSI: 5

2013-05-31追記
M5M (FW 1.02) は、かなり熱を発っするようでしたが、FW を 1.03 にアップデートしたところ、改善されたように思われます。FW アップデートには、AREA の上用賀というアダプタを利用しました。

2013-10-26追記
M5M の FW 1.04 が出ていたので、アップデートしました。更新履歴には4点ほど改善点が書いてありました。
2013/10/11 1.04 
This firmware revision improves: 
1. Drive compatibility with Lenovo/Dell NB. 
2. Data error recovery capability 
3. Drive health on platform which support DEVSLP. 
4. Drive stability when execute GC 
R2021D との組み合わせでは、負荷が掛かると不安定 (mirror が外れる) な時がありましたが、負荷に強くなったように思われます。

2013-11-27追記
M5M の FW を 1.04 にアップデートしてから1ヶ月経過しましたが、実に快調で、1度も mirror が外れることはありませんでした。それと、1.03 と比べても発熱し難くなった感じです。ThinkPad T510 の HDD ベイ位置は左手の下あたりで、M5M 2枚ということもあり、初期の FW では物凄く熱くなってましたが、現在の FW 1.04 では、元々載っていた HDD よりも冷たいぐらいな感触です。Plextor さんのエンジニアに感謝です!
mSATA SSD を使うマシン環境が他にありませんが、もし新規のマシンで mSATA 使うんなら、現時点なら、迷わず M5M を選ぶと思います。DEVSLP にも対応してますしね。

2014-01-25追記
M5M の FW 1.05 が出ているようです。
20140109 1.05 
This firmware revision improves: 
1. Drive stability while computer be accidentally powered off due to 
unexpected external operations. 
2. Read and write performance 
consistency on Linux operating systems 
Linux 向けの修正が入っているようで興味を惹かれますが、現在 1.04 で不都合は無く、アップデート作業は結構手間 (R2021D からの mSATA 取り出し、バックアップ/リストア) なので、今回は見送りたいと思います。

2014-02-26追記
玄人志向から出た mSATA RAID アダプタ(KRHK-mSATAX2/S7)を試してみました。
私のマシンは SATA2 までなので、M5M を十分活かせていませんが、R2021D よりも性能アップするのでは?と思ったのですが、結果は大して変わらず。

さらに、残念ながら私のマシン環境(ThinkPad T510 + KRHK-mSATAX2/S7 + M5M 256G x 2枚)では安定動作せず、マシンを再起動するとディスク(RAID1 ボリューム)を見失うことがあり、常用できませんでした。
加えて言うと、JMicron のチップ JMS562 が載っているのですが、RAID 管理ツールが使えず(説明書にも記載なし)、動作状況を把握するのに基板上の LED を見ないといけませんので、その点でも常用は無理でした。
ということで、結局 R2021D に戻しました。3千円台というお手頃値段でしたし、あきらめて、お蔵入りです。

2014-03-01追記
KRHK-mSATAX2/S7 を試行した際に、M5M の FW を 1.05 にアップデートしていたのですが、R2021D に戻してから性能が落ちた状態(seq READ/WRITE が 120MB/s くらいだったので RAID アダプタと mSATA の間のリンクが 1.5Gbps に落ちていた?)になり、secure erase を行ったり、RAID ボリュームを再作成したりしましたが回復せず、まさかとは思いつつも、M5M の FW を 1.04 に戻してみたら、以前の性能に戻りました。自分には分かりませんが FW 開発(各種チューニング、トレードオフ)は難しいのだろうなと想像します。なお、Plextor さんの場合、古い FW は公開されてないようで、以前ダウンロードしたのを消さないで放置していてよかったです。

2014-03-12追記
ディップスイッチの状態です。


2014-07-29追記
M5M の FW 1.06 が出ているようなのですが、いつの間にか、名前と Email アドレス(必須)を入力しないとダウンロードできなくなったようです。これは、結構がっかりです。次回以降 SSD を調達する際、マイナスポイントとして考慮してしまうと思います。修正内容は、公開されている PDF (こちらは Email アドレス入力不要)に、次のように記載されてます。
2014/07/08 1.06
This firmware revision improves:
1. Response ability during executing GC and operating.
2. Lag problem when doing S4/S5 under few specific situations and platforms.
わたしの環境では、1.05 で問題があり、1.04 に戻した経緯があり、その後は、全く問題ないので、1.06 のダウンロードは見送りたいと思います。


2015-10-25追記
T510 も、まだまだ現役で利用していますが、メインマシンは W520 に変更しました。
ThinkPad W520 で SSD 2台で IRST(インテルラピッドストレージテクノロジー)RAID1
ThinkPad W520 の HDD を SSD へ引越し
人気ブログランキングへ にほんブログ村 IT技術ブログへ