Creating Snapshot of LVM volume automatically mounts it

General support questions
Post Reply
madmat
Posts: 5
Joined: 2018/09/07 13:10:59

Creating Snapshot of LVM volume automatically mounts it

Post by madmat » 2018/09/07 13:40:32

Hi everyone,
I have some kind of a weird Problem. When I try to create a snapshot of a logical volume, it gets automatically mounted to the mountpoint of the original logical volume. Sadly, I don't
know how to turn this behavior off. Following is an example of what happens, when I create the snapshot volume:

Code: Select all

# df -h
...
/dev/mapper/centos_data-lv-virtdata       154G   17M  152G   1% /var/lib/libvirt


# lvcreate --snapshot --extents 100%FREE --name some_snap /dev/centos_data/lv-virtdata
  Using default stripesize 64.00 KiB.
  Logical volume "some_snap" created.


# df -h
...
/dev/mapper/centos_data-some_snap          154G   17M  152G   1% /var/lib/libvirt
So my question are:
  • Why does the snapshot get mounted automatically and whats causing it?
  • Is it possible to turn this behavior off, so I can mount the snapshot manually?
  • Am I doing something terribly wrong?

Code: Select all

# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
Regards

madmat

User avatar
TrevorH
Site Admin
Posts: 33216
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: Creating Snapshot of LVM volume automatically mounts it

Post by TrevorH » 2018/09/07 13:59:58

Is that an additional mount listed or is it just a misreporting of the previously mounted LV?
The future appears to be RHEL or Debian. I think I'm going Debian.
Info for USB installs on http://wiki.centos.org/HowTos/InstallFromUSBkey
CentOS 5 and 6 are deadest, do not use them.
Use the FAQ Luke

madmat
Posts: 5
Joined: 2018/09/07 13:10:59

Re: Creating Snapshot of LVM volume automatically mounts it

Post by madmat » 2018/09/07 14:11:04

It's neither, since the mount command does also display that the snapshot is now mounted on /var/lib/libvirt after executing the snapshot creation command.

Code: Select all

# mount | grep libvirt
/dev/mapper/centos_data-some_snap on /var/lib/libvirt type btrfs (rw,relatime,nodatasum,nodatacow,space_cache,subvolid=5,subvol=/)
When I unmount /var/lib/libvirt, it does not show anything mounted on /var/lib/libvirt:

Code: Select all

# umount /var/lib/lxc
# mount | grep libvirt
#
# df -h | grep libvirt
#
That's what made me think that something is mounting the newly created snapshot to /var/lib/libvirt and unmounts the original logical volume.

User avatar
TrevorH
Site Admin
Posts: 33216
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: Creating Snapshot of LVM volume automatically mounts it

Post by TrevorH » 2018/09/07 14:14:37

So far this sounds like a reporting issue. Can you repeat your commands from the first post but this time, post the entire output not jsut the bits you think are relevant.
The future appears to be RHEL or Debian. I think I'm going Debian.
Info for USB installs on http://wiki.centos.org/HowTos/InstallFromUSBkey
CentOS 5 and 6 are deadest, do not use them.
Use the FAQ Luke

madmat
Posts: 5
Joined: 2018/09/07 13:10:59

Re: Creating Snapshot of LVM volume automatically mounts it

Post by madmat » 2018/09/07 14:29:13

First the situation without the snapshoted logical volume:

Code: Select all

[root@lxctest ~]# df -h
Filesystem                                 Size  Used Avail Use% Mounted on
/dev/mapper/centos_system-lv--root         9.8G  1.2G  8.2G  12% /
devtmpfs                                   7.8G     0  7.8G   0% /dev
tmpfs                                      7.8G     0  7.8G   0% /dev/shm
tmpfs                                      7.8G  8.7M  7.8G   1% /run
tmpfs                                      7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/mapper/centos_backup-lv--backup_vm    466G   17M  464G   1% /backup/vm
/dev/mapper/centos_backup-lv--backup_host  466G  160M  464G   1% /backup/host
/dev/md0                                   991M  112M  828M  12% /boot
/dev/mapper/centos_system-lv--var          3.9G  619M  3.0G  17% /var
/dev/mapper/centos_system-lv--var_log      7.8G   41M  7.3G   1% /var/log
/dev/mapper/centos_system-lv--tmp          3.9G   17M  3.6G   1% /tmp
tmpfs                                      1.6G     0  1.6G   0% /run/user/0
/dev/mapper/lxc_crypt                      154G  426M  152G   1% /var/lib/lxc
/dev/mapper/centos_data-lv--virtdata       154G   17M  152G   1% /var/lib/libvirt

[root@lxctest ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=8103848k,nr_inodes=2025962,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/centos_system-lv--root on / type ext4 (rw,relatime,data=ordered)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=31,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12673)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
/dev/mapper/centos_backup-lv--backup_vm on /backup/vm type btrfs (rw,relatime,nodatasum,nodatacow,space_cache,subvolid=5,subvol=/)
/dev/mapper/centos_backup-lv--backup_host on /backup/host type btrfs (rw,relatime,nodatasum,nodatacow,space_cache,subvolid=5,subvol=/)
/dev/md0 on /boot type ext3 (rw,relatime,data=ordered)
/dev/mapper/centos_system-lv--var on /var type ext4 (rw,relatime,data=ordered)
/dev/mapper/centos_system-lv--var_log on /var/log type ext4 (rw,relatime,data=ordered)
/dev/mapper/centos_system-lv--tmp on /tmp type ext4 (rw,relatime,data=ordered)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=1622936k,mode=700)
/dev/mapper/lxc_crypt on /var/lib/lxc type btrfs (rw,relatime,nodatasum,nodatacow,space_cache,subvolid=5,subvol=/)
/dev/mapper/centos_data-lv--virtdata on /var/lib/libvirt type btrfs (rw,relatime,nodatasum,nodatacow,space_cache,subvolid=5,subvol=/)
Now I will create a Snapshot of /dev/centos_data/lv-virtdata:

Code: Select all

[root@lxctest ~]# lvcreate --snapshot --extents 100%FREE --name some_snap /dev/centos_data/lv-virtdata
  Using default stripesize 64.00 KiB.
  Logical volume "some_snap" created.


[root@lxctest ~]# df -h
Filesystem                                 Size  Used Avail Use% Mounted on
/dev/mapper/centos_system-lv--root         9.8G  1.2G  8.2G  12% /
devtmpfs                                   7.8G     0  7.8G   0% /dev
tmpfs                                      7.8G     0  7.8G   0% /dev/shm
tmpfs                                      7.8G  8.7M  7.8G   1% /run
tmpfs                                      7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/mapper/centos_backup-lv--backup_vm    466G   17M  464G   1% /backup/vm
/dev/mapper/centos_backup-lv--backup_host  466G  160M  464G   1% /backup/host
/dev/md0                                   991M  112M  828M  12% /boot
/dev/mapper/centos_system-lv--var          3.9G  619M  3.0G  17% /var
/dev/mapper/centos_system-lv--var_log      7.8G   41M  7.3G   1% /var/log
/dev/mapper/centos_system-lv--tmp          3.9G   17M  3.6G   1% /tmp
tmpfs                                      1.6G     0  1.6G   0% /run/user/0
/dev/mapper/lxc_crypt                      154G  426M  152G   1% /var/lib/lxc
/dev/mapper/centos_data-some_snap          154G   17M  152G   1% /var/lib/libvirt

[root@lxctest ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=8103848k,nr_inodes=2025962,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/centos_system-lv--root on / type ext4 (rw,relatime,data=ordered)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=31,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12673)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
/dev/mapper/centos_backup-lv--backup_vm on /backup/vm type btrfs (rw,relatime,nodatasum,nodatacow,space_cache,subvolid=5,subvol=/)
/dev/mapper/centos_backup-lv--backup_host on /backup/host type btrfs (rw,relatime,nodatasum,nodatacow,space_cache,subvolid=5,subvol=/)
/dev/md0 on /boot type ext3 (rw,relatime,data=ordered)
/dev/mapper/centos_system-lv--var on /var type ext4 (rw,relatime,data=ordered)
/dev/mapper/centos_system-lv--var_log on /var/log type ext4 (rw,relatime,data=ordered)
/dev/mapper/centos_system-lv--tmp on /tmp type ext4 (rw,relatime,data=ordered)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=1622936k,mode=700)
/dev/mapper/lxc_crypt on /var/lib/lxc type btrfs (rw,relatime,nodatasum,nodatacow,space_cache,subvolid=5,subvol=/)
/dev/mapper/centos_data-some_snap on /var/lib/libvirt type btrfs (rw,relatime,nodatasum,nodatacow,space_cache,subvolid=5,subvol=/)


So you see, prior is the normal situation with the mountpoints mounted according to /etc/fstab. After executing the snapshot command, the newly created logical volume, containing the
snapshot of the original logical volume is mounted in place of the original logical volume.

Here is my fstab:

Code: Select all

[root@lxctest ~]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Fri Sep  7 10:59:38 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos_system-lv--root /                       ext4    defaults        1 1
/dev/mapper/centos_backup-lv--backup_host /backup/host            btrfs	defaults,nodatacow	1 2
/dev/mapper/centos_backup-lv--backup_vm /backup/vm              btrfs	defaults,nodatacow	1 2
UUID=a4139cce-75b9-46b4-aa8c-62496d2dcaad /boot                   ext3    defaults        1 2
/dev/mapper/centos_system-lv--tmp /tmp                    ext4    defaults        1 2
/dev/mapper/centos_system-lv--var /var                    ext4    defaults        1 2
/dev/mapper/centos_data-lv--virtdata /var/lib/libvirt        btrfs	defaults,nodatacow	1 2
/dev/mapper/lxc_crypt		 /var/lib/lxc            btrfs	defaults,nodatacow	1 2
#/dev/mapper/centos_data-lv--lxcdata /var/lib/lxc            btrfs	defaults,nodatacow	1 2
/dev/mapper/centos_system-lv--var_log /var/log                ext4    defaults        1 2
/dev/mapper/centos_system-lv--swap swap                    swap    defaults        0 0
And thank you both for taking the time to analyze my problem.

madmat
Posts: 5
Joined: 2018/09/07 13:10:59

Re: Creating Snapshot of LVM volume automatically mounts it

Post by madmat » 2018/09/07 14:45:53

Ok, I did a test and reformated the logical volume from BTRFS to ext4 and now the Problem is gone. So I think it is an issue with BTRFS. But since I need the benefit of BTRFS checks against bitrotting when the device is online and want to have the BTRFS Filesystem on a dmcrypt volume, I can't use ext4 for this purpose.

madmat
Posts: 5
Joined: 2018/09/07 13:10:59

Re: Creating Snapshot of LVM volume automatically mounts it

Post by madmat » 2018/09/10 13:04:54

So, since I did not find a solution to this problem, I'm switching to using BTRFS Snapshots, which work as expected.

Post Reply