##########################################
AUTHOR: Honway.Liu
DATE: 2012-03-01
##########################################
提纲
:
LVM
简介
LVM
组成及原理
LVM
快照
LVM
的创建和使用
快照的创建和使用
LVM
的
VG
及
LV
的扩展及收缩
##########################################
LVM
简介
LVM
是逻辑盘卷管理(
Logical Volume Manager
)的简称,它是
Linux
环境下对磁盘分区进行管理的一种机制,
LVM
是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。前面谈到,
LVM
是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。物理卷(
physical volume
)物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备
(
如
RAID)
,是
LVM
的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与
LVM
相关的管理参数。
LVM
组成
:
PV
最底层的是物理卷即
PV,PV
可以是一个分区或者磁盘设备等任意块设备
(ID:8e)
VG PV
不能直接使用
(
类似于扩展分区
),
要在
PV
上创建卷组即
VG
LV
在
VG
上创建文件系统来使用即
LV,
可以格式化挂载使用
对上图的说明
:LVM
最底层是
PV,
也就是物理磁盘
,
多块物理磁盘通过分区
,
转换格式转换为
LVM
格式
,LVM
格式的
ID
号为
8e,
转换完成后
,
就可以使用
pvcreate
把几块物理磁盘
,
分别创建为
PV,
有了
PV,
就可以把多个
PV
通过
vgcreate
命令
,
加入到一个
VG
组
,
也即是卷组
,
在这一步
,
多个磁盘在一个
VG
组
,
我们看到的
,
只有是一个
VG
组的大小
,
而不再是单个物理磁盘的大小
.
当
VG
空间不够的时候
,
我们还可以再增加物理磁盘
,
然后做成
PV,
加入到
VG
组时面
,
以增加
VM
的大小
.VG
做好之后
,
同一个
VG
组可以看成是一个大的物理磁盘
,
然后可以在
VG
上面
,
通过
lvcreate
命令创建
LV,
创建完
LV,LV
就可以直接格式化
,
然后挂载使用了
.
整个过程就是这样
.
当
LV
空间不够使用的时候
,
可以动态的扩展
VG
来实现
,
而
VG
的扩展
,
需要新增
PV
来实现
,LV
和
VG
的扩展
,
是不可能也是不能够超越
LV
的物理边界的
.
LVM
可以动态的扩展和减小
LVM
可以使用快照
,
快照可以保存某一时刻数据的状态
,
快照保存在快照卷上
,
对数据的访问也可以通过快照来访问
.
快照里的数据
,
是不会变的
,
始终保存的是创建快照那一刻的数据
.
LVM
快照是如何实现的
:
在快照建立的时候
,
快照的内容是空的
.
通过快照
,
可以直接访问快照前的数据
,
快照相当于是建立了另外一条访问
数据的路径
(
多路径
:
将一个文件系统提供了两个或者两个以上的访问通道
),
快照保存快照之后的任何更改的数据
,
把数据保存到快照卷里面
.
快照的大小
,
取决于更改数据的大小
.
快照并非永久保存数据的某一时刻的状态的
.
进程是无法识别不在同一时间点的数据文件的
,
所以
,
快照可以实现在线备份
快照卷的大小
,
取决于数据改变的频度和快照的使用寿命
LVM
的创建和使用
:
通过上面的介绍
,
我们知道了
:LVM
能被使用的
,
是
LV,
想要创建
LV,
就必须有卷组
VG,
当然卷组
VM
是不可能凭空出现的
,
需要我们使用物理磁盘或者物理磁盘分区来组成
VG.
1,
创建物理卷
PV
我这里已经创建好了磁盘分区
,
并且转换成了
LVM
格式
,
然后就可以通过命令来创建
PV
了
创建成功了
,
我们只看下面的
Physical volume "/dev/sdb15" successfully created,
说明成功
,
创建
PV
的时候
,
他试图读取写入光盘
,
因为光盘是只读的
,
所以报了一堆
,
不用理会
.
我们可以通过命令
pvs
来简要的看一下系统上有哪些
PV
也可以通过
pvdisplay
来查看更详细一点儿的信息
这里看到的信息
,
更详细一点
.
2,
创建卷组
VG
同样的使用命令
vgcreate
以上命令创建了一个名字叫做
holdvg
的卷组
创建完成后
,
可以使用
vgs
来简单的查看一下
,
当然也有
vgdisplay
命令
,
来查看更详细一点的信息
.
这里不再抓图
.
3,
创建逻辑卷
LV
同样使用创建
lvcreate
-L
指定
lv
的容量大小
-n
指定
lv
的名字
-p
指定
lv
的挂载权限
,
通常有
r
和
rw
两种
,
一般
rw
只有在创建
lv
快照的时候才用
-s
表示创建的是一个快照
做完
lv,
我们就可以直接挂载使用了
.
到这里
,
我们整个
lvm
就做完了
.
快照的创建和使用
快照也是在
VG
上创建的
,
同样使用
lvcreate
命令
,
加选项
-s
来表示创建的是一个快照
为了验证快照的效果
,
我这里拷贝一些数据到刚才创建的
lv
里面
文件拷贝好了
,
为了验证效果
,
我们创建一个快照
这里一定要指定
,
对哪个
lv
创建快照
.
创建完成后
,
可以直接挂载使用
,
而不用格式化
.
因为快照只是提供了对
lv
的另一个访问路径
.
现在
,
我们来更改
/mydata
的文件内容
,
来看下快照里的数据是不是发生改变
.
我在源
lv
里面加了一个
echo "Hello,Kitty",
并保存退出
,
我们看到
,
快照里的数据
,
是没有发生更改的
,
说明快照创建成功
.
LVM
的
VG
及
LV
的扩展及收缩
1,VG
的扩展
holdvg
里面
,
有
5
个
PV,
我们再增加一个
,
进行扩展
.
以上命令完成后
,
我们看到
,
原来有
5
个的
,
我加了两个
,
现在是
7
个
,
容量也发生了变量
.
2,lv
的扩展
当前文件
lv
的大小是
3G,
我们改一下
首先卸载文件系统
,
然后先扩展物理边界
(LV
大小
),
再扩展文件系统边界
在扩展之前
,
最好先
e2fsck
来检测一下文件系统
,
下面我们来看一下吧
已经调整到了
5G