我正在尝试使用我们的逻辑卷的 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 是否足够智能,不会对实际快照进行快照复制?
我不会说它不够智能,只是不适合用例。它对文件或文件系统一无所知,只能在块设备上工作,快照只会镜像任何修改过的块,包括循环文件。