FreeBSD で ZFS がデバイスを解放する時 ― 2014年07月12日 14時40分36秒
ZFS を外すときの一つの方法が zpool export
。これは ZFS のプールをホストから切り離すときに使う。このコマンドを使うと、zpool history
に残る。特に、別のホストに使う時使う。ZFS ではプールがどのホストに繋がっていたかが、記録されている為だ。zpool export
をした後に、デバイスを抜き取っても問題ない。zpool import
で繋ぎ直す。
zfs umount -a
だと、ファイルシステムのマウントは解除されるが ZFS はまだデバイスを保持し続けている。昔は、これで間違って抜いてしまい何度かシステムを止めてしまった。二、三年前の事なので、今でもこの状態で抜くと panic を起こすか確かめてはいないが、geli detach
等は受け付けない。ZFS がまだデバイスを握っている証拠だ。
この状態から更に kldunload zfs
を行うとカーネルから、ZFS モジュールが外され、それと共にデバイスも ZFS から解放される。この状態だと、デバイスを外したり、geli detach
等も有効だ。
最初は zpool export
を使っていたが、zfs umount -a && kldunload zfs
の方が余計な記録が zpool history
に残らないし、カーネルから ZFS のメモリが完全に解放されて無駄もない。重要な記録を残してくれるのは嬉しい昨日ではあるが、余分なものが多過ぎると記録の価値も落ちる。
最近のコメント