linux下使用PE创建LVM快照详细步骤
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下使用PE创建LVM快照详细步骤相关的知识,希望对你有一定的参考价值。
参考技术A 1.首先将硬盘sdb分4个区每个区大小200M,分别是sdb5,6,7,8。后将四个分区建立pv2.之后把pv加入vg此处引入PE的概念。
由于vg是多个PE(块)组成的,而且每个vg块的PE最大数量是65534。默认每个PE的大小是4m
也就是说默认的每个vg最大也就是4m乘65534=256G,因此PE块的大小决定了最终vg的大小。
此处我们定义PE块的大小为16m。由于每个pv的大小是200m总共800m因此总共的pv个数是48。
建立命令如下vgcreate
-s
16M
lvm_vg
/dev/sdb5,6,7,8。
3.接下来我们利用PE块的数量来创建lv由于每个pv能划分出的PE是12个因此要创建一个600M的需要36个PE。命令如下lvcreate
-l
36
-n
lvm_lv
lvm_vg将建立的lv格式化并挂载到/mnt/lvm下。并且在其中建立了三个文件夹aaa
bbb
ccc。
4.接下来我们利用vg中剩下的PE来建立快照lvm_lv这个卷的快照。
由于剩下的PE有12个我们全部用来做快照。
命令如下lvcreate
-l
12
-s
-n
lvm_ss
lvm_ss
/dev/lvm_vg/lvm_lv
快照建立完成后我们将其挂载到/mnt/snapshot下
等我们到该目录下即可看到原来aaa
bbb
ccc三个目录。
快照建立的关键命令是lvcreate加上-s的参数。而且如果要更新快照内容只需将其卸载并删除卷再从新建立即可。
小编推荐: 怎么用U盘安装Linux系统?
Linux学习—LVM快照功能
LVM快照功能--我们知道LVM能够通过增减PE的数量来弹性调整文件系统的大小,除此之外,LVM还有另外一个重要的功能,LV磁盘快照,就是通过快照的功能将此时的文件系统信息记录下来,以后对该文件系统操作的时候,当该文件系统的数据变化的时候,我们可以利用快照将文件系统恢复至当时的状态。
目录
LV的快照原理
创建快照
利用快照恢复系统
一、LV的快照(snapshot)原理
左边的图表示,LVM会在VG上预留一定的区域作为快照区,原本lv中存放着数据,同时快照区存放着lv中元数据,因此快照区大小不需要和原始lv一样的大小。在刚创建snapshot的时候,快照区中并不会真实地拷贝原始lv中的数据,只是记录了整个原始lv中的元数据,所以这个时间点快照区和原始lv共享文件系统的数据,即两边的数据一样。
右边的图表示,当原始lv中的数据发生改变的时候,原始lv中的发生变化的PE的数据更新之前,会将数据真实地备份至快照区的一个PE中,如图中,A->new A之前,先将A备份至快照区的一个PE,然后lv中A才更新为new A,这样快照区会保存lv中PE发生变化之前的数据,这时候我们再访问快照区的内容仍然为创建snapshot那个时间点的时候lv中的数据,因此我们可以利用快照区进行备份和恢复。
需要注意的是,由于快照区也有容量的限制,所以呢,当原始lv中发生变化的PE的数量超过快照区的PE的数量的时候,该快照就会立即失效。
我们在创建快照区的时候,要考虑将来lv数据的变化量,以此来指定快照区的大小,一种解决办法是刚创建完快照之后,立即把快照区中的内容进行备份,这样就不用时刻考虑快照区会失效了,因为我们已经把他的数据备份走了。还有一种简单粗暴的方法就是创建一个和原始lv一样大小的快照区,这样就不用担心数据变化量的因素了。
二、创建快照
操作流程:
原始lv为/dev/vg1/lv1,创建lv的快照为lv1snap,容量为100个PE
①查看vg1的信息中的可用PE的数量
②创建lv快照
[[email protected] ~]# lvcreate -s -l 100 -n lv1snap /dev/vg1/lv1 Logical volume "lv1snap" created.
-s 关键选项,创建快照snap的意思
-l 后面跟快照包含多少个PE的数量
-n 后面跟创建的快照的名字
-p r 由于快照大多为只读,改选项为为修改权限位只读(r)
命令最后记得加创建的快照的原始lv名称
③ 查看新创建的快照区
③挂载原始lv和lv的快照
[[email protected] ~]# mount /dev/vg1/lv1 /mnt/lvm/ [[email protected] ~]# mount /dev/vg1/lv1snap /mnt/snap/
之前我在/mnt/lvm中导入了一些数据,我们发现原始lv和lv快照挂载之后容量信息一模一样
三、利用快照恢复系统
当利用快照恢复系统的时候,不能使得要复原的数据量大于快照区所能承受的最大范围
①修改原始lvm中的内容
[[email protected] ~]# dd if=/dev/zero of=/mnt/lvm/test bs=1M count=500 500+0 records in 500+0 records out 524288000 bytes (524 MB) copied, 5.31399 s, 98.7 MB/s
两个目录的使用率发生变化
②对快照区的数据进行打包压缩并备份
[[email protected] snap]# tar -jcv -f /backups/lvm.tar.bz2 * #-j 支持bzip2解压文件 -c 创建新的备份文件 -f 指定备份文件 tmp [[email protected] snap]# echo $? 0
卸载原始lv重新格式化,再挂载之后df查看
③对原始lv进行数据恢复
[[email protected] ~]# tar -jxv -f /backups/lvm.tar.bz2 -C /mnt/lvm/ #-C 解压至指定目录
原始lv恢复至原来的14%
我在这是用的打包压缩的方式进行备份还原,当然用cp命令的方式也一样
以上是关于linux下使用PE创建LVM快照详细步骤的主要内容,如果未能解决你的问题,请参考以下文章