メニュー 閉じる

タグ: ストレージ

ZFS on Linuxベンチマークおためし。そして…

フリーズしますね。(汗)
どうもSATAディスクのアクセスが、下手なようです。

ちょっと前から、ZFSのネイティブ版?(ただし非GPL)ということで、
ZFS on Linuxのテストをして、様子をみていました。
SSDをたくさん…は積めないのですが、ストレージの性能がどうにかほしくて
あのZFSなら、業務用のストレージのようなすごい機能も使えてイイネ!(゚∀゚)

…と思っていたのですが。
ちょっと使い物になっていません。。

単発ベンチマークではこんな数字はでるんですよ。
20150412zfs

ただ…
これでちょっとディスクアクセスを続けると、なんと。

I/O Waitが80%オーバーに、

LoadAvgが60.0を超え、

ストレージ操作がタイムアウトしまくり。

になってしまいます。
※このサーバーはNehalemのXeonで計8C/16T、メモリ24GBを搭載。

上記マシンはZVOLでRAWデバイスを割り当てたKVMの仮想マシンのWindows10(TP)の図。

同様にZVOLを使い、iSCSI経由のブロックデバイスとして割り当ててVMwareに
見せてみると…たいして負荷もかけていないのにストレージアクセスが止まり、
OSごとダウンしてしまいました。

これも原因はI/O WAITで、見たこともないようなレイテンシで10分近く無応答…
というような「わけのわからない」状態になりました。

LSIのMPTドライバもあやしいのですが、いろいろ試した限りでは、
「SATAのHDD/SSDを使って」いて、「IO負荷をかける」とだめでした。

そう、SASディスクではこのような負荷にはなりません。

これはどうやら、SATAの「NCQ」との相性(というかI/Oの出し方が下手)なようで、
SASのTCQではうまくハンドリングができていて、うまく動くようです。

ZFSがらみのFAQなどでも、「I/O WAITが高すぎてフリーズするんだけど…」
という報告がちらほらあるものの、あまり相手にされていなくて。

唯一見つけたこの記事でも、どうもSATAがだめらしいと分かってきた次第。。

ZFS Slow Performance Fix – Letsgetdugg
http://letsgetdugg.com/2009/10/21/zfs-slow-performance-fix/

どうやらもともとのZFSの系譜をたどると、OpenSolarisではよくあった話の様子。
この記事によれば、zfs_vdev_max_pending を設定すればよいのですが、
なんと、最新のZFS on Linux(0.6.4)でこのパラメータはなくなっていて、
別のいくつかのパラメータに置き換わっています。

ざっとあげると、
zfs_vdev_async_read_max_active
zfs_vdev_async_read_min_active
zfs_vdev_async_write_max_active
zfs_vdev_async_write_min_active
zfs_vdev_max_active
zfs_vdev_scrub_max_active
zfs_vdev_scrub_min_active
zfs_vdev_sync_read_max_active
zfs_vdev_sync_read_min_active
zfs_vdev_sync_write_max_active
zfs_vdev_sync_write_min_active

このぐらい、あります…(汗)

zfs_vdev_async_write_active_max_dirty_percent
zfs_vdev_async_write_active_min_dirty_percent

というのも関係ありそうです。
(man  zfs-module-parametersで参照可)

ですが、いろいろ設定してみても、I/O WAITは改善できていません。
もう少し悩んでみるつもりですが、なかなか根の深い問題かもしれません。

ZFSのMailing List(英語)にも参加してみたので、
同じような超絶I/O WAITで困っている症状の方がいたら、
便乗して食いついてみたい…とは思っていますが、英語はだめなのでwww

いやはや、低コストで、爆速なIOパフォーマンスと、
超絶高度なストレージ機能が全部ほしい!
って話なので、贅沢すぎるのかなぁ。

本家Solarisのx86版ではどうなのでしょうね。
OracleのSunストレージ(業務用)はそれ動いているはずなので、
そっちのZFSを一度動かしてみるのもありかもしれません。

気になる方には気になる世界だと思うのですが…(苦笑)
また情報仕入れてレポートしてみたいと思います。

(といいながら、このまま消えてしまいそう。。)

PCのディスクをSSDにしてみました~

image

先日買っちゃったSSD、ようやく乗せ替えました。
そして、さっそくベンチマーク。
おおー速い!!

(しまった、HDDの速度はかってなかった。まあいいか)

接続が3Gb/sなのでシーケンシャルの速度は頭打ちですが、
ランダムアクセスが想定していた程度に速くなったので満足ですw

仕様では読み書き75000IOPSという話だったので、ちょっと遅いのかな?

———————————————————————–
CrystalDiskMark 3.0.3 Shizuku Edition x64 (C) 2007-2013 hiyohiyo
                           Crystal Dew World :
http://crystalmark.info/
———————————————————————–
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :   274.748 MB/s
          Sequential Write :   262.505 MB/s
         Random Read 512KB :   224.062 MB/s
        Random Write 512KB :   210.306 MB/s
    Random Read 4KB (QD=1) :    24.975 MB/s [  6097.5 IOPS]
   Random Write 4KB (QD=1) :    52.189 MB/s [ 12741.5 IOPS]
   Random Read 4KB (QD=32) :   167.068 MB/s [ 40788.1 IOPS]
  Random Write 4KB (QD=32) :    65.936 MB/s [ 16097.7 IOPS]

  Test : 1000 MB [C: 75.2% (179.3/238.4 GB)] (x3)
  Date : 2014/12/18 21:10:23
    OS : Windows 7 Professional SP1 [6.1 Build 7601] (x64)

smartctlの出力:
$ smartctl -a /dev/sda
smartctl 6.3 2014-07-26 r3976 [i686-pc-cygwin-win7(64)-sp1] (cygwin-6.3-1)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     TS256GSSD370
Serial Number:    **********
Firmware Version: N0815B
User Capacity:    256,060,514,304 bytes [256 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ACS-2 (minor revision not indicated)
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Thu Dec 18 21:14:10 2014 JST
SMART support is: Available – device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x02) Offline data collection activity
                                        was completed without error.
                                        Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.
Total time to complete Offline
data collection:                (    0) seconds.
Offline data collection
capabilities:                    (0x71) SMART execute Offline immediate.
                                        No Auto Offline data collection support.
                                        Suspend Offline collection upon new
                                        command.
                                        No Offline surface scan supported.
                                        Self-test supported.
                                        Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0002) Does not save SMART data before
                                        entering power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (  10) minutes.
Conveyance self-test routine
recommended polling time:        (   2) minutes.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x0000   100   100   000    Old_age   Offline      -       0
  5 Reallocated_Sector_Ct   0x0000   100   100   000    Old_age   Offline      -       0
  9 Power_On_Hours          0x0000   100   100   000    Old_age   Offline      -       2
12 Power_Cycle_Count       0x0000   100   100   000    Old_age   Offline      -       11
160 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       0
161 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       43
163 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       3
164 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       796
165 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       4
166 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       0
167 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       0
168 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       3000
169 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       100
177 Wear_Leveling_Count     0x0000   100   100   050    Old_age   Offline      -       0
181 Program_Fail_Cnt_Total  0x0000   100   100   000    Old_age   Offline      -       0
182 Erase_Fail_Count_Total  0x0000   100   100   000    Old_age   Offline      -       0
192 Power-Off_Retract_Count 0x0000   100   100   000    Old_age   Offline      -       5
194 Temperature_Celsius     0x0000   100   100   000    Old_age   Offline      -       25
195 Hardware_ECC_Recovered  0x0000   100   100   000    Old_age   Offline      -       3819
196 Reallocated_Event_Count 0x0000   100   100   016    Old_age   Offline      -       0
197 Current_Pending_Sector  0x0000   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0000   100   100   050    Old_age   Offline      -       0
232 Available_Reservd_Space 0x0000   100   100   000    Old_age   Offline      -       100
241 Total_LBAs_Written      0x0000   100   100   000    Old_age   Offline      -       5925
242 Total_LBAs_Read         0x0000   100   100   000    Old_age   Offline      -       1094
245 Unknown_Attribute       0x0000   100   100   000    Old_age   Offline      -       6368

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%         1         –

SMART Selective self-test log data structure revision number 1
SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

この「Available_Reserved_Space」を見ておけば、事前に寿命が分かるはず。(たぶん)
常時起動させてるPCなので、どうなるか楽しみです。

SSDの故障対策はS.M.A.R.T.で

DSC_0756
使えば使うほど壊れるDISKなんて駄目でしょ…
と思っていたけど、やっぱりSSD導入に踏み切りました(笑)
S.M.A.R.T.で監視しとけば寿命がくる前に交換できることが分かったため。

1本はメインPC用。
Windows7だけど、Cygwin+smartmontoolsで監視します。

2本目はサーバーのiSCSIディスク用。
zfsでL2ARC/ZILキャッシュの検証に使用予定です。
とりあえずOpenIndianaでパフォーマンス検証から…

Write時のIOPS的に、CFDのアレや、Crucial M100より速いこと、
価格が安いのが決め手でTranscendにしましたw
スペックは下記のとおり。

シー・エフ・デー販売 TOSHIBA製SSD採用 2.5inch 内蔵型 SATA6Gbps 256GB CSSD-S6T256NHG6Q
・256GB版 (参考価格 14,126円)
・シーケンシャル Read 530MB/s、 Write 490MB/s
・ランダム Read 97,000 IOPS、 Write 67,000 IOPS

Crucial MX100 2.5インチ内蔵型SSD 256GB SATAIII CT256MX100SSD1
・256GB版 (参考価格 13,135円)
・シーケンシャルRead 550MB/s、 Write 330MB/s
・ランダム Read 85,000 IOPS、 Write 70,000 IOPS

Transcend SSD 2.5インチ SATA3 6Gb/s MLC採用 256GB 3年保証 TS256GSSD370
・256GB版 (参考価格 11,799円)
・シーケンシャル Read 531MB/s、 Write 315MB/s
・ランダム Read 75,000 IOPS、 Write 75,000 IOPS

デスクトップではCFDが良いですが、WriteのI/Oが多い場合は
CrucialやTranscendがいいかも。
これより高いのは…ちょっともったいないかな。。

搭載チップ数の関係のようですが、128GBは速度が落ちるものがありますね。
参考価格はみくりん調べ。

↓参考にしたページ。

この夏SSD買うならコレ!! 売れ筋&注目の全6メーカー7製品
http://ssds.findthebest.com/

Best SSDs 2014 – Compare Reviews, Benchmarks
http://ascii.jp/elem/000/000/918/918611/

もう冬ですが記事は参考になりました(笑)
誰かの参考になれば。。

・:*:・( ̄∀ ̄ )。・:*:・

みくりん、冬のHDD大増設まつり。

DSC_0349

こんばんにちは!(何w
10~11月は元気がなかったみくりんですが、今月は元気ですw
というか、やーっと元気が出てきた…という感じ。
まあいろいろありますね。。

そんな感じですが、冬のぼーなんとかで…
今年はHDDを更新してみることにしました。

実はうちのファイルサーバーは250GBとか500GBをたくさん繋いでいる状態でして。
なんというかもうかなり古いし、電気食うし、熱いし…
で、懸案の一番手、「電力消費対策」にポイントを置いた対策に乗り出しましたw

今年は電気代が夏のピーク時、なんと4万円越え!?
などという状態だったので、250GBなんかやめて「省電力大容量な3TB-HDD大増設」です。
ファイルサーバーも搭載可能本数が足りてないせいで、なぜかマシン2台体制だったりしてます…。
なので、これは容量をまとめれば1台減らせる…!!!! ←

よって…正確には増設ではなく交換で、電気料金をがっつり減らす作戦です(苦笑)
(ソーラーパネルも活躍してくれているけど、やっぱり消費量が減らないとね…)

ただ、HDD購入にはちょっとトラウマがありまして。。
実は、2年前ぐらいにSeagate製3TB-HDDを3本ほど買ったものの、2本がすぐに故障し、もう1本がS.M.A.R.T.エラーで半死半生の状態に。。
データ少し入れてしまっていたこともあって、メーカー交換もしたくなかったため、さらに2本追加(やはりSeagate…)という厳しい思い出がありました。
いやーあれはつらかった。。

でも250GBが6本とかいうのは、「容量単価」ならぬ「容量維持単価」が高すぎなので…大容量HDDへの更新が悲願なのです(苦笑)

そんなわけで前回の教訓から、今回はWestern Digitalで試してみることにw
買ったのはこれ。

【Amazon.co.jp限定】WD Green 3.5inch IntelliPower 3.0TB 64MBキャッシュ SATA3.0 WD30EZRX-1TBP/N 【フラストレーションフリーパッケージ(FFP)】

の、Amazonじゃない版。(あれw)
ちょっと前まで10,500円ぐらいだったんだけど…今みるとちょっと高い感じ…(´Д` )
1万円台前半なら買いどきなんですかね。。
(2年前は9800円で買えたんだけどな…)

とりあえず、今からぶっさして祈る、「Plug and Pray」の儀式です(笑)

ちなみに、デスクトップ向けの「WD Green」よりも、もう少しだけ耐久性が高くて、NASのような24時間稼動を考慮して設計されているといわれる「WD Red」も検討しました。
これ。

WD Red 3.5inch IntelliPower 3.0TB 64MBキャッシュ SATA3.0 WD30EFRX

だがしかし、価格が14,000円超えてくる感じで。(2013/12/12時点)
複数本買ったらかなりの差。
そこまでしてもまあ、HDDって壊れるときは壊れるわけで…
やっぱりWD Greenで安くしておいて、壊れたら買い換えればいいやと(1本ぐらいならね…)WD Greenにしちゃいました。
やっぱりねぇ…導入コスト優先ですよ庶民は。。

そんな感じです。

さらに今回は、HDD同士の共振対策として、RAID構成で同時アクセスするHDD×4本を「縦に重ねる」のではなくて…「水平に横に並べる」配置にしてみました。
まあ、ケースがラックマウントになったからできるんですけどw
どういうことかというと、こんな感じ。
image
これで、HDD内の円盤が同じ方向にほぼ同じスピードで回転しても中心軸が離れているので、お互いの影響が少ないのではないかと思うんです。
(専門家ではないので正確にはわかりませんが…)

あとはやってみるのみw
これでRAIDを組んでみようと思います。

今はまあ、あまりHDDが安い時期ではないと言えますね…。
それでも、この冬に「やっぱNASを導入しようかな~」なんていう方は、HDD自体のコストだけでなく、ケースの構造にも気をつけて選ぶのをおすすめします。

PCベースじゃない専用のNASだと「ぎっちり型」の搭載しかできませんけども。。 (笑)
こういう奴ね…

QNAP TurboNAS TS-421

まあこれはこれで、いいんですけどね、専用機だし。
何よりコンパクトだし。

とりあえず、WD Greenでも安定するようなら、またレポートしたいなーと思ってます。
あまり期待しないでお待ちください(笑)

システムドライブをストライピング(RAID0)にしてみたら

メインで使っているWin7のPC、ディスクアクセスが遅くてしょうがないのでお試ししてみました。

余っていたHDD(すべてSATA2)を4台搭載し、さらにマザーにオンボードのIntel製RAIDコントローラ機能でもって、RAID0アレイを組んでシステムごと載せてみました。
すると…

はやっ! Σ( ̄Д ̄ノ)ノ

 

まあ転がっていたHDDが遅いのはもうしょうがないよねー。
…と思ったけれど、シーケンシャルで一応2.5倍くらいにはなりました。

ベンチはこんな感じ。

<びふぉー:BEFORE>
20120309Cドライブベンチ-RAIDなし

<あふたー:AFTER>
20120310Cドライブベンチ-RAID0-4台

SSDの250MB/sとか500MB/sっていう公称スペックは体験したことないんですよ。
なので100MB/sでもかなり快適になりましたね。

RAIDなのにリダンダントじゃないですがw
まあSSDが故障するまでの時間と、アレイが壊れるまでの時間を比べたら、
たぶん一定期間の稼動実績があるHDD&RAIDコントローラならば後者が長いと思うんです。

もちろんバックアップはこまめに取っておかないと……ね。

1.HDD単体で稼動させる
2.ストライピング(RAID0)のHDDアレイで稼動させる(今回仕様)
3.SSD単体で稼動させる

という順番でおそらく速度が速くなり、そして順に故障率が高くなると思われます。
SSDに至っては3~5年くらいすると不良セクタだらけでしょうし。

そんなわけで、古くても使えるものは大事に使い続けるタイプの私には、
ストライピングで使うのもいいかなー?と思いました。
まあ壊れたらいろいろどっかーんですけどね(笑)
そこはバックアップポリシーをきちんとしておけばいいので。

こんな速度アップもいかがでしょうか、というお話でした。

※データが飛ぶ条件をしっかり把握し、ご利用は計画的に。

ハードディスク安くなりませんねぇ…

残念ですがなかなか安くなりませんね。。

・安くなるけど在庫切れ
・在庫はあるけど値段が高止まり(現状)

どっちが良いのかなぁと考えてみたりするわけですが。
まあどうしても必要な人が手に入れられたほうが良いので後者のほうが良いんでしょう。たぶん。

2TBがいろいろハードウェアの壁とか気にしなくて良いのでウォッチしてましたが、タイの洪水直後に3倍以上に跳ね上がって以降、落ち着いてからはずっと最安時の2倍強でとどまっていますね。

アニメの録画しすぎでデータがあふれてきたので、安くならないかなぁと思うんだけど…(笑)  
まだまだダメっぽいなぁ 。

PC組む人も、HDDがこうも高いと「SSD安いじゃーん♪」といってSSDを使っちゃいそうですね。
でもSSDまだまだ容量単価はかなり高いと思います(笑)
書き換え回数制限もあることだし、よく考えて使いたいですね。
まあSSD速いから満足感抜群だと思いますけどww


Western Digital Caviar Green 3.5inch 5400rpm 2.0TB 64MB SATA 6.0Gbps WD20EARX

(Amazon.co.jp)

↑これ5,000円台だったのに今は1万円確実に超えますね…(うーん)