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…

ZFSの性能劣化について - snapshot無し版

前回は、テストケースに合わせた測定をしたので、そこからSnapshotを取得しない(したとしても、別のプールの)場合を考える。

少しファイル量を調整(定常CAP 94%、測定終了時CAP98%位)したので、厳密な比較ではないです。

本当は、性能の回復に向けたデータ取得がしたいのだけど、スクリプトが上手く表現できなさそうだったから、簡単な方からやりました。

しかし、ディスクの内外周性能差が直接グラフに出てるだけで、ZFSさんは何も悪くない感じですね、マジで。

以下特に面白くないグラフぺたぺた。

image0

snapshot取得時に比べると、低下は若干緩やかになっている。

440GiB地点では、何故かReadが向上してWriteは低下している。

たまたまシーケンシャルに近い動きをしたのかもしれない けど、そもそもZFSさんはどの程度アロケートサイズの間隔を持たせるのかよく知らないので割愛。

しかし、概ねsnapshotを取得していた場合と傾向は似ており、snapshotを大量に取得することで、性能に大幅な影響を与える可能性は今のところ少ないように見える。

(データの削除やパーティションごとのデータ移動に伴って、snapshotの示すデータ位置のフラグメンテーションが激しくなる場合は性能が劣化して当然なので、実運用における結論とはならない)

性能劣化はファイルシステムじゃなくて、ディスクの内外周の速度差に起因するものだと見ても良いレベル。

image1

概ね同様の傾向。

image2

2枚目と同様の傾向。

352GiB地点における安定感から、440GiB地点のぶれは、微妙に余った外周部分にも読み書きが発生しているだけのように見える。

image3

応答時間は徐々に増えているが、440GiB地点のぶれは、同様にディスクの内外周に起因するものに見える。

snapshot取得時はこのような傾向が見えていなかったが、若干ファイル数の調整を行ったのが裏目に出た感じかなぁ…。

再取得してくるます。

image4

zpool …

more…

ZFSの性能劣化について

ZFSはHDDの空き領域の現象に伴って、性能が劣化すると言われている。

自宅で動いているZFSなファイルサーバのパフォーマンスも、少し落ちてきている気もする。

そこで、簡単なテストケースを準備して、性能劣化が見られるか試してみることにした。

結論から言うと、別に容量問題は存在しないように見受けられる。

空き領域が減ったら問題が起きるわけではない、と言うだけ。

一般的な書き換え頻度によって長期間運用された結果、空き領域が足りなくなった状況においては、 直接的に性能に影響を及ぼす要素は、単純な空き領域以外の要素(CoWによるデータの散らばりやフラグメント)ではないかと考えられる。 そして、性能低下と言う状況が表面化するタイミングを見極めるうえで、空き領域を指標として用いる、と言うのが直感的に理解しやすいために、空き領域が足りなくなると性能が極端に低下する、と表現されるような気がしている。

試験環境

  • GT110b + OpenIndiana v148

OpenIndianaから見た情報

  • HDD(HTS725050A9A364):

    # format
     Searching for disks...
     Failed to inquiry this logical diskdone
    
    AVAILABLE DISK SELECTIONS:
     0. c2d0 <????pHoH??[Xq???? cyl 2608 alt …
more…