web-dev-qa-db-ja.com

突然オフラインになり、「別のシステムで最後に使用された」と報告されたZFSプールを回復するにはどうすればよいですか?

tl; dr:私はFreeBSD 11.2を実行していますNAS 16GB ECCメモリを搭載したサーバーでZFSを搭載したサーバー。私のメインプールが消えたことを発見しました。ZFSはプールを表示できますが、障害 ZFS-8000-EY を報告し、cannot import 'tank': pool may be in use from other system, it was last accessed by nasserver (hostid: 0xaaaaaaaa) on Sat Apr 13 04:16:22 2019ですが、このプールには決して別のシステムで使用されておらず、nasserverが現在のホストです。プールが破損していると思います。プールを回復するにはどうすればよいですか?バックアップがありますが、手動で実行する必要があるため、古くなっています。何かを悪化させないように注意したいので、_zpool import -f tank_の実行はまだ試みていません。


完全な質問:

FreeBSD 11.2を実行していますNASサーバーでZFSを使用しています。休暇から戻ってサーバーを見つけましたが、NASボリュームにアクセスできませんでした。sshを実行すると箱に入れると、私の男のプールtankが欠けていることがわかりました。

_root@nasserver:/home/root # zpool status   pool: zroot state: ONLINE status: Some supported features are not enabled on the pool. The pool can
        still be used, but some features are unavailable. action: Enable all features using 'zpool upgrade'. Once this is done,
        the pool may no longer be accessible by software that does not support
        the features. See zpool-features(7) for details.   scan: scrub repaired 0 in 0h0m with 0 errors on Sat Mar 23 03:01:44 2019 config:


        NAME                                  STATE     READ WRITE CKSUM
        zroot                                 ONLINE       0     0     0
          mirror-0                            ONLINE       0     0     0
            diskid/DISK-XXXXXXXXXXXXXXXXXXX1  ONLINE       0     0     0
            diskid/DISK-XXXXXXXXXXXXXXXXXXX2  ONLINE       0     0     0


errors: No known data errors
_

ドライブは使用可能のように見え、インポートしようとしましたが、ZFSはそれをcannot import 'tank': pool may be in use from other system, it was last accessed by nasserver (hostid: 0xaaaaaaaa) on Sat Apr 13 04:16:22 2019と報告します。私がこれらのディスクを別のシステムで使用したことがなく、報告されたホスト名がそれらが接続されているマシンのホスト名であるため、これは奇妙です。

_root@nasserver:/home/root # zpool import
   pool: tank
     id: 12345678901234567901
  state: ONLINE
status: The pool was last accessed by another system.
action: The pool can be imported using its name or numeric identifier and
        the '-f' flag.
   see: http://illumos.org/msg/ZFS-8000-EY
config:


        tank                    ONLINE
          raidz1-0              ONLINE
            gpt/tank-1          ONLINE
            gpt/tank-2          ONLINE
            gpt/tank-3          ONLINE
            gpt/tank-4          ONLINE


root@nasserver:/home/root # zpool import tank
cannot import 'tank': pool may be in use from other system, it was last accessed by nasserver (hostid: 0xaaaaaaaa) on Sat Apr 13 04:16:22 2019
use '-f' to import anyway
_

プールが破損している可能性があります。バックアップがありますが、多少古くなっています。プールを回復するにはどうすればよいですか?

3
Kaypro II

zpool import -f tank、エラーダイアログに表示されるとおり。

これはかなりまれなバグですが、以前に発生したことはあります(過去10年間で100台以上のマシンで1回か2回)。もし何か現れるがホスト名およびおそらく他の魔法に関して変更された場合、zfsはプールを自動インポートしません(おそらく超過している可能性があります)。プールが属するマシンである。使用する -fその注意を無効にするために、ここにあなたのプールがあります(そして次の回避策として自動インポートされるはずです)。

これはおそらくmostクラッシュまたは停電の後、プールが正しくエクスポートされずにシステムがダウンしたままになる可能性があります。

4
Jim Salter