51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Linux系统LVM磁盘扩容(EXT4文件系统)

一、LVM简介

{#5399-1506221631871}LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)。LVM也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如"sales'、 'development')代替物理磁盘名(如'sda'、'sdb')来标识存储卷。

{#5060-1506221681118}由四个磁盘分区可以组成一个很大的空间,然后在这些空间上划分一些逻辑分区,当一个逻辑分区的空间不够用的时候,可以从剩余空间上划分一些空间给空间不够用的分区使用。

二、LVM基本术语

{#6766-1506252456252}前面谈到,LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的存储卷,在存储卷上建立文件系统。首先我们讨论以下几个LVM术语:

{#6653-1506252600399}*物理存储介质(PhysicalStorageMedia)

{#3633-1506252600399}指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元

{#8068-1506252600399}*物理卷(Physical Volume,PV)

{#8077-1506252600399}指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

{#5399-1506252600399}*卷组(Volume Group,VG)

{#5642-1506252600399}类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。

{#4923-1506252600399}*逻辑卷(Logical Volume,LV)

{#9013-1506252600399}类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。

{#1050-1506252600399}*物理块(Physical Extent,PE)

{#3149-1506252600399}每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。

{#1060-1506252600399}*逻辑块(Logical Extent,LE)

{#6536-1506252600399}逻辑卷LV也被划分为可被寻址的基本单位,称为LE。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

{#8026-1506252620313}上图所示LVM抽象模型,展示了PV、VG、LV三者之间关系:

{#7487-1506252621713}和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷起始处的VGDA(卷组描述符区域)中。VGDA包括以下内容:PV描述符、VG描述符、LV描述符、和一些PE描述符。

{#6869-1506252621713}系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置。

三、LVM磁盘扩容操作实例

1)查看磁盘信息

[root@localhost ~]# df -Th

2)使用fdisk -l命令查看系统上的硬盘

[root@localhost ~]# fdisk -l

PS:这里采用/dev/sdb磁盘

3)新建分区

[root@localhost ~]# fdisk /dev/sdb

准备工作就绪

4)创建PV

[root@localhost ~]# pvcreate /dev/sdb1

5)查看PV

[root@localhost ~]# pvdisplay

{#7850-1506253551424}还可以使用命令pvs 和pvscan 查看简略信息。

[root@localhost ~]# pvs

[root@localhost ~]# pvscan

{#5789-1506253920455}1、扩容VG

1)查看VG情况

[root@localhost ~]# vgs

2)扩容vg(VG名称)

[root@localhost ~]# vgextend vg /dev/sdb1

{#3752-1506253784107}说明:vg是原来创建的VG设备的名称,后面接上述的设备名

{#9243-1506253816896}3)查看vg的信息

[root@localhost ~]# vgdisplay

{#7676-1506253842768}注:这里已经把VG Size从18.99G扩容到39.99G,VG扩容成功

说明:

{#4870-1506253874632}VG Name   //VG的名称

{#4522-1506253874632}VG Size   //VG的总大小

{#4441-1506253874632}PE Size   //PE的大小,默认为4MB

{#5875-1506253874632}Total PE   //PE的总数量,2047 x 4MB = 8.00GB

{#5060-1506253874632}Free PE / Size  //剩余空间大小

{#5277-1506253874632}同样可以使用命令vgs 和vgscan 查看。

[root@localhost ~]# vgs

[root@localhost ~]# vgscan

2、扩容LV

1)查看LV的信息

[root@localhost ~]# lvdisplay

{#5564-1506254145891}说明:这里默认分了多个逻辑卷,这里我们扩容{#9438-1506254157371}/dev/vg/lv1

{#6427-1506254200158}说明:

{#7281-1506254297861}LV Path   //LV的路径,全名

{#5369-1506254297861}LV Name   //LV的名字

{#2710-1506254297861}VG Name  //所属的VG

{#8245-1506254297861}LV Size   //LV的大小

2)LV扩容

{#3371-1506254297861}[root@localhost ~]# lvextend /dev/vg/lv1 /dev/sdb1

{#6298-1506254339989}注:LV Size从19.9G增加到了39.90G

6)写入文件系统,使扩容生效。

[root@localhost ~]# resize2fs /dev/vg/lv1

注:如果是xfs文件系统,可以使用xfs_growfs命令替换resize2fs命令。

7)验证扩容结果

至此,扩容成功。
继续阅读

历史上的今天

1 月
13

赞(0)
未经允许不得转载:工具盒子 » Linux系统LVM磁盘扩容(EXT4文件系统)