`
lynnkong
  • 浏览: 303103 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

逻辑卷管理LVM

LVM 
阅读更多

1      LVM相关概念和术语

LVM是建立在磁盘分区和文件系统之间的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个逻辑的盘卷,再在盘卷上来建立文件系统。

 

关于术语的详细说明如下:

物理卷(physical volumePV

物理卷就是指硬盘分区,也可以是整个硬盘或已创建的软RAID ,是LVM的基本存储设备,与普通物理存储介质的区别是该设备包含有LVM相关的管理参数。

卷组(volume groupVG

卷组是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个“LVM分区”(逻辑卷)。

逻辑卷(logical volumeLV

LVM的逻辑卷类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。可以做这样一个设想来理解以上三者的关系:如果把PV比做地球的一个板块,VG则是一个地球,因为地球是由多个板块组成的,那么在地球上划分一个区域并标记为亚洲,则亚洲就相当于一个LV

物理块(physical extentPE

物理卷以大小相等的物理块为存储的基本单位,同时也是LVM寻址的最小单元。

逻辑块(logical extentLE

逻辑卷以大小相等的逻辑块为存储的基本单位,在同一个卷组中,LE的大小和PE是相等的,并且一一对应。

卷组描述区域(Volume Group Descriptor AreaVGDA

和磁盘将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷的VGDA中。VGDA包括以下内容:PV描述符、VG描述符、LV描述符、和一些PE描述符。系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置。

2      创建逻辑卷

创建逻辑卷通常包括如下步骤:

创建分区

创建物理卷

创建卷组

激活卷组

创建逻辑卷

创建文件系统

下面将通过一个具体的实例来详细介绍创建逻辑卷的整个过程。

3      例子

利用/dev/sdb/dev/sdc/dev/sdd这三块磁盘创建一个卷组,再在卷组上创建两个逻辑卷,并指定将其中一个逻辑卷的映射模式为条带映射,实现的步骤如下:

3.1    创建物理卷

创建物理卷的命令是 pvcreate”,该命令可以将需要添加到卷组的分区或磁盘创建为物理卷。操作如下:

# pvcreate /dev/sdb /dev/sdc /dev/sdd

Physical volume "/dev/sdb" successfully created

Physical volume "/dev/sdc" successfully created

Physical volume "/dev/sdd" successfully created

3.2    创建卷组

创建卷组的命令为“vgcreate”,将使用“pvcreate”建立的物理卷创建为一个完整的卷组,如下:

# vgcreate vgtest /dev/sdb /dev/sdc /dev/sdd

Volume group "vgtest" successfully created

其中vgcreate命令第一个参数是指定该卷组的名为“vgtest”,该名称可以根据需要随便定义,后面接添加到该卷组的物理卷。同时在使用vgcreate 在创建卷组时,还可以指定PE的大小,需要加上-s参数来实现,PE大小范围为8 KB 16GB,并且必须总是2的倍数。一个卷组里面最多允许65534PE存在。默认设置的PE大小为4 MB,这表示卷组上创建的所有逻辑卷都以 4MB 为增量单位来进行扩充或缩减,所以4 MB PE决定了单个逻辑卷最大容量为 256GB,若要创建更大的逻辑卷则创建卷组时需要指定更大的PE

3.3    创建逻辑卷

创建完卷组后,现在就可通过“lvcreate”命令来创建逻辑卷了,同时在创建逻辑卷的时候,还可以指定逻辑块与物理块映射的模式,逻辑卷的映射模式共有如下两种:

«  线性模式――按照顺序把一定范围内的物理块与逻辑块映射,这也是默认的映射方式。例如,把逻辑卷中125LE映射到PV1,把2650LE映射到PV2上。

«  条带模式――将把逻辑块以条带的形式映射到不同的物理卷中,这种方式与前面讲到的RAID 0有些类似,这种方式可以提高逻辑卷读写的性能。例如,将逻辑卷的LE 1映射为PV1PE1LE 2映射为PV2PE1LE 3映射为PV3PE1

那么创建逻辑卷的操作如下:

# lvcreate -i 3 -I 4 -L 180M -n lvtest1 vgtest

Logical volume "lvtest1" created

上面的提示信息表明成功创建了一个名为“lvtest1”的逻辑卷,其命令中的几个参数的说明如下:

ü  -i:采用条带模式的映射方式创建逻辑卷,该参数的值用于指定所创建的逻辑卷将映射在几个PV上。

ü  -I:指定使用条带模式时所采用块的大小,单位为KB,其值必须是:2NN2)。

ü  -L:指定创建逻辑卷的大小,单位的可以用KMGT表示KBMBGBTB

ü  -n:用来指定所创建的逻辑卷名称,该名称可以根据需要随便定义。

在使用“-i”参数指定PV的个数时,一定要确认所指定的这些PV是没有完全被分配给任何逻辑卷的,否则将创建失败,其次若这些PV的大小不等,那么所创建的逻辑卷只能取最小值。

下面再使用剩余的空间来创建第二个逻辑卷,通过“vgdisplay”命令可查看当前卷组剩余的空间,如下:

# vgdisplay

Volume group —

VG Name vgtest

System ID

Format lvm2

Metadata Areas 3

Metadata Sequence No 11

VG Access read/write

VG Status resizable

MAX LV 0

Cur LV 1

Open LV 0

Max PV 0

Cur PV 3

Act PV 3

VG Size 300.00 MB

PE Size 4.00 MB

Total PE 75

Alloc PE / Size 45 / 180.00 MB

Free PE / Size 30 / 120.00 MB

VG UUID 1Nbgxo-U4Ux-Y5Hb-TDzT-d5Fp-Iov7-wKFHG5

从如上的信息可了解到“vgtest”卷组还剩余30个空闲的PE,那么将这些空闲的空间全部划分给另一个逻辑卷,操作如下:

# lvcreate -l 30 -n lvtest2 vgtest

Logical volume "lvtest2" created

其中“-l”用于指定逻辑卷的LE数量,默认为4MB,所以此次创建的逻辑卷的大小是120M,该参数与“-L”效果一样。

3.4    创建文件系统

在逻辑卷上创建文件系统和在分区上创建文件系统方法是一样,例如,在逻辑卷上创建ext3格式的文件系统,命令如下:

# mkfs.ext3 /dev/vgtest/lvtest1

# mkfs.ext3 /dev/vgtest/lvtest2

以上就是在Linux下创建逻辑卷的整个步骤。

4      LVM的维护

LVM的日常维护工作中,通常会需要对逻辑卷扩容、添加新的物理卷等操作,下面将结合【实例1】中所创建的逻辑卷来介绍LVM常用的管理操作,如下:

4.1    激活卷组

卷组若不被激活,卷组和逻辑卷是不能被访问的,在LVM 2里创建的卷组默认是激活的,那么手动激活卷组的命令是:

# vgchange -a y vgtest

2 logical volume(s) in volume group "vgtest" now active

其中“-a”用于设置指定的卷组是否可用,参数“y”表示激活卷组,若设置为“n”则表示暂停卷组使用。

4.2    为卷组增加新的物理卷

当卷组空间不足时,可以加入新的物理卷来扩大卷组容量,这时可用“vgextend”命令来实现,如下:

# vgextend vgtest /dev/sde

Volume group "vgtest" successfully extended

其中“/dev/sde”是新增的物理卷,前提该设备已经使用“pvcreate”进行了初始化了。

4.3    从卷组中移除物理卷

要从一个卷组中移除一个物理卷,首先要确认要移除的物理卷没有被任何逻辑卷正在使用,通过“pvdisplay”命令可查看到该物理卷信息,如下:

#pvdisplay /dev/sde

Physical volume —

PV Name /dev/sde

VG Name vgtest

PV Size 100.00 MB / not usable 0

Allocatable yes

PE Size (KByte) 4096

Total PE 25

Free PE 25

Allocated PE 0

PV UUID ee2IFC-UHUq-Xg67-icwt-AhdJ-7kRz-JdDjiq

若其中的“Total PE”与“ Free PE”相等,表明该物理卷没有被使用,如果某个物理卷正在被逻辑卷所使用,就需要将该物理卷的数据转移到其它地方,然后再移除。移除物理卷的命令为“vgreduce”,如下:

# vgreduce vgtest /dev/sde

Removed "/dev/sde" from volume group "vgtest"

4.4    在物理卷间转移数据

当发现逻辑卷下的某个磁盘有错误,或有其它需求要转移其中物理卷的数据时(如,更换大容量或更高速的物理设备),那么可通过“pvmove”来实现在物理卷之间转移数据,例如,将物理卷“/dev/sdd”上的数据转移到“/dev/sde”具体操作如下:

# pvmove /dev/sdd /dev/sde

/dev/sdd: Moved: 100.0%

其中/dev/sde的大小一定要大于或等于/dev/sdd,其次在使用“pvmove ”前需要用 modprobe dm-mirror”命令来加载dm-mirror模块,因为“pvmove”在转移数据时需要用到该模块,而默认系统是不加载该模块的。

4.5    扩展逻辑卷

在前面提到过,LVM提供了方便调整逻辑卷大小的功能,扩展逻辑卷大小的命令是“lvextent”,例如,将“lvtest2”的空间大小调整到160M,操作如下:

# lvextend -L 160M /dev/vgtest/lvtest2

Extending logical volume lvtest2 to 160.00 MB

Logical volume lvtest2 successfully resized

也可以在原来的基础增加相应的大小,如下:

# lvextend -L +40M /dev/vgtest/lvtest2

Extending logical volume lvtest2 to 160.00 MB

Logical volume lvtest2 successfully resized

逻辑卷扩展后并不会马上生效,需要使用“resize2fs”命令重新加载逻辑卷的大小,该命令只针对ext2/ext3的文件系统(若是reiserfs的文件系统,则使用“resize_reiserfs”命令),如果该逻辑卷正在使用中,就应该先将该逻辑卷卸载后再执行“resize2fs”命令,操作如下:

# umount /dev/vgtest/lvtest2

# resize2fs /dev/vgtest/lvtest2

resize2fs 1.35 (28-Feb-2004)

The filesystem is already 163840 blocks long. Nothing to do!

# mount /dev/vgtest/lvtest2 /mnt/lvtest2/

以上这些操作可以通过“ext2online”命令直接来实现,这样就不用做卸载逻辑卷等操作了,如下:

# ext2online /dev/vgtest/lvtest2

ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b

4.6    删除逻辑卷

删除逻辑卷前首先需要将其卸载,其命令是“lvremove”,如下:

# lvremove /dev/vgtest/lvtest2

Do you really want to remove active logical volume "lvtest2"? [y/n]: y

Logical volume "lvtest2" successfully removed

其中输入“y”确认确认删除该逻辑卷。

4.7    移除卷组

在移除卷组前首先要确认该卷组中已没有任何的逻辑卷了,或者可使用“vgchange”手工将卷组停止,移除卷组的具体操作如下:

# vgremove vgtest

Volume group "vgtest" successfully removed

4.8    删除物理卷

在删除物理卷前,必须确认该物理卷已从卷组中移除了,删除物理卷的命令是“pvremove”,如下:

# pvremove /dev/sde

Labels on physical volume "/dev/sde" successfully wiped

除此之外,LVM还可以提供snapshot(快照)等功能,其snapshot能够快速的备份当前逻辑卷中的数据,从而大大减轻备份数据的负担,只是目前来说技术并不是很成熟。

4.9    修改卷组名称

root@controller:~# vgrename controller cinder-volumes

  Volume group "controller" successfully renamed to "cinder-volumes"

 

root@controller:~# vgchange -ay /dev/cinder-volumes

  2 logical volume(s) in volume group "cinder-volumes" now active

4.10其他命令

root@controller:~# pvs

  PV         VG         Fmt  Attr PSize   PFree 

  /dev/sda5  controller lvm2 a-   465.42g 232.59g

 

root@controller:~# vgs

  VG         #PV #LV #SN Attr   VSize   VFree 

  controller   1   2   0 wz--n- 465.42g 232.59g

 

root@controller:~# lvscan

  ACTIVE            '/dev/cinder-volumes/root' [220.84 GiB] inherit

  ACTIVE            '/dev/cinder-volumes/swap_1' [11.99 GiB] inherit

分享到:
评论

相关推荐

    Linux逻辑卷管理LVM步骤

    Linux 逻辑卷管理 LVM 步骤 Linux 逻辑卷管理 LVM 是一种高级的磁盘管理机制,可以帮助用户方便地管理磁盘分区,解决磁盘分区大小的评估和调整问题。本文将深入讨论 LVM 技术,介绍 LVM 的基本概念、术语和工作原理...

    HP-UX环境下逻辑卷管理LVM的基础概念及使用教程

    内容概要:本文档全面介绍了HP-UX环境中逻辑卷管理(LVM)的基础概念、操作流程及高级用法,包括物理卷、卷组、逻辑卷及其关联关系,以及创建、扩展、缩小、删除、镜像、条带化等常见操作的详细命令与步骤。...

    Linux逻辑卷管理LVM步骤借鉴.pdf

    Linux逻辑卷管理(LVM,Logical Volume Manager)是一种在传统磁盘分区和文件系统之间提供额外抽象层的技术,旨在提高磁盘分区管理的灵活性。LVM允许系统管理员在不中断服务的情况下,动态调整分区大小,跨越多个...

    Linux如何创建使用逻辑卷管理LVM.docx

    **Linux LVM(逻辑卷管理)详解** LVM,全称Logical Volume Manager,是一种在Linux操作系统中用于磁盘分区管理的高级工具。它的主要目的是提高磁盘存储的灵活性和管理效率,通过组合多个物理磁盘分区形成一个逻辑...

    IBMAIX操作系统中逻辑卷管理LVM技术应用[整理].pdf

    在IBM AIX操作系统中,逻辑卷管理(Logical Volume Manager,简称LVM)是一种高级的存储管理技术,它为用户提供了更为灵活和强大的磁盘管理能力。AIX的LVM允许系统管理员将多个物理硬盘或者硬盘分区组合成一个或多个...

    Linux逻辑盘卷管理LVM详解

    ### Linux逻辑盘卷管理LVM详解 #### 一、引言 在Linux系统管理中,合理规划磁盘分区是一项至关重要的任务。系统管理员不仅要考虑当前的磁盘需求,还需要预测未来可能出现的空间需求增长。传统的磁盘分区方法在面对...

    Linux逻辑卷管理(LVM)详解

    Linux 逻辑卷管理(LVM,Logical Volume Manager)是一种先进的磁盘分区管理技术,它允许系统管理员在不中断服务的情况下动态调整分区大小,解决了传统分区方式的局限性。LVM 提供了一种灵活的方式来组织和管理存储...

    linux实验——LVM逻辑卷管理器.doc

    Linux LVM(Logical Volume Manager,逻辑卷管理器)是一种先进的磁盘管理技术,它允许管理员在物理硬盘之上创建逻辑卷,这些逻辑卷可以跨越多个硬盘,提供更大的灵活性和可扩展性。通过LVM,我们可以轻松地调整卷的...

    Linux逻辑卷管理(LVM).rar

    Linux逻辑卷管理(LVM,Logical Volume Manager)是Linux操作系统中一种高级的磁盘管理工具,它允许系统管理员在物理磁盘和分区之上创建虚拟的存储设备,这些虚拟设备被称为逻辑卷。LVM的主要目标是提供更灵活的磁盘...

    linux-逻辑卷管理器 LVM

    逻辑卷管理器 LVM 逻辑卷管理器 LVM 是一种动态磁盘管理机制,它可以将底层物理硬盘抽象封装起来,以逻辑卷的形式表现给上层系统。逻辑卷的大小可以动态调整,而且不会丢失现有数据。新加入的硬盘也不会改变现有...

    学习LVM逻辑卷管理.doc

    总的来说,LVM逻辑卷管理极大地提升了Linux系统中磁盘管理的灵活性和可扩展性,无论是对于日常的数据存储还是应对突发性的存储需求,都能提供强大的支持。通过熟练掌握LVM的使用,系统管理员可以更好地优化资源分配...

    linux LVM逻辑卷管理

    linux LVM 逻辑卷管理 红帽子的官网教程PPT

    lvm逻辑卷管理PPT

    Linux 逻辑卷管理(LVM,Logical Volume Manager)是一种先进的磁盘管理技术,它允许管理员在物理磁盘和分区之上创建灵活、可扩展的存储空间。LVM的主要优点在于其动态扩展和缩减卷的能力,以及对存储资源的优化管理...

    LVM逻辑卷管理

    ### LVM逻辑卷管理 #### 一、LVM概述及优势 LVM(Logical Volume Manager,逻辑卷管理器)是一种用于Linux系统中的磁盘管理技术,它可以提供比传统分区更灵活的磁盘空间管理方式。LVM使得管理员能够更加轻松地调整...

    Linux系统逻辑盘卷管理LVM详细介绍

    Linux系统逻辑盘卷管理LVM(Logical Volume Manager)是一种先进的磁盘管理机制,它为Linux环境提供了更加灵活的磁盘分区方案。LVM允许管理员在物理磁盘和分区之上创建一个逻辑层,使得磁盘管理和扩展变得更加简单。...

    逻辑卷管理(LVM)的深入讨论

    逻辑卷管理(LVM,Logical Volume Manager)是一种高级的磁盘管理技术,它为操作系统提供了更加灵活和可扩展的存储管理方案。LVM的核心理念是将物理磁盘的存储空间抽象化,形成逻辑上的存储单元,从而实现对磁盘空间...

    LVM(逻辑卷管理)

    **LVM(逻辑卷管理)**是Linux操作系统中一种先进的磁盘管理技术,它允许管理员在物理硬盘之上创建逻辑存储单元,以实现更灵活的磁盘空间管理和数据存储。LVM将物理硬盘组织成卷组(Volume Group),然后在卷组上...

Global site tag (gtag.js) - Google Analytics