LVM--逻辑卷管理
一、LVM简介
很多Linux用户安装Red Hat Linux操作系统时都会为如何划分各个分区的磁盘空间大小,以满足操作系统未来需要这样一个问题而烦恼。而当分区划分完成后出现某个分区空间耗尽的情况时,解决的方法往往只能是使用符号链接,或者使用调整分区大小的工具(如parted等),但这些都只是临时的解决办法,没有根本解决问题。随着 LVM(Logical Volume Manager,逻辑盘卷管理的简称)的出现,这些问题都迎刃而解,用户在无需停机的情况下方便地调整各个分区大小。
二、LVM版本 :
在 Linux 2.4 内核上提供了 Linux 的 LVM 实现。目前 Linux 2.6 内核支持 LVM2,Redhat 官方网站目前提供最新下载版本(sources.redhat.com/lvm2/);如果需要最新或者其它版本,请参考网页。本文配置采用版本lvm2-2.02.100-8.el6.x86_64。
查看系统中 LVM 版本:
1
[root@stu19
~
]# uname
-
a
2
Linux stu19.magedu.com
2.6
.
32
-
431
.el6.x86_64 #
1
SMP Fri Nov
22
03
:
15
:
09
UTC
2013
x86_64 x86_64 x86_64 GNU
/
Linux
3
[root@stu19
~
]# rpm
-
qa
|
grep lvm
*
4
mesa
-
private
-
llvm
-
3.3
-
0.3
.rc3.el6.x86_64
5
lvm2
-
libs
-
2.02
.
100
-
8
.el6.x86_64
6
lvm2
-
2.02
.
100
-
8
.el6.x86_64
7
[root@stu19
~
]# rpm
-
qi lvm2
8
Name : lvm2 Relocations: (not relocatable)
9
Version :
2.02
.
100
Vendor: CentOS
10
Release :
8
.el6 Build Date: Sun
24
Nov
2013
12
:
25
:
40
AM CST
11
Install Date: Mon
30
Jun
2014
12
:
39
:
29
PM CST Build Host: c6b9.bsys.dev.centos.org
12
Group : System Environment
/
Base Source RPM: lvm2
-
2.02
.
100
-
8
.el6.src.rpm
13
Size :
1561629
License: GPLv2
14
Signature : RSA
/
SHA1, Mon
25
Nov
2013
03
:
32
:
37
AM CST, Key ID 0946fca2c105b9de
15
Packager : CentOS BuildSystem
<
http:
//
bugs.centos.org>
16
URL : http:
//
sources.redhat.com/lvm2
17
Summary : Userland logical volume management tools
18
Description :
19
LVM2 includes all of the support
for
handling read
/
write operations on
20
physical volumes (hard disks, RAID
-
Systems, magneto optical, etc.,
21
multiple devices (MD), see mdadd(
8
) or even loop devices, see
22
losetup(
8
)), creating volume groups (kind of
virtual
disks) from one
23
or more physical volumes and creating one or more logical volumes
24
(kind of logical partitions)
in
volume groups.
三、LVM优点:
比起正常的硬盘分区管理,LVM更富于弹性:
- 使用卷组(VG),使众多硬盘空间看起来像一个大硬盘。
- 使用逻辑卷(LV),可以创建跨越众多硬盘空间的分区。
- 可以创建小的逻辑卷(LV),在空间不足时再动态调整它的大小。
- 在调整逻辑卷(LV)大小时可以不用考虑逻辑卷在硬盘上的位置,不用担心没有可用的连续空间。
- 可以在线(online)对逻辑卷(LV)和卷组(VG)进行创建、删除、调整大小等操作。
- 无需重新启动服务,就可以将服务中用到的逻辑卷(LV)在线(online)/动态(live)迁移至别的硬盘上。
- 允许创建快照,可以保存文件系统的备份,同时使服务的下线时间(downtime)降低到最小。
四、LVM基本组成块与结构
LVM是Linux操作系统对磁盘分区进行管理的一种机制。LVM利用Linux内核的device-mapper来实现存储系统的虚拟化(系统分区独立于底层硬件)。 通过LVM,你可以实现存储空间的抽象化并在上面建立虚拟分区(virtual partitions),可以更简便地扩大和缩小分区,可以增删分区时无需担心某个硬盘上没有足够的连续空间,LVM是用来方便管理的,不会提供额外的安全保证。通过它,系统管理员可以轻松地管理磁盘分区。在LVM中每个磁盘分区就是一个物理卷(physical volume,PV),若干个物理卷可以组成为一个卷组(volume group,VG),形成一个存储池。系统管理员可以在卷组上创建逻辑卷(logical volumes,LV),并在逻辑卷组上创建文件系统。
LVM的基本组成块(building blocks):
PV(physical volume):物理卷在逻辑卷管理系统最底层,可为整个物理硬盘或实际物理硬盘上的分区。
VG(volume group):卷组建立在物理卷上,一卷组中至少要包括一物理卷,卷组建立后可动态的添加卷到卷组中,一个逻辑卷管理系统工程中可有多个卷组,它类似于非LVM系统中的物理硬盘。
LV(logical volume):逻辑卷建立在卷组基础上,是个虚拟分区。卷组中未分配空间可用于建立新的逻辑卷,逻辑卷建立后可以动态扩展和缩小空间。
PE(physical extent):物理区域是物理卷中可用于分配的最小存储单元,物理区域大小在建立卷组时指定,一旦确定不能更改,同一卷组所有物理卷的物理区域大小需一致,新的pv加入到vg后,pe的大小自动更改为vg中定义的pe大小。默认为4MB,也可以是8MB,16MB等。
LE(logical extent):逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。
卷组描述区域:卷组描述区域存在于每个物理卷中,用于描述物理卷本身、物理卷所属卷组、卷组中逻辑卷、逻辑卷中物理区域的分配等所有信息,它是在使用pvcreate建立物理卷时建立的。

LVM结构
常用命令:
- pv: pvcreate, pvs, pvdisplay, pvremove, pvmove, pvscan
- vg: vgcreate, vgs, vgdisplay, vgremove,vgchange, vgextend, vgreduce, vgscan
- lv: lvcreate, lvs, lvdisplay, lvremove, lvextend, lvreduce, lvscan
所有 LVM 命令都接受 -v 参数,它可多次输入来提高输出的详细程度。也可以跟-vv,-vvv,-vvvv
可以使用man command 或者command --help获取命令的帮助信息。
五、实例
1.创建物理卷
使用pvcreate命令可以创建物理卷,可以在整个磁盘上创建物理卷,也可以在一个磁盘分区上创建物理卷。本文针对分区进行相关的操作。
如果要在磁盘分区上创建PV,首先要使用分区工具fdisk在磁盘上面创建分区,然后把分区的系统号码改为8e,即Linux LVM。
分区/dev/sdb1大小 2G 分区 /dev/sdb2大小 3G
a、首先对硬盘分区结果如下:
1
[root@stu19
~
]# fdisk
/
dev
/
sdb
2
3
Command (m
for
help): p
4
5
Disk
/
dev
/
sdb:
21.5
GB,
21474836480
bytes
6
255
heads,
63
sectors
/
track,
2610
cylinders
7
Units
=
cylinders of
16065
*
512
=
8225280
bytes
8
Sector size (logical
/
physical):
512
bytes
/
512
bytes
9
I
/
O size (minimum
/
optimal):
512
bytes
/
512
bytes
10
Disk identifier:
0x0297d04b
11
12
Device Boot Start End Blocks Id System
13
/
dev
/
sdb1
1
262
2104483
+
8e Linux LVM #LVM的分区类型为8e
14
/
dev
/
sdb2
263
655
3156772
+
8e Linux LVM
b、让内核重读其分区表:kpartx -af /dev/sdb ,然后查看硬盘分区信息cat /proc/partitions.
c、使用pvcreate命令创建物理卷
1
[root@stu19
~
]# pvcreate
/
dev
/
sdb1
2
Physical volume
"
/dev/sdb1
"
successfully created
3
[root@stu19
~
]# pvcreate
/
dev
/
sdb2
4
Physical volume
"
/dev/sdb2
"
successfully created
2、查看已创建的物理卷
1
[root@stu19 Packages]# pvs
2
PV VG Fmt Attr PSize PFree
3
/
dev
/
sda2 vg0 lvm2 a
--
59
.99g
7
.99g
4
/
dev
/
sdb1 lvm2 a
--
2
.01g
2
.01g
5
/
dev
/
sdb2 lvm2 a
--
3
.01g
3
.01g
6
[root@stu19 Packages]# pvdisplay
7
---
Physical volume
---
//
已创建好的PV,且有所属VG
8
PV Name
/
dev
/
sda2
//
PV名称
9
VG Name vg0
//
PV所属的VG名称
10
PV Size
60.00
GiB
/
not usable
8.00
MiB
//
PV的大小
11
Allocatable yes
//
是否可分配
12
PE Size
8.00
MiB
//
物理块大小,默认为4MB,
13
Total PE
7679
//
总的物理块数
14
Free PE
1023
//
空闲的物理块数
15
Allocated PE
6656
//
已分配PE
16
PV UUID ix9dHd
-
HL1u
-
LicC
-
uLzw
-
DtD5
-
Cm3X
-
74i671
//
PV的UUID
17
---
NEW Physical volume
---
//
另一个新PV的信息
18
PV Name
/
dev
/
sdb1
19
VG Name
20
PV Size
2.01
GiB
//
PV的大小为2.01GB
21
Allocatable NO
22
PE Size
0
//
在创建完VG后就会有
23
Total PE
0
24
Free PE
0
25
Allocated PE
0
26
PV UUID YOkg7H
-
uUnO
-
9VvH
-
JyrF
-
wCTe
-
pxt9
-
oEq12t
27
28
"
/dev/sdb2
"
is
a
new
physical volume of
"
3.01 GiB
"
29
---
NEW Physical volume
---
30
PV Name
/
dev
/
sdb2
31
VG Name
32
PV Size
3.01
GiB
33
Allocatable NO
34
PE Size
0
35
Total PE
0
36
Free PE
0
37
Allocated PE
0
38
PV UUID ErK6cN
-
xxmG
-
aRp2
-
e16x
-
79m1
-
cX2L
-
BCs9WE
39
40
[root@stu19 Packages]#
3、创建卷组VG
将物理卷(pv)/dev/sdb1和/dev/sdb2,创建为卷组(vgcreate),名为luovg
可以加选项-s 改变PE的大小,或者使用vgchange -s 命令修改。
1
[root@stu19
~
]# vgcreate luovg
/
dev
/
sdb1
/
dev
/
sdb2
2
Volume group
"
luovg
"
successfully created
4、查看已创建卷组VG
1
[root@stu19
~
]# vgs
2
VG #PV #LV #SN Attr VSize VFree
3
luovg
2
0
0
wz
--
n
-
5
.01g
5
.01g
4
vg0
1
4
0
wz
--
n
-
59
.99g
7
.99g
5
[root@stu19
~
]# vgdisplay
6
---
Volume group
---
7
VG Name luovg
//
VG名称
8
System ID
9
Format lvm2
10
Metadata Areas
2
//
元信息区域
11
Metadata Sequence No
1
12
VG Access read
/
write
//
访问许可,可读写
13
VG Status resizable
//
VG状态
14
MAX LV
0
//
最大的LV数
15
Cur LV
0
//
当前的LV数
16
Open LV
0
//
打开的LV数
17
Max PV
0
//
最大的PV数
18
Cur PV
2
//
当前的PV数
19
Act PV
2
//
活动的PV数
20
VG Size
5.01
GiB
//
VG的大小为5.01G
21
PE Size
4.00
MiB
//
物理块的大小为4MB
22
Total PE
1283
//
VG的物理块总数为1283
23
Alloc PE
/
Size
0
/
0
//
已经使用的物理块数量和大小
24
Free PE
/
Size
1283
/
5.01
GiB
//
空闲的物理块数和大小
25
VG UUID XPvkQ6
-
g8IY
-
zbQz
-
dhL1
-
BHgS
-
LzPz
-
GgErGM
26
5、在卷组VG里创建逻辑卷LV,并格式化、挂载
格式 : lvcreate -n lv_name -L #UNIT {mMgGtT} [-l LogicalExtentsNumber ] VG_NAME
1
[root@stu19
~
]# lvcreate
-
n mylv
-
L 2G luovg
//
在luovg卷组里创建一个2G的名称为mylv的LV
2
Logical volume
"
mylv
"
created
3
4
[root@stu19
~
]# lvs
//
查看已创建的LV
5
LV VG Attr LSize Pool Origin Data
%
Move Log Cpy
%
Sync Convert
6
mylv luovg
-
wi
-
a
-----
2
.00g
7
root vg0
-
wi
-
ao
----
20
.00g
8
swap vg0
-
wi
-
ao
----
2
.00g
9
usr vg0
-
wi
-
ao
----
10
.00g
10
var vg0
-
wi
-
ao
----
20
.00g
11
[root@stu19
~
]# lvdisplay
//
查看已创建的LV的详细信息
12
---
Logical volume
---
13
LV Path
/
dev
/
luovg
/
mylv
//
逻辑卷LV的路径
14
LV Name mylv
//
逻辑卷LV的名称
15
VG Name luovg
//
逻辑卷LV所属的卷组
16
LV UUID ZkWuff
-
qENX
-
yLhv
-
SNno
-
0M2O
-
s69c
-
3QfBbb
17
LV Write Access read
/
write
//
访问许可为可读写
18
LV Creation host, time stu19.magedu.com,
2014
-
07
-
27
11
:
17
:
37
+
0800
//
LV创建主机时间
19
LV Status available
//
LV 状态
20
# open
0
21
LV Size
2.00
GiB
//
逻辑卷的大小
22
Current LE
512
//
逻辑卷的逻辑块数
23
Segments
1
24
Allocation inherit
25
Read ahead sectors auto
26
-
currently
set
to
256
27
Block device
253
:
4
28
29
lv的访问路径:
1、/dev/VG_NAME/LV_NAME
2、/dev/mapper/VG_NAME-LV_NAME
此两者均为符号链接,指向的文件为/dev/dm-#
1
[root@stu19
~
]# ll
/
dev
/
luovg
/
mylv
2
lrwxrwxrwx
1
root root
7
Jul
27
11
:
17
/
dev
/
luovg
/
mylv
->
..
/
dm
-
4
3
[root@stu19
~
]# ll
/
dev
/
mapper
/
luovg
-
mylv
4
lrwxrwxrwx
1
root root
7
Jul
27
11
:
17
/
dev
/
mapper
/
luovg
-
mylv
->
..
/
dm
-
4
5
[root@stu19
~
]# ls
/
dev
/
dm
-
4
6
/
dev
/
dm
-
4
挂载逻辑卷
1
[root@stu19
~
]# mke2fs
-
t ext4
/
dev
/
luovg
/
mylv
//
格式化逻辑卷
2
[root@stu19
~
]# mkdir
/
luodata
3
4
[root@stu19
~
]# mount
/
dev
/
luovg
/
mylv
/
luodata
/
//
把逻辑卷mylv挂载在/luodata目录
5
[root@stu19
~
]# mount
|
grep luodata
6
/
dev
/
mapper
/
luovg
-
mylv on
/
luodata type ext4 (rw)
7
8
[root@stu19
/
]# cd
/
luodata
/
//
可正常使用
9
[root@stu19 luodata]# touch a
10
[root@stu19 luodata]# ls
11
a lost
+
found
12
13
[root@stu19 luodata]# df
-
Th
//
查看文件系统硬盘空间使用信息
14
Filesystem Type Size Used Avail Use
%
Mounted on
15
/
dev
/
mapper
/
vg0
-
root ext4 20G
1
.5G 18G
8
%
/
16
tmpfs tmpfs 495M
0
495M
0
%
/
dev
/
shm
17
/
dev
/
sda1 ext4 194M 49M 135M
27
%
/
boot
18
/
dev
/
mapper
/
vg0
-
usr ext4
9
.9G
7
.4G
2
.0G
79
%
/
usr
19
/
dev
/
mapper
/
vg0
-
var ext4 20G 380M 19G
2
%
/
var
20
/
dev
/
sr0 iso9660
4
.2G
4
.2G
0
100
%
/
media
/
cdrom
21
22
//
/dev/mapper/luovg-mylv ext4 2.0G 67M 1.9G 4% /luodata
6、扩展卷组VG
发现卷组空间不够,我们扩大卷组空间#vgextend,新添加个大小为1G的分区/dev/sdb3,系统id改为8e
1
[root@stu19 luodata]# pvcreate
/
dev
/
sdb3
//
增加物理卷 /dev/sdb3
2
Physical volume
"
/dev/sdb3
"
successfully created
3
4
[root@stu19 luodata]# pvs
//
查看物理卷信息
5
PV VG Fmt Attr PSize PFree
6
/
dev
/
sda2 vg0 lvm2 a
--
59
.99g
7
.99g
7
/
dev
/
sdb1 luovg lvm2 a
--
2
.00g
4.00m
8
/
dev
/
sdb2 luovg lvm2 a
--
3
.01g
3
.01g
9
/
dev
/
sdb3 lvm2 a
--
1
.01g
1
.01g
10
11
[root@stu19 luodata]# vgextend luovg
/
dev
/
sdb3
//
扩展卷组,新增PV /dev/sdb3
12
Volume group
"
luovg
"
successfully extended
13
14
[root@stu19 luodata]# vgs
//
查看VG信息
15
VG #PV #LV #SN Attr VSize VFree
16
luovg
3
1
0
wz
--
n
-
6
.02g
4
.02g
//
luovg卷组由之前的2个PV变为3个PV,大小也相应增加
17
vg0
1
4
0
wz
--
n
-
59
.99g
7
.99g
18
7、扩展逻辑卷
可在线进行扩展。
扩展逻辑卷步骤:
1、先确定扩展的目标大小;并确保对应的卷组中有足够的空闲空间可用;
2、扩展物理边界 # lvextend -L 4G /dev/myvg/mylv 4G是扩展到4G,+4G是在原有之上增加了4G
3、扩展逻辑边界,扩大文件系统的容量 # resize2fs /dev/myvg/mylv
1
[root@stu19 luodata]# lvextend
-
L
+
1G
/
dev
/
luovg
/
mylv
//
扩展LV,在原来2G的基础上增加1G
2
Extending logical volume mylv to
3.00
GiB
3
Logical volume mylv successfully resized
4
5
[root@stu19 luodata]# lvs
//
查看LV信息LSize 大小为3G
6
LV VG Attr LSize Pool Origin Data
%
Move Log Cpy
%
Sync Convert
7
mylv luovg
-
wi
-
ao
----
3
.00g
8
root vg0
-
wi
-
ao
----
20
.00g
9
swap vg0
-
wi
-
ao
----
2
.00g
10
usr vg0
-
wi
-
ao
----
10
.00g
11
var vg0
-
wi
-
ao
----
20
.00g
12
13
[root@stu19 luodata]# resize2fs
-
p
/
dev
/
luovg
/
mylv
//
通过resize2fs文件系统扩展
14
resize2fs
1.41
.
12
(
17
-
May
-
2010
)
15
Filesystem at
/
dev
/
luovg
/
mylv
is
mounted on
/
luodata; on
-
line resizing required
16
old desc_blocks
=
1
, new_desc_blocks
=
1
17
Performing an on
-
line resize of
/
dev
/
luovg
/
mylv to
786432
(4k) blocks.
18
The filesystem on
/
dev
/
luovg
/
mylv
is
now
786432
blocks
long
.
19
20
[root@stu19 luodata]# df
-
h
//
查看磁盘信息
21
Filesystem Size Used Avail Use
%
Mounted on
22
/
dev
/
mapper
/
vg0
-
root 20G
1
.5G 18G
8
%
/
23
tmpfs 495M
0
495M
0
%
/
dev
/
shm
24
/
dev
/
sda1 194M 49M 135M
27
%
/
boot
25
/
dev
/
mapper
/
vg0
-
usr
9
.9G
7
.4G
2
.0G
79
%
/
usr
26
/
dev
/
mapper
/
vg0
-
var 20G 380M 19G
2
%
/
var
27
/
dev
/
sr0
4
.2G
4
.2G
0
100
%
/
media
/
cdrom
28
//
# /dev/mapper/luovg-mylv 3.0G 67M 2.8G 3% /luodata
8、缩减逻辑卷
缩减很危险!!!! 缩减要离线!!!
缩减逻辑卷步骤:
1、先确定缩减后的目标大小;并确保对应的目标逻辑卷大小中有足够的空间可容纳原有所有数据;
2、卸载文件系统,并要执行强制检测,以确保文件系统处于一至性状态 e2fsck -f
3、缩减逻辑边界 resize2fs DEVICE
4、缩减物理边界 lvreduce
1
[root@stu19 luodata]# df
-
h
//
查看可用空间
2
[root@stu19
~
]# umount
/
luodata
/
//
卸载文件系统
3
4
[root@stu19
~
]# e2fsck
-
f
/
dev
/
luovg
/
mylv
//
强制执行检测,确保不报错
5
e2fsck
1.41
.
12
(
17
-
May
-
2010
)
6
Pass
1
: Checking inodes, blocks, and sizes
7
Pass
2
: Checking directory structure
8
Pass
3
: Checking directory connectivity
9
Pass
4
: Checking reference counts
10
Pass
5
: Checking group summary information
11
/
dev
/
luovg
/
mylv:
12
/
196608
files (
0.0
%
non
-
contiguous),
29500
/
786432
blocks
12
13
[root@stu19
~
]# resize2fs
/
dev
/
luovg
/
mylv 2G
//
缩减逻辑边界大小,即缩减文件系统到2G
14
resize2fs
1.41
.
12
(
17
-
May
-
2010
)
15
Resizing the filesystem on
/
dev
/
luovg
/
mylv to
524288
(4k) blocks.
16
The filesystem on
/
dev
/
luovg
/
mylv
is
now
524288
blocks
long
.
17
18
[root@stu19
~
]# lvreduce
-
L 2G
/
dev
/
luovg
/
mylv
//
缩减物理边界大小,缩减至2G
19
WARNING: Reducing active logical volume to
2.00
GiB
20
THIS MAY DESTROY YOUR DATA (filesystem etc.)
21
Do you really want to reduce mylv
?
[y
/
n]: y
22
Reducing logical volume mylv to
2.00
GiB
23
Logical volume mylv successfully resized
24
25
[root@stu19
~
]# mount
/
dev
/
luovg
/
mylv
/
luodata
/
//
挂载文件系统
26
27
[root@stu19
~
]# df
-
lh
//
查看文件系统空间
28
Filesystem Size Used Avail Use
%
Mounted on
29
/
dev
/
mapper
/
luovg
-
mylv
2
.0G 67M
1
.9G
4
%
/
luodata
30
31
[root@stu19 luodata]# ls
/
luodata
/
//
查看原文件不受影响
32
a lost
+
found
9、缩减磁盘空间
发现物理磁盘空间空闲太多,可将其中一块硬盘或分区去掉。
-
pvmove /dev/sdb3 /dev/sdb4 #将/dev/sdb3上存储的数据移到其它空闲的物理卷中
-
vgreduce luovg /dev/sdbc #将/dev/sdb3从luovg卷组中移除
-
pvremove /dev/sdb3 #将/dev/sdb3从物理卷上移除
1
[root
@
stu19 luodata]
#
pvs #查看物理卷信息
2
PV VG Fmt Attr PSize PFree
3
/
dev
/
sda2 vg0 lvm2 a
--
59
.99g
7
.99g
4
/
dev
/
sdb1 luovg lvm2 a
--
2
.00g
4
.00m
5
/
dev
/
sdb2 luovg lvm2 a
--
3
.01g
3
.01g
6
/
dev
/
sdb3 luovg lvm2 a
--
1
.01g
1
.01g
7
8
[root
@
stu19 luodata]
#
pvmove /dev/sdb3 #将/dev/sdb3上存储的数据移到其它物理卷中
9
No data to move
for
luovg
10
11
[root
@
stu19 luodata]
#
vgreduce luovg /dev/sdb3 #将/dev/sdb3从luovg卷组中移除
12
Removed
"
/dev/sdb3
"
from volume group
"
luovg
"
13
14
[root
@
stu19 luodata]
#
pvremove /dev/sdb3 #将/dev/sdb3从物理卷上移除
15
Labels on physical volume
"
/dev/sdb3
"
successfully wiped
16
17
[root
@
stu19 luodata]
#
pvs #g再次查看物理卷信息,已移除
18
PV VG Fmt Attr PSize PFree
19
/
dev
/
sda2 vg0 lvm2 a
--
59
.99g
7
.99g
20
/
dev
/
sdb1 luovg lvm2 a
--
2
.00g
4
.00m
21
/
dev
/
sdb2 luovg lvm2 a
--
3
.01g
3
.01g
22
10、创建快照卷
LVM 的快照性能为您提供了在某个特定时刻,在不导致服务中断的情况下创建设备的虚拟映射可能性。
在提取快照后,当对原始设备进行修改时,快照特性会和在修改前提取快照一样提供一个修改了的数据
区域的副本,以便重建设备的状态。
如果快照已满,那么就会停止提取快照,因此需要确定源文件系统有足够的空间。您可以常规监控快照的大小。
快照是可以重新设定大小的,因此如果您有额外的存储容量,您可以增大快照卷容量以避免漏掉快照。
相反,如果您发现快照卷超过您的需要,您可以减小它来为其它逻辑卷最大限度释放空间。
注意:
1、文件系统的快照副本是虚拟副本,不是文件系统的真实介质备份。快照不是备份过程的替代行为。
2、因为快照在源卷有变化时会增大,所以常规使用 lvs 命令监控快照卷的比例以确定它还没有被填
满是很重要的。使用了 100% 的快照卷会完全丢失,因为写入源卷中不修改的部分的操作如果不
破坏快照是无法成功的。
使用 lvcreate 命令的 -s 参数创建快照卷。快照卷是可写入的。
命令格式:#lvcreate -L 快照区大小 -s -n 快照名 被快照的逻辑卷
1
root
@
stu19 luodata]
#
lvcreate -L 512M -s -n mylv-snap /dev/luovg/mylv #为逻辑卷mylv创建一个大小512M名字为mylv-snap的快照
2
Logical volume
"
mylv-snap
"
created
3
4
[root
@
stu19 luodata]
#
mount /dev/luovg/mylv-snap /tmp/snap/ #挂载快照卷
5
6
[root
@
stu19 luodata]
#
lvs |grep mylv #查看逻辑卷信息
7
LV VG Attr LSize Pool Origin Data
%
Move Log Cpy
%
Sync Convert
8
mylv luovg owi
-
aos
---
2
.00g
9
mylv
-
snap luovg swi
-
aos
---
512
.00m mylv
0.00