linuxlvm快照实现
逻辑卷快照功能: ext4只有逻辑卷支持快照。 快照是怎么做的? 首先元数据是在逻辑卷上,以它为根本做一个快速的快照的卷,速度是非常快的,我们可以这么去理解。 由此,当快照卷创建完成以后,注意,这个快照卷并没有存储任何数据,它仅仅提供了一个访问元文件卷的一个通道,相当于一个符号链接文件。快照会快速扫描元数据区的文件最近修改文件的时间戳,当某个程序去修改元文件上的数据的时候,在这个文件被修改之前,的先复制一份,把每改的文件复制到快照里面。在将来,任何进程通过快照访问数据时,哪些未改变的数据依然找寻元卷去访问,哪些改变的将不再找原卷,去找改变之前复制到快照中的数据。着便是快照的基本法则!
lvm快照 快照卷:访问原卷上数据令一个路径,备份工具可以通过此路径完成数据备份。 快照卷自身仅是为备份工具提供一个时间点一致的访问路径,通过它可以完成一个时间点一致的数据备份
备份开始之前创建快照卷,完成之后即可删除之,快照卷的生命周期
如何保证通过快照所访问到的数据的时间点一致? 通过把哪些要发生变化的位于原卷上的数据自动复制一份至快照卷机械能的,因此,快照卷上的数据如果有效,则必须能完成存储原卷即将发生改变的所有的数据的原有版本
创建快照卷: 1,快照卷要于原卷在同一卷组中,因此创建快照卷无须指定卷组 2,快照卷的大小要精心舍得:另外,快照卷的权限应该是只读的
创建命令: 复制文件 root@localhost mark.raid0.1]# cp /etc/fstab ./ [root@localhost mark.raid0.1]# ls fstab lost+found [root@localhost mark.raid0.1]# cp /etc/issue ./ [root@localhost mark.raid0.1]# ls fstab issue lost+found、 创建快照卷。 -L 50预估有效范围内变化,4pe=64 -p r 只读 -s 快照卷 [root@localhost mark.raid0.1]#lvcreate -L 50M -n marklv-sn ap -p r -s /dev/markvg/marklv1 Rounding up size to full physical extent 52.00 MiB Logical volume "marklv-snap" created [root@localhost mark.raid0.1]# [root@localhost mark.raid0.1]#lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert marklv-snap markvg sri-a-s--- 52.00m marklv1 0.02 marklv1 markvg owi-aos--- 4.00g [root@localhost mark.raid0.1]# ls /dev/markvg/ marklv1 marklv-snap 创建目录,挂在此快照 [root@localhost mark.raid0.1]# [root@localhost tmp]#mkdir snap [root@localhost tmp]# mount -r /dev/markvg/marklv-snap /tmp/snap/ [root@localhost tmp]# ls /tmp/snap/ fstab issue lost+found [root@localhost tmp]# 我们开始备份 [root@localhost snap]#cp fstab issue /tmp/backup/ [root@localhost snap]#ls /tmp/backup/ fstab issue [root@localhost snap]# 卸载 [root@localhost /]# umount /tmp/snap/ [root@localhost /]#lvremove /dev/markvg/marklv-snap Do you really want to remove active logical volume marklv-snap? [y/n]:y Logical volume "marklv-snap" successfully removed [root@localhost /]# 完成!