web-dev-qa-db-ja.com

ZFS:別の障害の後に再シルバーリング中に障害が発生したディスクを交換するにはどうすればよいですか?

ZFSでのディスクの交換がうまくいかず、物理的に存在しなくなったにもかかわらず、交換するディスクがプールに「スタック」し、それ以上の交換の試行がブロックされます。それを削除する方法は?

OmniOS r151010上の11個のディスクがあるraidz3プールで、ディスクの1つが故障しました。問題のあるディスクをオフラインにして、新しいディスクと交換し、新しいディスクを再構成しました。銀色になり始めた後、交換用ディスクにエラーが発生しました。 Dmesgは「SYNCHRONIZECACHEコマンドが失敗しました」と表示しました。ケーブルが緩んでいるのではないかと思ったので、マシンをシャットダウンし、ディスクとケーブルを取り付け直して、再起動しました。それは再銀化を始めました、そしてしばらくして同じ問題を抱えていました。この時点で、問題のあるディスクのzpoolステータスが表示されます

replacing-0                UNAVAIL      0     0     0  insufficient replicas
    c4t5000C5004DC8693Fd0  OFFLINE      0     0     0
    c4t50014EE658315C1Dd0  FAULTED      0     0     0  too many errors

別のディスクを試してみて、それが違いを生むかどうかを確認することにしました。そうではないと思いましたが、簡単に試すことができました。ディスクをホットスワップすると、cfgadm-alが表示されました

c8                             scsi-sas     connected    configured   unknown
c8::w50014ee6ad8f0df2,0        disk-path    connected    configured   unknown
c8::w50014ee658315c1d,0        disk-path    connected    unconfigured unknown

新しいディスクはありますが、古いディスクは消えていません。マシンを再起動して古い状態をクリアすると、cfgadm-alは

c8                             scsi-sas     connected    configured   unknown
c8::w50014ee6ad8f0df2,0        disk-path    connected    configured   unknown

ただし、zpoolステータスはまだ古いディスクを示していました。障害をクリアしようとしましたが、元のディスクと最初の交換品が両方ともオフラインになりました

replacing-0                UNAVAIL      0     0     0  insufficient replicas
    c4t5000C5004DC8693Fd0  OFFLINE      0     0     0
    c4t50014EE658315C1Dd0  OFFLINE      0     0     0

この時点で、新しい交換用ディスクを再シルバー化するにはどうすればよいですか?元のディスクでzpoolreplaceを実行するか、最初の置換を実行すると、「/ dev/dskにそのようなデバイスがありません」というエラーが発生します(ここでは少し短縮されています)。

C4t50014EE658315C1Dd0でzpoolremoveを実行すると、「c4t50014EE658315C1Dd0を削除できません:非アクティブなホットスペア、キャッシュ、トップレベル、またはログデバイスのみを削除できます」というエラーメッセージが表示されます。

3
Willard

私はそれを考え出した。プールでzdbを使用して元のディスクのGUID)を取得し、formatを使用して交換用ディスクの名前を見つけてから、

# zpool replace <pool> <GUID of original disk> <name of replacement disk>

再銀メッキ中は次のようになります。

    NAME                         STATE     READ WRITE CKSUM
    raid                         DEGRADED     0     0     0
      raidz3-0                   DEGRADED     0     0     0
        replacing-0              UNAVAIL      0     0     0  insufficient replicas
          c4t5000C5004DC8693Fd0  OFFLINE      0     0     0
          c4t50014EE658315C1Dd0  OFFLINE      0     0     0
          c4t50014EE6AD8F0DF2d0  ONLINE       0     0     0  (resilvering)

完了したら通常に戻ります。

3
Willard