私のDebianサーバーはLinux上でZFSを実行しています。今日は、ソフトウェアのアップグレードのために2回再起動する必要がありました。 ZFSが0.6.4-1.2-1-wheezyから0.6.5.2-2-wheezyに更新されたため、最初の再起動が完了しました。その後、プール内のホームディレクトリにアクセスすると問題なく動作しました。最後の再起動後、zpoolはプールのインポートに失敗します。
# zpool import
pool: storage
id: 4490463110120864267
state: FAULTED
status: The pool metadata is corrupted.
action: The pool cannot be imported due to damaged devices or data.
see: http://zfsonlinux.org/msg/ZFS-8000-72
config:
storage FAULTED corrupted data
logs
sda3 ONLINE
# zpool import storage
cannot import 'storage': I/O error
Destroy and re-create the pool from
a backup source.
# zpool import -F storage
cannot import 'storage': one or more devices is currently unavailable
完全なプールがありません。次のようになります。
storage
mirror
scsi-SATA_WDC_WD30EFRX-68_WD-WMC1T2132687-part1
scsi-SATA_WDC_WD30EFRX-68_WD-WMC1T2194187-part1
Zpoolにデータパーティションを使用するように指示するにはどうすればよいですか?ディスクが応答するのではないかと心配しているので、このプールまたは新しいプールにディスクを接続しようとしています。それらのメタデータはクリアされます。
編集/更新:
定期的な再起動中にzpoolの損失が発生したという事実を考えると、少なくともzpoolのエクスポートが行われることを期待していました。そして、たとえそれが汚れてシャットダウンされたとしても、私はコピーの救助作業をすることを好みます。そこで、システムに大きなHDDを追加し(デバイスsdbとして追加されました-udevに感謝します)、障害が発生したドライブのzfsパーティションと同じサイズの2つのパーティションでフォーマットしました。これはミラーリングされたプールだったので、両方の古いパーティションを新しいパーティションにコピーしました。
dd if=/dev/disk/by-id/scsi-SATA_WDC_WD30EFRX-68_WD-WMC1T2132687-part1 /dev/sdb1 bs=104800
dd if=/dev/disk/by-id/scsi-SATA_WDC_WD30EFRX-68_WD-WMC1T2194187-part1 /dev/sdb2 bs=104800
今、私は2つの同一のミラーを備えたシステムを持っていました。
# zpool import
pool: storage
id: 4490463110120864267
state: ONLINE
status: Some supported features are not enabled on the pool.
action: The pool can be imported using its name or numeric identifier, though
some features will not be available without an explicit zpool upgrade'.
config:
storage ONLINE
mirror-0 ONLINE
sdb1 ONLINE
ata-WDC_WD30EFRX-68AX9N0_WD-WMC1T2194187-part1 ONLINE
logs
sda3 ONLINE
# zpool import storage
#
やったー!
その間、データを2回バックアップし、完全に新しいzpoolへの復元が進行中です。
元のプール作成で/ dev/disk/by-idを指定したため、プールがディスクを見つけられない場合があります。 slogデバイスが認識される方法に注意してください...
プールインポートフラグがあります、-d
。これにより、インポートプロセスを特定のディレクトリにポイントして、デバイスを照会できます。良いアドバイス ここ 。
試してください:
zpool import -F -d /dev/disk/by-id storage