udev + LVM snapshot でハマった
Xen ホストマシン上で、lvcreate で snapshot を作ろうとしたら以下のメッセージが出て失敗した。
macks@hostname:~$ sudo lvcreate -s -n tmp -L 1G /dev/vg01/home LV vg01/tmp in use: not removing Couldn't deactivate new snapshot.
調べてみたら、udev が関係することが判明。
- udev: LVM snapshots don't work
俺の環境では Debian Sarge に backports.org の udev をインストールしていた。(lvm2_2.01.04-5 + udev_0.089-0bpo1)
BTS にあるとおり、以下のように udev のルールを変更すれば正しく動作するようになった。
--- /etc/udev/udev.rules~ 2005-12-17 02:13:53.000000000 +0100 +++ /etc/udev/udev.rules 2005-12-17 11:08:03.000000000 +0100 @@ -93,6 +93,6 @@ SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k" # device mapper creates its own device nodes, so ignore these -KERNEL=="dm-[0-9]*", NAME="" +KERNEL=="dm-[0-9]*", OPTIONS+="ignore_device" KERNEL=="device-mapper", NAME="mapper/control"
デバイスの準備が完了する前に udev がデバイスを掴んでしまうのが原因らしいが、udev.rules を見ただけじゃそんなの分からんよ。
微妙すぎる。