Re: can't remove snapshot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/



[Index of Archives]     [Gluster Users]     [Kernel Development]     [Linux Clusters]     [Device Mapper]     [Security]     [Bugtraq]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]

  Powered by Linux