Dne 10. 04. 19 v 15:36 Lentes, Bernd napsal(a):
----- Am 9. Apr 2019 um 15:24 schrieb Zdenek Kabelac zdenek.kabelac@xxxxxxxxx:
Dne 09. 04. 19 v 15:00 Lentes, Bernd napsal(a):
Hello list,
I have a two-node HA-cluster which uses local and cluster LVM.
cLVM is currently stopped, I try to remove a snapshot from the root lv which
is located on a local VG.
I get this error:
ha-idg-2:/mnt/spp # lvremove -fv vg_local/lv_snap_pre_sp4
connect() failed on local socket: No such file or directory
Internal cluster locking initialisation failed.
WARNING: Falling back to local file-based locking.
Volume Groups with the clustered attribute will be inaccessible.
Archiving volume group "vg_local" metadata (seqno 26).
Removing snapshot volume vg_local/lv_snap_pre_sp4.
Loading table for vg_local-lv_root (254:8).
device-mapper: reload ioctl on (254:8) failed: Invalid argument
Failed to refresh lv_root without snapshot.
Hi
Have you tried to converted clustered VG to be a non-clustered one ?
And use file locking to proceed with operation on local device?
Zdenek
Hi,
i tried all i found on the net.
Stopping udev before lvremove, dmsetup remove before, lock the device with lockdev,
tried to deactivate the snapshot before removing (which didn't work because then i also had
to deactivate the root lv which is the source for the snapshot),
stopped monitoring the snapshot, update of the complete system ...
nothing succeeded.
I have a SLES 12 SP4 with 4.12.14-95.13-default and lvm2-2.02.180-9.7.1.x86_64.
I finally did a strace on the program:
...
write(2, "Loading table for vg_local-lv_ro"..., 43Loading table for vg_local-lv_root (254:9).) = 43
write(2, "\n", 1
) = 1
ioctl(3, DM_TABLE_STATUS, 0x563eacb00c80) = 0
ioctl(3, DM_TABLE_LOAD, 0x563eacb00c80) = -1 EINVAL (Invalid argument) <========================================================
write(2, " ", 2 ) = 2
write(2, "device-mapper: reload ioctl on "..., 64device-mapper: reload ioctl on (254:9) failed: Invalid argument) = 64
write(2, "\n", 1
) = 1
brk(0x563eacf92000) = 0x563eacf92000
write(2, " ", 2 ) = 2
write(2, "Failed to refresh lv_root withou"..., 43Failed to refresh lv_root without snapshot.) = 43
write(2, "\n", 1
) = 1
This seems to be the culprit:
ioctl(3, DM_TABLE_LOAD, 0x563eacb00c80) = -1 EINVAL
fd 3 seems to be /dev/mapper/control. DM_TABLE_LOAD is defined in include/uapi/linux/dm-ioctl.h:
#define DM_TABLE_LOAD _IOWR(DM_IOCTL, DM_TABLE_LOAD_CMD, struct dm_ioctl)
And the memory adress is the same as the one used successfully one line before.
Error -1 is, following man:
EINVAL: request or argp is not valid
In the manpage sys/ioctl.h is mentioned, but i don't find it in my sources.
What is the related error message from kernel (IOCTL) - check and show dmesg
messages. Eventually please supply
'dmsetup table'
'dmsetup status'
'dmsetup info -c'
_______________________________________________
linux-lvm mailing list
linux-lvm@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/