LVM devices and symlinks
Hi,
I'm having an issue (not quite a problem) creating LVM logical
volumes. It seems that the way device files and symlinks are created
has changed between Squeeze and Wheezy (or I have some bad
configuration).
Old (working) Behavior
----------------------
Performing an `lvcreate -L10G -nLVNAME VGNAME` would create:
1. New device file /dev/dm-N
2. Symlink /dev/mapper/VGNAME-LVNAME -> /dev/dm-N
3. Symlink /dev/VGNAME/LVNAME -> /dev/dm-N
And everything was great.
New (broken) Behavior
--------------------
Performing an `lvcreate -L10G -nLVNAME VGNAME` creates:
1. New device file /dev/mapper/VGNAME-LVNAME
(and apparently nothing else)
Then, lvcreate tries to open /dev/VGNAME-LVNAME, which fails because
of no symlink with:
/dev/VGNAME/LVNAME: not found: device not cleared
Aborting. Failed to wipe start of new LV.
Workarounds
-----------
Here are a few workarounds I've figured out:
1. Give lvcreate the '-Z n' flag. This does create a usable logical
volume, but won't work with snapshots.
2. Manually create a symlink
'/dev/VGNAME/LVNAME -> /dev/mapper/VGNAME-LVNAME'
before running lvcreate
3. Give lvcreate the '--noudevsync' option. In this case, lvcreate
makes a symlink for
'/dev/VGNAME/LVNAME -> /dev/mapper/VGNAME-LVNAME'
on its own (apparently).
Also, on a reboot of the machine, the device files end up in the
original configuration, with both /dev/mapper/VGNAME-LVNAME and
/dev/VGNAME/LVNAME as symlinks pointing to /dev/dm-N.
While those workarounds are enough to get by, it would be nice to
understand the underlying issue here. Can anyone shed some light on
this?
Thank you,
-ntd
Reply to: