您的位置:首页 > 运维架构 > Linux

Linux的逻辑卷管理(LVM)详解

2016-09-05 07:55 766 查看
安装Linux系统时,我们第一个考虑的可能是如何给磁盘分区。Linux的分区工具如fdisk和parted等很难甚至是无法改变分区大小,一旦以后磁盘空间使用殆尽,当我们插上新磁盘后,将会发现我们不得不重新分区格式化,当然之前的数据是必须要备份的,但是这其中仍然存在这数据丢失的风险,有没有无需重新分区直接使用新加入磁盘的方法呢?LVM真是基于这样的需求被设计出来的。
LVM(Logical Volume Manager)逻辑卷管理是建立在硬盘和分区之上,文件系统之下的一个逻辑层。注意:不建议将boot放在逻辑卷中。
LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。



PV:物理卷,处于LVM的最底层,他可以是实际的硬盘、分区或raid设备。和基本的物理存储介质相比,其中包含有与LVM相关的管理参数。
VG:卷组,建立在物理卷之上,必须有至少一个物理卷,在卷组建立之后可以动态的添加新的物理卷来扩容。
PE:每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是在VG过程中配置的,默认为4MB。
LV:逻辑卷,建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。
PV管理工具:
pvs:显示简要的pv信息,pvdisplay:显示较详细的pv信息
pvscan:扫描并浏览所有的pv
pvchange:改变pv的属性
pvck:检查pv的元数据信息
pvmove:移动PE
pvremove:移除pv卷
pvresize:改变pv的大小

pvcreate /dev/DEVICE:创建pv
[root@linux ~]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
[root@linux ~]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created
[root@linux ~]# pvs
PV         VG   Fmt  Attr PSize  PFree
/dev/sdb        lvm2 ---- 20.00g 20.00g
/dev/sdc        lvm2 ---- 20.00g 20.00g
[root@linux ~]# pvdisplay
"/dev/sdb" is a new physical volume of "20.00 GiB"
--- NEW Physical volume ---
PV Name               /dev/sdb
VG Name
PV Size               20.00 GiB
Allocatable           NO
PE Size               0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               mNZepm-JrpU-4eRX-Hqis-mwXq-ZJFW-or9S2t

"/dev/sdc" is a new physical volume of "20.00 GiB"
--- NEW Physical volume ---
PV Name               /dev/sdc
VG Name
PV Size               20.00 GiB
Allocatable           NO
PE Size               0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               P2fwdI-2eCR-rgwO-RnUA-4Wh1-62qT-B035Zz
VG管理工具
显示卷组:vgs,vgdisplay
创建卷组:vgcreate
选项:
-s:指定PE的大小,
-l:给该vg设置最大的lv数,可通过vgchange修改,lvm1默认最大为255个,lvm2则没有限制
[root@linux ~]# vgcreate IT /dev/sd{b,c}
Volume group "IT" successfully created
[root@linux ~]# vgs
VG   #PV #LV #SN Attr   VSize  VFree
IT     2   0   0 wz--n- 39.99g 39.99g
[root@linux ~]# vgdisplay
--- Volume group ---
VG Name               IT
System ID
Format                lvm2
Metadata Areas        2
Metadata Sequence No  1
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                0
Open LV               0
Max PV                0
Cur PV                2
Act PV                2
VG Size               39.99 GiB
PE Size               4.00 MiB
Total PE              10238
Alloc PE / Size       0 / 0
Free  PE / Size       10238 / 39.99 GiB
VG UUID               TxjZPe-CbN8-Edj3-EHE3-8g3G-cplW-7QFcTw

[root@linux ~]# pvs
PV         VG   Fmt  Attr PSize  PFree
/dev/sdb   IT   lvm2 a--u 20.00g 20.00g
/dev/sdc   IT   lvm2 a--u 20.00g 20.00g
vgcfgbackup:备份vg的元数据信息
vgrename:改变vg名
vgsplit:将源vg中pv移到其他vg中
vgreduce:缩减vg大小
vgextent:扩展vg大小
vgremove:移除vg
LV管理工具
lvcreate:创建lv
选项:
-n:设置lv的名字
-L:指定lv的大小
-s:创建lv的快照,后面接源lv的路径或名字
lvs/lvdisplay:显示lv的信息
lvremove:移除lv
lvextent:扩展lv
lvreduce:缩减lv
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  lvm