2012年5月19日土曜日

ZFSの機能を試す

HP ProLiant MicroServerにZFS on Linuxをセットアップしたので、本格的に移行する前に機能を試してみました。
BIOSでSATAのDrive Write Cacheを有効にしないとWriteが遅すぎて駄目でしたので、この設定を有効にして試すことにします。

ワンセグ野郎とファイルサーバとして使う予定なので、容量の有効利用としてDeduplication、Compressionが使えればいいなと思っています。あとは、Shapshots、ディスク管理の柔軟性も魅力です。

ベンチマークには、bonnie++を使用することにしたので、最新版の1.03eをインストールします。
SPECファイルがついてるのでRPMでインストールできますが、書式が古いようなので修正する必要があります。
$ gzip -d bonnie++-1.03e.tgz
$ ls
bonnie++-1.03e.tar
$ rpmbuild -ta bonnie++-1.03e.tar
error: line 5: Unknown tag: Copyright: GPL
となるので、SPECファイルの5行目にあるCopyrightタグをLicenseに編集すればOKです。

次の環境でベンチマークを取ります。
$ cat /etc/redhat-release
CentOS release 6.2 (Final)
$ uname -mrsv
Linux 2.6.32-220.13.1.el6.x86_64 #1 SMP Tue Apr 17 23:56:34 BST 2012 x86_64
# zpool list
NAME     SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
dtpool  2.72T   136K  2.72T     0%  1.00x  ONLINE  -
# zpool status
  pool: dtpool
 state: ONLINE
 scan: resilvered 85.5K in 0h0m with 0 errors on Sat May 12 00:11:40 2012
config:

        NAME                                          STATE     READ WRITE CKSUM
        dtpool                                        ONLINE       0     0     0
          mirror-0                                    ONLINE       0     0     0
            scsi-SATA_ST3000DM001-9YN_ABCD1234-part1  ONLINE       0     0     0
            scsi-SATA_ST3000DM001-9YN_EFGH5678-part1  ONLINE       0     0     0

errors: No known data errors
まずは、Deduplicationなしで測定します。
# zfs set dedup=off dtpool

$ bonnie++
 ~ 略 ~
Version 1.03e       ------Sequential Output------ --Sequential Input- --Random-
                    -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
abcde.locald 15488M 45557  99 100987  32 68528  24 43526  93 219130  39 251.7   3
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 13168  96 +++++ +++ 14296  99 12609  99 +++++ +++ 14937  99
abcde.localdomain,15488M,45557,99,100987,32,68528,24,43526,93,219130,39,251.7,3,16,13168,96,+++++,+++,14296,99,12609,99,+++++,+++,14937,99
$
次に、Deduplicationありで測定します。
# zfs set dedup=on dtpool

$ bonnie++
 ~ 略 ~
Version 1.03e       ------Sequential Output------ --Sequential Input- --Random-
                    -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
abcde.locald 15488M 42486  97 31812  20 24758  31 43788  95 101344  13 213.5   3
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 14201  99 +++++ +++ 13835  98 12326  97 +++++ +++ 12738  98
abcde.localdomain,15488M,42486,97,31812,20,24758,31,43788,95,101344,13,213.5,3,16,14201,99,+++++,+++,13835,98,12326,97,+++++,+++,12738,98
$
Deduplicationを有効にすると、Writeが1/3、Readも1/2になるようです。
うーん、予想以上の劣化具合です。CPUが非力な性でしょうか、Compressionは諦めることにしました。

取り合えず、Deduplicationを有効にしてワンセグ野郎を動かすことにしました。負荷をかけて様子を見てみます。

0 件のコメント:

コメントを投稿