X86プロセッサでSolaris10を実行しているシステムの既存のzpoolのディスクを交換するのに問題があります。 zpoolは元々、2つのミラーリングされたスライスで作成されました。ドライブの1つに障害が発生したため、新しいドライブと物理的に交換しました。 prvtocとfmthardを実行して、作業中のドライブから新しいドライブにディスクラベルをコピーしました。
prtvtoc /dev/rdsk/c1t0d0s2 >/tmp/c1t0d0s2.out
fmthard -s /tmp/c1t0d0s2.out >/dev/rdsk/c1t1d0s2
次に、新しいドライブをオンラインにしようとすると、デバイスにまだ障害が発生しているという警告が表示されました。
$ zpool online pool c1t1d0s6
warning: device 'c1t1d0s6' onlined, but remains in faulted state
Zpool status-vの出力は次のとおりです。
NAME STATE READ WRITE CKSUM
pool DEGRADED 0 0 0
mirror-0 DEGRADED 0 0 0
c1t0d0s6 ONLINE 0 0 0
c1t1d0s6 UNAVAIL 0 0 0 corrupted data
(c1t1d0は交換されたドライブです。)
次に、c1t1d0を再度オフラインにして、zpool replaceコマンドを実行しようとしましたが、これも機能しませんでした。
$ zpool replace pool c1t1d0s6
invalid vdev specification
use '-f' to override the following errors:
/dev/dsk/c1t1d0s6 overlaps with /dev/dsk/c1t1d0s2
誰かが何が起こっているのか知っていますか? '-f'フラグを使用しても安全ですか?
編集: zpool replace -fを実行した後、次のようになります。
pool: pool
state: DEGRADED
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.
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
pool DEGRADED 0 0 0
mirror-0 DEGRADED 0 0 0
c1t0d0s6 ONLINE 0 0 0
replacing-1 UNAVAIL 0 0 0 insufficient replicas
c1t1d0s6/old OFFLINE 0 0 0
c1t1d0s6 UNAVAIL 0 342 0 experienced I/O failures
Iostat-e出力に新しいドライブのエラーが表示されます。新しいドライブも悪いかもしれないと思いますか?
編集2:何が起こっているのかわかりません。同じ手順で別のドライブを試しました。 zpool replace -fを実行した後、zfsプールはスクラブを実行しましたが、ステータス出力は次のとおりです。
pool: pool
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.
scrub: scrub completed after 12h56m with 0 errors on Wed Aug 29 06:49:16 2012
config:
NAME STATE READ WRITE CKSUM
pool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
c1t0d0s6 ONLINE 0 0 0
replacing-1 ONLINE 5.54M 19.9M 0
c1t1d0s6/old UNAVAIL 0 0 0 corrupted data
c1t1d0s6 UNAVAIL 0 0 0 corrupted data
C1t1d0s6をオフラインにした後、zpoolステータスの出力は次のようになります。
pool: pool
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.
scrub: scrub completed after 12h56m with 0 errors on Wed Aug 29 06:49:16 2012
config:
NAME STATE READ WRITE CKSUM
pool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
c1t0d0s6 ONLINE 0 0 0
replacing-1 ONLINE 5.54M 19.9M 0
c1t1d0s6/old UNAVAIL 0 0 0 corrupted data
c1t1d0s6 UNAVAIL 0 0 0 corrupted data
わかりません。システムは、c1t0d0s6のミラーを使用してc1t1d0s6を置き換えることができるべきではありませんか?
ケーブルまたはドライブスレッドとスロットを確認してください。ノイズの多いSATA接続ではエラーが発生し、fmadmはその情報を使用してデバイスに障害が発生したときを判断します。悪いと思ったドライブがありましたが、有効なデータが確実に取得されていないことに気付いたのはZFSだけでした。 SATAケーブルが挟まれているのに気づき、交換してzpool clear
およびzpool scrub
、これ以上のエラーはありません。
fmadm
のアラートをクリアしましたか?そして、zpool clear
... zpoolreplaceを-f
スイッチで実行しても安全ですが、不良ディスクをすでに取り外していない限り、ステートメントは間違っていると思います。
http://docs.Oracle.com/cd/E19253-01/819-5461/gbcet/index.html