LVM 快照上的 fsck

LVM 快照上的 fsck

我正在尝试使用我们的逻辑卷的 LVM 快照进行一些文件系统检查,以查看它们是否有脏文件系统。

我遇到的问题是我们的 LVM 只有一个卷组,没有可用空间。我能够使用环回文件系统对某些逻辑卷执行 fsck。但我的问题是,是否可以创建一个 200GB 的环回文件系统,并将其保存在我要拍摄快照的同一分区/逻辑卷上?LVM 是否足够智能,不会拍摄实际快照的快照副本?

[root@server z]# vgdisplay
--- Volume group ---
VG Name               Web2-Vol
System ID
Format                lvm2
Metadata Areas        1
Metadata Sequence No  29
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                6
Open LV               6
Max PV                0
Cur PV                1
Act PV                1
VG Size               544.73 GB
PE Size               4.00 MB
Total PE              139450
Alloc PE / Size       139450 / 544.73 GB
Free  PE / Size       0 / 0
VG UUID               BrVwNz-h1IO-ZETA-MeIf-1yq7-fHpn-fwMTcV


[root@server z]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             9.7G  3.6G  5.6G  40% /
/dev/sda1             251M   29M  210M  12% /boot
/dev/mapper/Web2--Vol-var
                       12G  1.1G   11G  10% /var
/dev/mapper/Web2--Vol-var--spool
                   12G  184M   12G   2% /var/spool
/dev/mapper/Web2--Vol-var--lib--mysql
                   30G   15G   14G  52% /var/lib/mysql
/dev/mapper/Web2--Vol-usr
                   13G  3.3G  8.9G  27% /usr
/dev/mapper/Web2--Vol-z
                  468G  197G  267G  43% /z
/dev/mapper/Web2--Vol-tmp
                  3.0G   76M  2.8G   3% /tmp
tmpfs                 7.9G   92K  7.9G   1% /dev/shm

有问题的逻辑卷是 /dev/mapper/Web2--Vol-z。我担心如果我在 /dev/mapper/Web2--Vol-z 中创建环回文件系统并对其进行快照,磁盘大小将增加三倍,从而耗尽可用磁盘空间。

答案1

但是我的问题是,是否可以创建一个 200GB 的环回文件系统,并将其保存在我要拍摄快照的同一分区/逻辑卷上?

如果基于您正在拍摄快照的同一 LV 上的文件,则否。底层块设备将不断变化,并导致无限循环因循环设备耗尽而终止。

您可以根据文件系统的更改量(以及可用 RAM 和/或磁盘空间量)在 /dev/sda2 或另一个 LV 上创建循环设备或使用 ramdisk。但是,首选方法是在 VG 中腾出一些可用空间。

另外,请确保快照已分配在临时 PV 上(将 PV 路径传递给 lvcreate),并且没有其他数据保存在那里,否则它们将丢失。我不确定 pvcreate 和后续快照操作是否可以成为单个原子操作。请在 freenode 上的 #lvm IRC 频道上询问。

LVM 是否足够智能,不会对实际快照进行快照复制?

我不会说它不够智能,只是不适合用例。它对文件或文件系统一无所知,只能在块设备上工作,快照只会镜像任何修改过的块,包括循环文件。

相关内容