lvm快照卷如何挂载

核心点在于 LVM 快照的挂载方式

1. 快照卷没有文件系统

LVM 快照只是对 底层逻辑卷的块级拷贝(Copy-on-Write),它本身并不是一个全新的卷(没有单独的 mkfs),所以不能当作新卷去挂载。

你的命令:

1
mount -o ro /dev/centos/snap_home /mnt/snap/

报错 坏超级块,就是因为直接 mount 到快照设备,内核没认出文件系统。


2. 正确挂载方法

快照是对 原始 LV 的镜像,所以应该从 对应的快照设备节点挂载。

尝试这样做:

1
2
mkdir -p /mnt/snap
mount -o ro,nouuid /dev/centos/snap_home /mnt/snap

🔑 关键点:

  • -o ro → 只读挂载,避免对快照写入
  • -o nouuid → 如果原始卷和快照都是 ext4,会有相同 UUID,mount 会报错,nouuid 参数能绕过

3. 检查文件系统类型

确认一下 home 原始卷用的是什么 FS:

1
blkid /dev/centos/home

假如返回 ext4xfs,挂载时要指定:

  • ext4

    1
    mount -t ext4 -o ro,nouuid /dev/centos/snap_home /mnt/snap
  • xfs(常见于 CentOS7 /home

    1
    mount -t xfs -o ro,nouuid /dev/centos/snap_home /mnt/snap

4. dmesg 诊断

你也可以直接看下内核日志确认:

1
dmesg | tail -n 20

通常会看到类似:

XFS: Filesystem has duplicate UUID

就能确认是缺少 -o nouuid


👉 建议你先跑(查看uuid):

1
2
3
4
5
6
7
8
9
10
blkid /dev/centos/home

[root@c7-100 snap]# blkid
/dev/sda1: UUID="378779c3-3323-4ceb-9523-a2389e698100" TYPE="xfs"
/dev/sda2: UUID="5Ra9li-XhSu-WDyt-VXxU-jHce-vA6T-Aay1XY" TYPE="LVM2_member"
/dev/mapper/centos-root: UUID="c0ed19b0-c17d-46f5-856a-08f1b1617a6f" TYPE="xfs"
/dev/mapper/centos-swap: UUID="8333e691-308a-4344-b9fa-9b87066c7e8e" TYPE="swap"
/dev/mapper/centos-home: UUID="00c47698-2797-4ecc-a0fc-2de949db1cf8" TYPE="xfs"
/dev/sdb: UUID="fdy47s-cADK-kSWr-jCT6-Iew7-IHn7-iKPdRQ" TYPE="LVM2_member"
/dev/mapper/centos-snap_root: UUID="c0ed19b0-c17d-46f5-856a-08f1b1617a6f" TYPE="xfs"