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年はじゃんじゃん使おう。