`

Linux中利用LVM实现分区动态扩容

 
阅读更多

       LVM的全称为Logical Volume Manager,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配。当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。它的结构如下图所示:

图1

LVM(逻辑分区管理)中的几个概念:

PV(physical volume):物理卷在逻辑卷管理系统最底层,可为整个物理硬盘或实际物理硬盘上的分区。它只是在物理分区中划出了一个特殊的区域,用于记载与LVM相关的管理参数。 
VG(volume group):卷组建立在物理卷上,一卷组中至少要包括一物理卷,卷组建立后可动态的添加卷到卷组中,一个逻辑卷管理系统工程中可有多个卷组。
LV(logical volume):逻辑卷建立在卷组基础上,卷组中未分配空间可用于建立新的逻辑卷,逻辑卷建立后可以动态扩展和缩小空间。
PE(physical extent):物理区域是物理卷中可用于分配的最小存储单元,物理区域大小在建立卷组时指定,一旦确定不能更改,同一卷组所有物理卷的物理区域大小需一致,新的pv加入到vg后,pe的大小自动更改为vg中定义的pe大小。
LE(logical extent):逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。由于受内核限制的原因,一个逻辑卷(Logic Volume)最多只能包含65536个PE(Physical Extent),所以一个PE的大小就决定了逻辑卷的最大容量,4 MB(默认) 的PE决定了单个逻辑卷最大容量为 256 GB,若希望使用大于256G的逻辑卷,则创建卷组时需要指定更大的PE。在Red Hat Enterprise Linux AS 4中PE大小范围为8 KB 到 16GB,并且必须总是 2 的倍数。 

 

 

下面我们通过一个实例来说明如何创建LVM:

 

1.准备物理分区(Physical Partions) 

  首先,我们需要选择用于 LVM 的物理存储器。这些通常是标准分区,但也可以是已创建的 Linux Software RAID 卷。这里我利用fdisk命令,将sdb、sdc两块磁盘分了两个区sdb1、sdc1, 通过fdisk的t指令指定分区为8e类型(Linux LVM) 。如图2所示。 

图2

 

2.创建物理卷PV(Physical Volumes)

[root@cfbdb5 oracle]#pvcreate /dev/sdb1 
  Physical volume "/dev/sdb1" successfully created
[root@cfbdb5 oracle]# pvcreate /dev/sdc1 
  Physical volume "/dev/sdc1" successfully created

 

3.创建卷组VG(Volume Groups),命名为vg_test

[root@cfbdb5 ~]#vgcreate vg_test /dev/sdb1
  Volume group "vg_test" successfully created

使用卷组查看命令vgdisplay显示卷组情况:

[root@cfbdb5 oracle]# vgdisplay
  --- Volume group ---
  VG Name               vg_test
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.99 GB
  PE Size               4.00 MB
  Total PE              5118
  Alloc PE / Size       2560 / 10.00 GB
  Free  PE / Size       2558 / 9.99 GB
  VG UUID               YEYtOr-JpCK-P7MV-FFVo-BgEi-Ooef-IG3hlc

 

4.创建逻辑卷LV(Logical Volumes) ,命名为test_lv

创建逻辑卷的命令为lvcreate,-l 参数为定PE数来设定逻辑分区大小,也可以使用-L参数直接指定逻辑分区大小,-n参数指定逻辑分区名称。
[root@cfbdb5 oracle]# lvcreate -l 2000 -n lv_test vg_test
  Logical volume "lv_test" created
也可以使用-L参数
[root@cfbdb5 oracle]# lvcreate -L 10G -n lv_test vg_test
  Rounding up size to full physical extent 19.99 GB
  Logical volume "lv_test" created
使用lvdisplay命令查看逻辑卷情况: 
[root@cfbdb5 oracle]#lvdisplay
  --- Logical volume ---
  LV Name                /dev/vg_test/lv_test
  VG Name                vg_test
  LV UUID                kgUoMy-W1qG-7tAQ-dI5j-Z2KO-a8Td-mXAFbc
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                19.99 GB
  Current LE             5118
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
 

5.创建文件系统,并挂载

在逻辑卷上创建ext3文件系统: 
[root@cfbdb5 oracle]#mkfs -t ext3 /dev/vg_test/lv_test 
[root@cfbdb5 oracle]#mount /dev/vg_test/lv_test /opt/oracle/
[root@cfbdb5 oracle]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       16G  4.7G   11G  32% /
/dev/sda1              99M   27M   67M  29% /boot
tmpfs                 872M     0  872M   0% /dev/shm
/dev/mapper/vg_test-lv_test
                      9.9G  151M  9.2G   2% /opt/oracle

 

 

管理LVM 

  LVM的最大好处就是可以动态地调整分区大小,而无须重新启动机器,下面让我们来体验一下吧!继续上面的实例,现假设逻辑卷/dev/vg_test/lv_test空间不足,需要增加其大小,我们分两种情况讨论: 

 

 

1.卷组中有剩余的空间 

  通过vgdisplay命令可以检查当前卷组空间使用情况: 

 

[root@cfbdb5 oracle]# vgdisplay
  --- Volume group ---
  VG Name               vg_test
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.99 GB
  PE Size               4.00 MB
  Total PE              5118
  Alloc PE / Size       2560 / 10.00 GB
  Free  PE / Size       2558 / 9.99 GB
  VG UUID               YEYtOr-JpCK-P7MV-FFVo-BgEi-Ooef-IG3hlc

确定当前卷组剩余空间9.99GB,剩余PE数量为2558个。在这里将所有的剩余空间全部增加给逻辑卷 /dev/vg_test/lv_test。

[root@cfbdb5 oracle]# lvextend -l +2558 /dev/vg_test/lv_test 
  Extending logical volume lv_test to 19.99 GB
  Logical volume lv_test successfully resized 

也可以通过-L直接指定大小,通过 +/- 来 增加/减小 空间。

修改逻辑卷大小后,通过resize2fs来修改文件系统的大小。

[root@cfbdb5 oracle]#resize2fs /dev/vg_test/lv_test 
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/vg_test/lv_test is mounted on /opt/oracle; on-line resizing required
Performing an on-line resize of /dev/vg_test/lv_test to 5240832 (4k) blocks.
The filesystem on /dev/vg_test/lv_test is now 5240832 blocks long.
再次查看文件系统的大小:
[root@cfbdb5 oracle]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       16G  4.7G   11G  32% /
/dev/sda1              99M   27M   67M  29% /boot
tmpfs                 872M     0  872M   0% /dev/shm
/dev/mapper/vg_test-lv_test
                       20G  156M   19G   1% /opt/oracle

 

2.卷组中空间不足 

  当卷组中没有足够的空间用于扩展逻辑卷的大小时,就需要增加卷组的容量,而增加卷组容量的惟一办法就是向卷组中添加新的物理卷。 
  首先需要对新增加的磁盘进行分区、创建物理卷等工作。),接下来是利用vgextend命令将新的物理卷加入到卷组中, 我们这里使用/dev/sdc1。

 

[root@cfbdb5 oracle]#vgextend vg_test /dev/sdc1  
  Volume group "vg_test" successfully extended

[root@cfbdb5 oracle]# vgdisplay
  --- Volume group ---
  VG Name               vg_test
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  8
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               59.98 GB
  PE Size               4.00 MB
  Total PE              15356
  Alloc PE / Size       5118 / 19.99 GB
  Free  PE / Size       10238 / 39.99 GB
  VG UUID               YEYtOr-JpCK-P7MV-FFVo-BgEi-Ooef-IG3hlc
完成卷组的扩容后,就可以按照第一种情况的方法完成逻辑卷的扩容,最终实现分区的动态调整。

  • 大小: 45.7 KB
  • 大小: 63.6 KB
分享到:
评论

相关推荐

    Linux7扩容根分区(LVM+非LVM).docx

    Linux 7 扩容根分区(LVM+非 LVM) Linux 7 扩容根分区是指在 Linux 7 操作系统中扩展根分区的大小,以满足存储需求。在本文中,我们将介绍使用 LVM(Logical Volume Manager)和非 LVM 两种方法来扩容根分区。 使用...

    Linux LVM进行分区扩容

    在Linux系统中,LVM(Logical Volume Manager)是一种先进的...至此,LVM分区扩容的整个过程就完成了。这个方法使得在不重启系统的情况下,能够方便地扩展系统根目录的存储空间,极大地提高了系统维护的灵活性和效率。

    linux中Centos7的LVM磁盘扩容问题

    系统提示我容量不足 就利用LVM的方式进行扩容吧。 系统是RHEL7(centos7差不多一样) 先查看磁盘信息及根目录 fdisk -l 注意:sda为硬盘,需要扩容的是系统的根目录,这里RHEL的系统根目录为/dev/mapper/rhel-root...

    xfs文件系统lvm根分区扩容

    ### XFS 文件系统 LVM 根分区扩容详解 #### 一、引言 在服务器运维过程中,随着数据量的增长或应用需求的变化,经常会遇到需要扩展文件系统存储空间的情况。Linux 系统中提供了多种文件系统类型,其中 XFS 作为一...

    Linux LVM硬盘管理及LVM扩容

    "Linux LVM硬盘管理及LVM扩容" 根据提供的文件信息,以下是相关...LVM扩容可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。可以继续将其他的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理。

    Linux 分区扩容

    分区扩容可以通过多种方式实现,包括使用 Parted 工具对空闲空间进行分区、使用 LVM(Logical Volume Manager)对逻辑卷进行扩容等。 在本实验中,我们将使用 Parted 工具对空闲空间进行分区,并使用 LVM 对逻辑卷...

    Linux下LVM硬盘管理及LVM扩容.pdf

    - 当一个逻辑分区的空间不足时,可以从卷组的未分配空间中分配更多PE给该逻辑卷,实现在线扩容。 **安装LVM:** 要使用LVM,首先需要确保系统已经安装了LVM工具。通过`rpm -qa | grep lvm`命令检查是否已安装。...

    lvm磁盘扩容步骤.doc

    为了将新建的 LVM 分区扩容到根分区,我们需要先创建 PV(Physical Volume,物理卷),然后将其加入到 VG(Volume Group,卷组)中。最后,我们可以使用 `lvextend` 命令将 LVM 分区扩容到根分区。 六、更新 XFS ...

    针对LVM磁盘进行扩容

    在 LVM 磁盘扩容中,需要对磁盘进行分区,以便创建物理卷。使用 fdisk 命令可以对磁盘进行分区。例如: ``` fdisk /dev/sda ``` 这将进入磁盘管理模式,可以对磁盘进行分区操作。 三、物理卷创建 创建物理卷是 LVM...

    lvm扩容根分区.rtf

    centos7 /分区扩容图文详解

    Centos服务器lvm扩容方法

    本篇文章将详细阐述如何在CentOS服务器上进行LVM扩容,帮助你优化服务器的磁盘空间。 1. **LVM的基本概念**: - **物理卷(Physical Volume, PV)**:这是LVM的基本存储单元,可以是硬盘、分区或RAID设备。 - **...

    [原创]CentOS6.9数据库生产服务器扩容手册(LVM+非LVM)

    LVM 扩容主要涉及到三个步骤:将 /dev/sdd 加入 LVM 组 vg_pinen、将 /opt 目录扩容到 15G 和调整卷分区大小。具体命令如下: 1. 将 /dev/sdd 加入 LVM 组 vg_pinen:pvcreate /dev/sdd、vgextend vg_pinen /dev/...

    linux磁盘分区扩容

    总结来说,Linux磁盘分区扩容主要涉及以下步骤: 1. **查看磁盘状态**:使用`df -h`和`df -Th`查看磁盘分区和文件系统信息。 2. **确认文件系统类型**:不同的文件系统有不同的扩容策略,如XFS需要先释放空间。 3. ...

    基于CentOS7的磁盘分区以及扩容_parted工具.md

    在Linux环境下,对于磁盘管理的需求非常常见,包括但不限于磁盘分区、格式化、扩容等。Parted是一款强大的磁盘分区管理工具,它可以支持GPT与MBR两种分区表类型,并且提供了更为灵活的分区方式。本文主要介绍如何...

Global site tag (gtag.js) - Google Analytics