14.3.5 LVM
的
LV
磁盘快照
现在你知道
LVM
的好处咯,未来如果你有想要增加某个
LVM
的容量时,就可以透过这个放大的
功能来处理。
那么
LVM
除了这些功能之外,还有什么能力呢?其实他还有一个重要的能力,那就
是
LV
磁盘的快照
(snapshot)
。
什么是
LV
磁盘快照啊?
快照就是½当时的系统信息记录下来,就
好像照相记录一般!
未来若有任何资料更动了,则原始资料会被搬移到快照区,没有被更动的区域
则由快照区与文件系统共享。
用½的好像很难懂,我们用图½说明一下好了:
图
14.3.3
、
LVM
快照区域的备份示意图
左图为最初½置
LV
磁盘快照区的状况,
LVM
会预留一个区域
(
左图的左侧三个
PE
区块
)
作为数
据存放处。
此时快照区内并没有任何数据,而
快照区与系统区共享所有的
PE
数据,
因此你会看
到快照区的内容与文件系统是一模一样的
。
等到系统运作一阵子后,假设
A
区域的数据被更动了
(
上面右图所示
)
,
则更动前系统会½该区域的数据移动到快照区
,
所以在右图的快照区被占用了一
块
PE
成为
A
,而其他
B
到
I
的区块则还是与文件系统共享!
照这样的情况来看,
LVM
的磁盘快照是非常棒的『备份工具』,因为他只有备份有被更动到的数据,
文件系统内没有被变更的数据依旧保持在原本的区块内,但是
LVM
快照功能会知道那些数据放置
在哪里,
因此『快照』当时的文件系统就得以『备份』下来,且快照所占用的容量又非常小!所以
您说,这不是很棒的工具又是什么?
那么快照区要如何½立与使用呢?首先,由于快照区与原本的
LV
共享很多
PE
区块,因此
快照区
与被快照的
LV
必须要在同一个
VG
上头。
另外,或许你跟鸟哥一样,会想到说:『咦!
我们能不能使用
thin pool
的功能来制作快照』呢?老
实说,是可以的!不过使用上面的限制非常的多!包括最好要在同一个
thin pool
内的原始
LV
磁盘,
如果为非
thin pool
内的原始
LV
磁盘快照,则该磁盘快照『不可以写入』,亦即
LV
磁盘要设定
成只读才行!同时,
使用
thin pool
做出来的快照,通常都是不可启动
(inactive)
的预设情况,启动
又有点麻烦~所以,至少目前
(CentOS 7.x)
的环境下,
鸟哥还不是很½议你使用
thin pool
快照喔!
底下我们针对传统
LV
磁盘½行快照的½置,大致流程为:
.
预计被拿来备份的原始
LV
为
/dev/vbirdvg/vbirdlv
这个东西~
.
使用传统方式快照½置,原始碟为
/dev/vbirdvg/vbirdlv
,快照名称为
vbirdsnap1
,容量为
vbirdvg
的所有剩
余容量
.
传统快照区的½立