LVM的系统快照功能    

我们知道LVM可以弹性的调整文件系统的大小,其实LVM除了可以调整文件系统的大小之外,还有另一个功能就是系统快照。

 所谓系统快照就是将某一时刻文件系统中的数据记录到快照区中,这里的某一时刻指的是在原始数据被改变的那一瞬间,原始数据会移到快照区里。而其他没有改变的数据,快照区和文件系统共享。所以刚建立快照时快照区内容和文件系统的内容一样。

由于只有当数据发生改变是才会将原始数据移动到快照区,因此快照区中保存的内容比较少。

快照区的原理图如下:

wKiom1YCx4mzz5joAAHZeodTS_A877.jpg

在刚创建快照的时候,文件系统和快照区共享所有的PE,也就是说此时的快照区和文件系统的内容是一样的。并且在快照区中保留的一些区块,这些区块用于存储数据的(如左图的左侧三个区块)。当文件系统的某个区块的数据将要发生改变时,则会将这个区块中的原始数据移动到快照区的空留处。而那些没有被修改的区块,仍然与文件系统共享。在上图中,区块A的数据将要发生改变,所以就将区块A的数据移动到快照区中,而B到I之间的区块没有修改,仍然和文件系统共享。由此可以看出,LVM的系统快照功能也是一个备份工具。


 

系统快照的创建

使用lvcreate -s命令来创建快照区

语法格式:lvcreate [option] 快照名 /PATH/TO/LV

                    -s:创建系统快照

                    -L #:指定快照的空间大小

                    -l #:指定快照的PE数量

                    -n :后面紧接快照名

                    -p r|w :创建快照时,快照区具有的权限

                    /PATH/TO/LV:给指定文件系统创建快照区

 

1、创建系统快照

wKioL1O9Z4XzhJNVAAGFeGRgtwQ090.jpg

 

wKiom1O9aNfQraNdAAGSIqv_O6w402.jpg

 

2、挂在创建的系统快照(不需要将快照格式化)

wKiom1O9a_ijVNZdAAJ_-UmlGQY542.jpg

 

3、利用快照来实现文件系统的备份

wKioL1O-pGWjw5ZWAAO6q1FR7rg975.jpg

wKioL1O-pLuzL9nJAAGZMS57OwU035.jpg

通过上述过程就可以利用快照实现文件系统的还原了。

注意:在快照区内的操作不会影响到文件系统里的内容,同样在文件系统内的操作也不会影响到快照区的内容


通过之前的学习,我们知道创建LVM主要分为以下几个步骤:

一、修改分区的类型为8e,使用pvcreate创建PV

二、使用vgcreate将多个PV创建VG

三、使用lvcreate创建LV

四、将LV格式化、挂载,形成一个可用的文件系统

那么如何删除一个LVM呢?

删除LVM主要分为以下几个步骤:

一、先卸载系统上面的LVM(包括快照)

二、使用lvremove删除LV

三、使用vgchange -a n VGname让VG不再具有active的标志

四、使用vgremove删除VG

五、使用pvremove删除PV

六、使用fdisk命令将分区的类型修改为83