SolarisでWDのEARSを使ってみる

OpenSolaris 2009.06でWD*EARS(WD15EARS)を使用する その3 - 部屋を掃除したら漫画が沢山出てきたので書く日記につられて書いてみる。
現在Felicia*1に適当なUSB接続のディスクアレイを買ってきてさらに3台のHDDを追加しているが、3台ともWD製。USB接続なのは予算の都合。SASのIF欲しい。

とりあえず現在FeliciaにつながっているHDD&SSDは以下の通り。

$ pfexec format
Searching for disks...done

c4t0d0: configured with capacity of 29.78GB
c4t1d0: configured with capacity of 74.51GB


AVAILABLE DISK SELECTIONS:
       0. c4t0d0 <ATA-SSDSA2SH032G1GN-8860 cyl 3888 alt 2 hd 255 sec 63>
          /pci@0,0/pci1022,9608@9/pci1095,3132@0/disk@0,0
       1. c4t1d0 <ATA-INTELSSDSA2M080-02HD cyl 9727 alt 2 hd 255 sec 63>
          /pci@0,0/pci1022,9608@9/pci1095,3132@0/disk@1,0
       2. c5t0d0 <ATA    -Hitachi HDS7210-A3EA cyl 19454 alt 2 hd 255 sec 63>
          /pci@0,0/pci1043,8389@11/disk@0,0
       3. c5t1d0 <ATA-Hitachi HDS72101-A39C-931.51GB>
          /pci@0,0/pci1043,8389@11/disk@1,0
       4. c5t2d0 <ATA-HitachiHDS72101-A39C cyl 19454 alt 2 hd 255 sec 63>
          /pci@0,0/pci1043,8389@11/disk@2,0
       5. c5t4d0 <ATA-Hitachi HDS72101-A39C-931.51GB>
          /pci@0,0/pci1043,8389@11/disk@4,0
       6. c5t5d0 <ATA-Hitachi HDS72101-A3EA-931.51GB>
          /pci@0,0/pci1043,8389@11/disk@5,0
       7. c8t0d0 <WDC WD15-EADS-00P8B0-    -1.36TB>
          /pci@0,0/pci1043,8389@12,2/hub@1/storage@1/disk@0,0
       8. c8t0d1 <WDC WD15-EARS-00Z5B1-    -1.36TB>
          /pci@0,0/pci1043,8389@12,2/hub@1/storage@1/disk@0,1
       9. c9t0d0 <WDC WD15-EADS-00P8B0-    -1.36TB>
          /pci@0,0/pci1043,8389@12,2/hub@1/storage@2/disk@0,0
Specify disk (enter its number): ^C

でもってこいつらを使ってこのようにストレージプールを構築してる。

$ zpool status
  pool: rpool
 state: ONLINE
status: The pool is formatted using an older on-disk format.  The pool can
        still be used, but some features are unavailable.
action: Upgrade the pool using 'zpool upgrade'.  Once this is done, the
        pool will no longer be accessible on older software versions.
 scan: none requested
config:

        NAME          STATE     READ WRITE CKSUM
        rpool         ONLINE       0     0     0
          mirror-0    ONLINE       0     0     0
            c5t0d0s0  ONLINE       0     0     0
            c5t2d0s0  ONLINE       0     0     0

errors: No known data errors

  pool: tank
 state: ONLINE
 scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          raidz1-0  ONLINE       0     0     0
            c5t1d0  ONLINE       0     0     0
            c5t4d0  ONLINE       0     0     0
            c5t5d0  ONLINE       0     0     0
          raidz1-2  ONLINE       0     0     0
            c8t0d0  ONLINE       0     0     0
            c8t0d1  ONLINE       0     0     0
            c9t0d0  ONLINE       0     0     0
        logs
          c4t0d0p1  ONLINE       0     0     0
        cache
          c4t1d0p1  ONLINE       0     0     0

errors: No known data errors

rpoolで警告出てるのは過去との互換性を考えてだからしばらく無視。Solaris11ExpressとかOpenIndianaの継続リリースが確認できたら考える。
そもそも元記事はOpenSolaris2009.06(svn111b相当)でFeliciaはOpenIndiana(svn147)だから相当違うというのもあるが、ZFS使うのに特に理由もなくパーティションを切る理由が分からない。パーティションを切らなくてもディスク全体をストレージプールに突っ込むことができる。そのばあい、EFIディスクとして他のシステムからは見えるようになる。こんな感じ。

$ pfexec fdisk -W - c8t0d1

* /dev/rdsk/c8t0d1 default fdisk table
* Dimensions:
*    512 bytes/sector
*    189 sectors/track
*    255 tracks/cylinder
*   60800 cylinders
*
* systid:
*    1: DOSOS12
*    2: PCIXOS
*    4: DOSOS16
*    5: EXTDOS
*    6: DOSBIG
*    7: FDISK_IFS
*    8: FDISK_AIXBOOT
*    9: FDISK_AIXDATA
*   10: FDISK_0S2BOOT
*   11: FDISK_WINDOWS
*   12: FDISK_EXT_WIN
*   14: FDISK_FAT95
*   15: FDISK_EXTLBA
*   18: DIAGPART
*   65: FDISK_LINUX
*   82: FDISK_CPM
*   86: DOSDATA
*   98: OTHEROS
*   99: UNIXOS
*  100: FDISK_NOVELL2
*  101: FDISK_NOVELL3
*  119: FDISK_QNX4
*  120: FDISK_QNX42
*  121: FDISK_QNX43
*  130: SUNIXOS
*  131: FDISK_LINUXNAT
*  134: FDISK_NTFSVOL1
*  135: FDISK_NTFSVOL2
*  165: FDISK_BSD
*  167: FDISK_NEXTSTEP
*  183: FDISK_BSDIFS
*  184: FDISK_BSDISWAP
*  190: X86BOOT
*  191: SUNIXOS2
*  238: EFI_PMBR
*  239: EFI_FS
*

* Id    Act  Bhead  Bsect  Bcyl    Ehead  Esect  Ecyl    Rsect      Numsect
  238   0    255    63     1023    255    63     1023    1          2930277167
  0     0    0      0      0       0      0      0       0          0
  0     0    0      0      0       0      0      0       0          0
  0     0    0      0      0       0      0      0       0          0

このシステムにおいてAFT(4kセクタ)が問題となって性能が落ちているということは現在確認できない*2。それよりもEARSおよびEADS共通つまりCaviar Greenでよく起こる問題でよく言われる低速病のほうが問題。"iostat"で確認すると"I/O トランザクション平均処理時間"がもうミリ秒でなく秒で表した方がよくないかといったレベルになり使い物にならなくなる。こんな感じ。

    r/s    w/s   kr/s   kw/s wait actv wsvc_t asvc_t  %w  %b device
    0.0    1.0    0.0    2.0  2.9  3.0 2859.5 3000.0 100 100 c8t0d0
    0.0    0.0    0.0    0.0  0.0  0.0    0.0    0.0   0   0 c9t0d0
    0.0    1.0    0.0    8.0  3.9  3.0 3858.9 3000.0 100 100 c8t0d1

入れ替えを検討中。

余談だが、

OpenSolarisの標準ファイルシステムであるZFSのデフォルトのブロックサイズは8Kバイトらしい。多分8192バイトという事であろう。参考:http://docs.sun.com/app/docs/doc/819-1211/zfs-1m?l=en&n=1&a=view

ZFSでボリュームを作ったときのブロックサイズ(volblocksize)はデフォルトは8kだが、ファイルシステムを作ったときのブロックサイズ(recordsize)のデフォルトはなく、可変ブロックサイズで運用されると思ってたんだが違うのか。

さらに余談、AFTで話をややこしくしてるのはドライブ側が内部は4kセクタなのに外部には512byteセクタですよって宣言してファームウェアでエミュレートかましてるところ。素直に4kセクタですっていってくれればもっと対応が楽だった気がする。ジャンパか何かで切りかえれるようにしてくれてもいいのに。

*1:Felicia稼動開始 - MasaHeroの日記参照

*2:EADSとEARSの比較