web-dev-qa-db-ja.com

ディスクの交換により、zpoolのディスク命名規則が破られる

RAID-Z2プール内の2つの壊れたディスクを交換した後、zpool statusの出力が奇妙に見えます。ディスクはフルパスでアドレス指定され、他のすべてのディスクにはない「スライス」も含まれているようです。

壊れたディスクを置き換えるためにこれらのコマンドを入力しました(これは奇妙な名前を説明しているかもしれませんが、スライスは説明していません):

zpool replace bashpool c2t6d0 /dev/rdsk/c2t6d0
zpool replace bashpool c2t7d0 /dev/rdsk/c2t7d0

Zpoolステータスの出力は次のように報告されます。

~$ zpool status -v bashpool 
pool: bashpool
state: ONLINE
scan: resilvered 1.01T in 39h31m with 0 errors on Fri Feb 22 10:50:20 2013
config:

    NAME                    STATE     READ WRITE CKSUM
    bashpool                ONLINE       0     0     0
      raidz2-0              ONLINE       0     0     0
        c2t0d0              ONLINE       0     0     0
        c2t1d0              ONLINE       0     0     0
        c2t2d0              ONLINE       0     0     0
        c2t3d0              ONLINE       0     0     0
        c2t4d0              ONLINE       0     0     0
        c2t5d0              ONLINE       0     0     0
        /dev/rdsk/c2t6d0s0  ONLINE       0     0     0
        /dev/rdsk/c2t7d0s0  ONLINE       0     0     0
        c3t4d0              ONLINE       0     0     0
        c3t5d0              ONLINE       0     0     0
        c3t6d0              ONLINE       0     0     0
        c3t7d0              ONLINE       0     0     0
        c3t1d0              ONLINE       0     0     0
        c3t3d0              ONLINE       0     0     0
        c3t2d0              ONLINE       0     0     0
    spares
      c3t0d0                AVAIL
errors: No known data errors

私の質問は次のとおりです。

  • 私は何か間違ったことをしましたか?プールは問題ないようですが、私はSolarisの経験があまりないので、実際には言えません。もしそうなら、どうすれば状況を改善できますか?
  • Zpoolのディスク名を変更できますか?
  • 他のすべてのディスクにスライスがないのに、新しいディスクにスライスがあるように見えるのはなぜですか?私はそれらをフォーマットせず、新しいrawディスクをサーバーにインストールしてreplaceコマンドを実行しただけです。

更新2013-02-25:2つのデバイスを制御できなくなったようです。 zpoolコマンドは、「プールにそのようなデバイスはありません」というエラーで失敗するようです。

~# zpool detach bashpool /dev/dsk/c2t6d0s0
   cannot detach /dev/dsk/c2t6d0s0: no such device in pool

~# zpool detach bashpool c2t6d0s0
   cannot detach /dev/dsk/c2t6d0s0: no such device in pool

さらに見知らぬ人:GUID(zdb -C <zpool>で確認)でデバイスをアドレス指定できますが、zpool offlineのみが機能しているようです:

~# zpool offline bashpool '683230688581832563'
~# zpool status
  pool: bashpool
  state: DEGRADED
  status: One or more devices has been taken offline by the administrator.
    Sufficient replicas exist for the pool to continue functioning in a
    degraded state.
  action: Online the device using 'zpool online' or replace the device with
    'zpool replace'.
  scan: resilvered 1.01T in 39h31m with 0 errors on Fri Feb 22 10:50:20 2013
  config:

    NAME                    STATE     READ WRITE CKSUM
    bashpool                DEGRADED     0     0     0
      raidz2-0              DEGRADED     0     0     0
        c2t0d0              ONLINE       0     0     0
        c2t1d0              ONLINE       0     0     0
        c2t2d0              ONLINE       0     0     0
        c2t3d0              ONLINE       0     0     0
        c2t4d0              ONLINE       0     0     0
        c2t5d0              ONLINE       0     0     0
        /dev/rdsk/c2t6d0s0  OFFLINE      0     0     0
        /dev/rdsk/c2t7d0s0  ONLINE       0     0     0
        c3t4d0              ONLINE       0     0     0
        c3t5d0              ONLINE       0     0     0
        c3t6d0              ONLINE       0     0     0
        c3t7d0              ONLINE       0     0     0
        c3t1d0              ONLINE       0     0     0
        c3t3d0              ONLINE       0     0     0
        c3t2d0              ONLINE       0     0     0
    spares
      c3t0d0                AVAIL   

errors: No known data errors

後でデバイスをオンラインにすることはできますが、デバイスで他に何もできないようです。他のすべてのコマンドは、「プールにそのようなデバイスはありません」というエラーを返します。 zpoolデバイスを制御する別の方法を知っている人はいますか?

2
b2c

スライスの可視性は、再シルバー化操作中に発生します。完了すると、通常、通常のデバイス名が復元されます。

あなたのzpool replace操作、デバイス名を使用するだけで済みます。フルパスではありません。

(ちなみに、それはクレイジーで大きなraidz2プールです!!)

3
ewwhite