みやざきです。

2011年2月18日18:53 NAKAJI Hiroyuki <[email protected]>:
> 中治です。
>
> ようやく、使い方を質問する日が来ました。と言っても、マニュアルの読み方がわ
> かりません、というレベルです。既出かと思いますが…。
>
> <現状>
>
> Dell PowerEdge T100 に OpenSolaris snv_134b です。image-update での更新が
> できない原因の究明ができていません。
>
> single drive を zpool に割り当てて、データ保管庫にしつつあります。まだほん
> の少ししか使っていませんが、バックアップもまだなので、おいそれと吹っ飛ばせ
> ません。
>
> $ zpool list
> NAME        SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
> plonepool  1.36T   689M  1.36T     0%  1.00x  ONLINE  -
> rpool       148G  89.5G  58.5G    60%  1.00x  ONLINE  -
>
> $ zpool status plonepool
>  pool: plonepool
>  state: ONLINE
>  scrub: none requested
> config:
>
>        NAME        STATE     READ WRITE CKSUM
>        plonepool   ONLINE       0     0     0
>          c5t0d0s0  ONLINE       0     0     0
>
> errors: No known data errors
>
> <やりたいこととやったこと>
>
> c5t0d0と同じIOデータの1.5TBのディスクをもう1台買ってきたので、これを
> plonepool に追加して RAID1 (mirror) にしたい。
>
> このドライブを接続したところ、c6t0d0 で認識されているので、fdisk で
> SOLARIS2 パーティションを作成、format で c6t0d0s0 パーティションを作成した。
>
> <難点>
>
> zpool コマンドの使い方がよくわかりません。(^^;
>
> まっさらな状態だと、zpool create plonepool mirror c5t0d0s0 c6t0d0s0 でよい
> のでしょうけど、使用中の c5t0d0s0 には手をつけずにそれと同等のことをするの
> に、
>
>    zpool add plonepool mirror c6t0d0s0

既存のプールに対してミラーを追加するには、attach を使うはずです。

# zpool attach -f rpool c5t0d0s0 c6t0d0s0

>
> でいいのでしょうか。zpool(1M) では
>
>     Example 5 Adding a Mirror to a ZFS Storage Pool
>
>     The following command adds two mirrored disks  to  the  pool
>     "tank", assuming the pool is already made up of two-way mir-
>     rors. The additional space is immediately available  to  any
>     datasets within the pool.
>
>       # zpool add tank mirror c1t0d0 c1t1d0
>
> しかヒントを見つけられず、ためらっています。"already made up of two-way
> mirrors" ってのが「2方向ミラーで構成済み」ということなのですが、この意味が
> よくわかりません。

zpool add は、stripe的にディスクを追加します。このとき、追加するディスクの
構成は、追加されるディスクと同じ構成でないといけません。
上記の例では、tankがmirror構成である必要があります。

mirror構成のディスクをaddしていくと、以下のような感じになります。
#test?[ab]は、mkfileを使用して作った64MBのファイルです。

--------8<--------8<--------8<--------8<--------8<--------8<--------8<
# zpool create -f testpool mirror /home/s-miyaza/test0?
# zpool status testpool
  pool: testpool
 state: ONLINE
 scan: none requested
config:

        NAME                       STATE     READ WRITE CKSUM
        testpool                   ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            /home/s-miyaza/test0a  ONLINE       0     0     0
            /home/s-miyaza/test0b  ONLINE       0     0     0

errors: No known data errors
# zpool add -f testpool mirror /home/s-miyaza/test1?
# zpool add -f testpool mirror /home/s-miyaza/test2?
# zpool status testpool
  pool: testpool
 state: ONLINE
 scan: none requested
config:

        NAME                       STATE     READ WRITE CKSUM
        testpool                   ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            /home/s-miyaza/test0a  ONLINE       0     0     0
            /home/s-miyaza/test0b  ONLINE       0     0     0
          mirror-1                 ONLINE       0     0     0
            /home/s-miyaza/test1a  ONLINE       0     0     0
            /home/s-miyaza/test1b  ONLINE       0     0     0
          mirror-2                 ONLINE       0     0     0
            /home/s-miyaza/test2a  ONLINE       0     0     0
            /home/s-miyaza/test2b  ONLINE       0     0     0

errors: No known data errors
--------8<--------8<--------8<--------8<--------8<--------8<--------8<

ファイルを使ってzpoolの実験をすると、結構面白いことが分かります。
#以前話題にした zfs online -e も、この方法で実験しました。

以前実験したところ、raidz でも同じようにzpool add出来ますが、raidzの
ストライプ幅を同じにしないと、add出来ませんでした。

-- 
みやざきさとる(Satoru MIYAZAKI)
[email protected]
http://twitter.com/s_miyaza
_______________________________________________
ug-jposug mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/ug-jposug

メールによる返信