HOME / コンピュータTips / Solaris / zfs / データセットが消えない時(dataset is busy)

Date: 2014/07/04 |  このエントリーをはてなブックマークに追加  |  Tags: Solaris/opensolaris.zfs, dataset is busy, snapshot is busy, volume is busy

どういうときに消えないか?

基本的には、利用しているものがいるときは、消えません。-fで消すと、だいたいろくでもないことしか起きません。

filesystem is busy

そのfilesystemをマウントしているディレクトリを、誰かがロックしています。

操作してるシェル自体のカレントディレクトリがそこにあったりすることも多いので気をつけて。

pfilesやlsofなどをつかって、ロックしているプロセスを発見し、終了させればdestroyできます。

snapshot is busy

snapshotはread onlyものなので普通は消えますが、zfs holdしているときえません

zfs holds スナップショット名

をすると、何のタグでholdしているかわかるので、

zfs release タグ名 スナップショット名

で解放すれば、削除ができるようなります。

time-sliderのzfs-sendを使っていると、rpool以下まとめてロックされることがあるので、注意が必要です。

volume is busy

swapやdumpはそもそも消えません。

そうでないのに消えない場合は、COMSTAR(iscsi target)を使っていることが多くあります。

ちなみに・・・

sudo svcadm disable svc:/network/iscsi/target:default

しても、意味は無く

sudo stmfadm list-lu -v

とやって、LUの一覧をだし、ロックしてるvolumeがあるか確認します。destroyしたいvolumeがあった場合は、

sudo stmfadm delete-lu LU名

で、削除ができ、その後ならばzfs destroyできます。