一、简介
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是基于内核的一种逻辑卷管理器,LVM适合于管理大存储设备,并允许用户动态调整文件系统大小。此外,LVM的快照功能可以帮助我们快速备份数据。LVM为我们提供了逻辑概念上的磁盘,使得文件系统不在关心底层物理磁盘的概念。并且它是Linux环境下对磁盘分区进行管理的一种机制,使用lvm用户可以在无需停机的情况下方便地调整各个分区大小。
看图识LVM
二、LVM基本概念
1、Physical Volume(PV),物理卷:创建分区时,标记分区类型为8e后,就可以将该分区做成物理卷供LVM使用了。可以用任意块设备做成物理卷,单个分区、整块硬盘、RAID设备都可以。
2、Volume Group(VG),卷组:顾名思义,就是将一个或多个PV组合为一个卷组,以PE为存储单位。一个VG至少包含一个PV,VG可以创建多个。
3、Physical Extent(PE),物理区域:PE是整个LVM中可分配的最小存储单元,大小在创建卷组时指定且确定后不能更改;同一卷组的PE大小需一致。新的PV加入卷组后,PE的大小会自动更改为原卷组PE的大小。
4、Logical Volume(LV),逻辑卷:建立在卷组的基础上,卷组中空闲的PE可分配给LV使用,创建LV后可通过增加或减少PE来动态扩展和缩小空间大小。LV可以直接创建文件系统并挂载使用。两种写入模式:线性模式(linear)、交错模式(triped)。
三、LVM常用管理工具
准备工作:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# fdisk /dev/sda #创建分区并调整分区格式(lvm格式为8e)
|
1、物理卷(PV)的常用管理命令
1 2 3 4 5 6 7 8 |
pvcreate #创建一个物理卷
|
示例1:创建4个PV
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# pvcreate /dev/sda{5..8}
|
示例2:删除PV
1 2 3 4 5 6 7 8 |
# pvmove /dev/sda5 /dev/sda6 #注意:两个PV必须在同一卷组内
|
2、卷组(VG)的常用管理命令
1 2 3 4 5 6 7 8 9 10 11 12 |
vgcreate #创建卷组
|
示例1:创建一个卷组,要求PE大小为8M,名称为bjwf,最大支持LV不能超过10个,包含的PV不能超过2个
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# vgcreate -s 8M -l 10 -p 2 bjwf /dev/sda{7,8}
|
示例2:扩展bjwf的大小
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# vgextend bjwf /dev/sda6 #这块由于此前定义了VG的最大PV数,所以无法扩展
|
示例3:缩减bjwf大小,然后删除bjwf
1 2 3 4 5 6 7 8 |
# vgreduce bjwf /dev/sda8 #注意:把PV移除卷组时要保证该PV数据已经迁移或未使用
|
3、逻辑卷(LV)的常用管理命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
lvcreate #创建LV
|
示例1:创建一个LV,要求大小为10G,名称为mylv,指定卷组为bjwf,并挂载到/data上
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# lvcreate -L 10G -n mylv bjwf
|
示例2:扩展mylv的大小,增加5G空间
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# lvextend -L 15G /dev/bjwf/mylv #方法一,扩展物理边界增加到15G
|
示例三:缩减mylv的大小,减少9G空间(缩减的顺序与创建时的顺序相反,也就是先卸载文件系统,缩减逻辑卷,缩减物理卷。缩减很危险,不到最后一步千万不要缩减,缩减需要离线。)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# umount /data/ #卸载,住:卸载前先将数据拿走,血的教训
|
示例四:对mylv创建一个快照卷,快照恢复后,卸载快照卷并删除
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# lvcreate -L 50M -n mylv_snap -p r -s /dev/bjwf/mylv
|
示例五:删除mylv
1 2 3 |
# lvchange -an /dev/bjwf/mylv #标记mylv为不可用状态
|