NetBSDでのzpool import

NetBSDで zpool を構築していても、 後にデバイス名が変わっちゃったりすると次回ブートでimportされない。 そんなわけで、zfsを作るときは必ずデバイス名が変わらないように いったんraidframeを噛ませて作るようにしている。 また、zpool export すると、もう zpool imprt できない → 2020/10/25

不便やなあ、と思っていたら、 見つけてもらいたいdeviceファイルだけ含むディレクトリを作って 「zpool import -d そのディレクトリ」すればいいことが、 https://wiki.netbsd.org/zfs/ にしっかり書いてあった。

たとえば /dev/sd3a とかで zpool create したものを 再起動後、デバイスがsd4a になっちゃったりしたとか、あるいは いったん zpopl export したりするともうimportできない。 そんなときは、以下の例のようにする。

mkdir /etc/zfs/POOLDEV
ln -s /dev/sd4a /etc/zfs/POOLDEV
zpool import -d /etc/zfs/POOLDEV
   pool: ztmp
     id: 9253242315562969939
  state: ONLINE
 action: The pool can be imported using its name or numeric identifier.
 config:

        ztmp                  ONLINE
          /etc/zfs/ztmp/sd4a  ONLINE

すると、/etc/zfs/POOLDEV にsymlinkしてある /dev/sd4a を見に行ってくれるのでimportしますか一覧に出てくるので改めて

zpool import -d /etc/zfs/POOLDEV ztmp

なんてなふうにするとよい。知らなんだ!!! こりゃ安心。 これが心配で、結構ノートPCでは使うのを控えていた感がある。 2025年はじゃんじゃん使おう。