fc2ブログ

ZFS ストレージプールを RAID-Z で作る

ざるそば

Solaris 11 をインストールした HP MicroServer ですが、2.5TB の HDD もなんと 3 本も一緒にいただいていたので、これを使って ZFS ストレージプール (zpool) を作ります。

せっかくなので PC ではなかなか味わえない、ホットスワップでの接続を試してみました。

サーバーの電源を入れたまま 3.5 インチベイの左から挿していきますが、挿す前に HDD のラベルを写真に撮ってシリアルをメモします。
RAID-Z で組むので、HDD が 1 本故障しても大丈夫ですが、交換時にどの HDD を抜いたらいいかシリアルで区別する必要があるためです。

HDD を奥まで挿し込むと、通電して回転ノイズが聞こえてきます。すべて挿したら SSH で接続して操作していきます。

iostat コマンドではまだ認識されていません。-E で全デバイスの統計情報を出し、-n で物理デバイス名 cXtYdZ 形式で表示しています。
$ iostat -En
c1t5d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: ATA Product: INTEL SSDSA2CW08 Revision: 0362 Serial No:
Size: 80.03GB <80026361856 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 28 Predictive Failure Analysis: 0 Non-Aligned Writes: 0

ここでは直接関係ありませんが、Illegal Request があるのが気になります。。今度調べよう。


「c1t5d0」というディスク (SSD) のみが見えていることがわかります。今度は cfgadm コマンドを叩きます。すると…

$ cfgadm
Ap_Id Type Receptacle Occupant Condition
sata0/0 disk connected unconfigured unknown
sata0/1 disk connected unconfigured unknown
sata0/2 disk connected unconfigured unknown
sata0/3 sata-port empty unconfigured ok
sata0/4 sata-port empty unconfigured ok
sata0/5::dsk/c1t5d0 disk connected configured ok
(後略)

sata0/0 ~ sata0/2 までが、ディスクが繋がっているけど未設定になっています。sata0/5 は dsk/c1t5d0 なので、先ほど見た SSD であることがわかります。


今度は root で cfgadm -c configure コマンドを叩き、configure していきます。

# cfgadm -c configure sata0/0
# cfgadm -c configure sata0/1
# cfgadm -c configure sata0/2
もう一度 cfgadm を叩くと以下のようになりました!
$ cfgadm | grep sata0
sata0/0::dsk/c1t0d0 disk connected configured ok
sata0/1::dsk/c1t1d0 disk connected configured ok
sata0/2::dsk/c1t2d0 disk connected configured ok
sata0/3 sata-port empty unconfigured ok
sata0/4 sata-port empty unconfigured ok
sata0/5::dsk/c1t5d0 disk connected configured ok
iostat コマンドでもバッチリ出ます。
$ iostat -En
c1t5d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: ATA Product: INTEL SSDSA2CW08 Revision: 0362 Serial No:
Size: 80.03GB <80026361856 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 29 Predictive Failure Analysis: 0 Non-Aligned Writes: 0
c1t0d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: ATA Product: WDC WD25EZRX-00M Revision: 0A80 Serial No: WD-WCAWZ*******
Size: 2500.50GB <2500495958016 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 0 Predictive Failure Analysis: 0 Non-Aligned Writes: 0
c1t1d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: ATA Product: WDC WD25EZRX-00M Revision: 0A80 Serial No: WD-WCAWZ*******
Size: 2500.50GB <2500495958016 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 0 Predictive Failure Analysis: 0 Non-Aligned Writes: 0
c1t2d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: ATA Product: WDC WD25EZRX-00M Revision: 0A80 Serial No: WD-WCAWZ*******
Size: 2500.50GB <2500495958016 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 0 Predictive Failure Analysis: 0 Non-Aligned Writes: 0
ここまでくればこっちのものですが、ここで表示されたデバイス名とシリアルを関連付けておきます。これで万一の故障交換時も、間違いなくディスクを選ぶことができます。

zpool を見ておきます。

$ zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
rpool 74G 9.50G 64.5G 12% 1.00x ONLINE -

zpool create で、raid-z の zpool を作成します (root)。

# zpool create tank raidz c1t0d0 c1t1d0 c1t2d0

もう一度 zpool を見ると出来上がっていることがわかります。

$ zpool list
NAME   SIZE  ALLOC   FREE  CAP  DEDUP  HEALTH  ALTROOT
rpool   74G  9.50G  64.5G  12%  1.00x  ONLINE  -
tank  6.81T  1.55M  6.81T   0%  1.00x  ONLINE  -
容量ですが、1 本あたり 2500495958016 bytes なので、
2500495958016 / 1024^4 * 3 = 6.822563476860523
ということで、6.81TB と表示されています。これはパリティを含んだ総容量ですね。

zfs list で見ると、パリティ分が減っていることがわかります。
$ zfs list tank
NAME  USED  AVAIL  REFER  MOUNTPOINT
tank  671K  4.47T   192K  /tank
zpool status でもバッチリです!やったぜ!
$ zpool status tank 
  pool: tank
 state: ONLINE
  scan: scrub repaired 0 in 1s with 0 errors on Mon Feb 27 00:53:41 2017
config:
        NAME        STATE     READ WRITE CKSUM
        tank         ONLINE       0     0     0
          raidz1-0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
errors: No known data errors
※戯れに scrub してみてます。何も入ってないので一瞬で終わりました。

Posted byざるそば

Comments 0

There are no comments yet.

Leave a reply