1. 什么是LVM
-------------------------------------------------------------------------------------------------------
LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是对磁盘分区进行管理的一种机制, LVM是建立在硬盘和分区之上的一个逻辑层,用来提高磁盘管理的灵活性.通过LVM可将若干个 磁盘分区连接为一个整块的卷组(Volume Group),形成一个存储池.可以在卷组上随意创建逻辑 卷(Logical Volumes),并进一步在逻辑卷上创建文件系统.
2. LVM的作用
-------------------------------------------------------------------------------------------------------
通过LVM可以方便的调整存储卷的大小,并且可以对磁盘存储按照组的方式进行命名、管理和 分配,例如按照使用用途进行定义:”development”和”data”,而不是使用物理磁盘名”sda”和 “sdb”.当系统添加了新的磁盘,通过LVM可以直接扩展文件系统跨越该磁盘, 而不必将文件移动 到新的磁盘上.
3. 基本概念
--------------------------------------------------------------------------------------------------------
●物理卷pv(Physical Volume)
物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,
但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数.
●卷组vg(Volume Group)
卷组由物理卷组成,类似于非LVM系统中的物理硬盘,可以在卷组上创建一个或多个"LVM分区"(逻辑卷).
●逻辑卷lv(Logical Volume)
LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等).
●PE(Physical Extent)
每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的
最小单元.PE的大小是可配置的,默认为4MB.
●LE(Logical Extent)
逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位.在同一个卷组中,LE的大小和
PE是相同的,并且一一对应.
和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷 组相关的元数据也是保存在位于物理卷起始处的VGDA(卷组描述符区域)中.VGDA包括以下内容: PV描述符、VG描述符、LV描述符、和一些PE描述符 .
系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置.当系统进行I/O操作 时,就会根据VGDA建立的映射机制来访问实际的物理位置.
4. 安装LVM
-------------------------------------------------------------------------------------------------------------
确定系统中是否安装了lvm工具:
# rpm -qa | grep lvmlvm2-2.02.72
如果命令结果类似于上例,说明系统已经安装了LVM管理工具;如果命令没有输出则说明没有安装LVM管理工具,则需要从网络下载或者从光盘装LVM rpm工具包.
为了使用LVM,要确保在系统启动时激活LVM,RedHat发行版在启动时已经具有对激活LVM的 支持,在/etc/rc.d/rc.sysinit中有以下内容:
if [ -x /sbin/lvm ]; thenaction quot;Setting up Logical Volume Management:" /sbin/lvm vgchange -a y --sysinitfi
5. 创建和管理LVM
---------------------------------------------------------------------------------------------------
要创建一个LVM系统,一般需要经过以下步骤:
5.1、创建分区
使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是一样的,区别 仅仅是LVM的分区类型为8e.
# fdisk -l /dev/sdcDevice Boot Start End Blocks Id System/dev/sdc1 1 128 1028128+ 8e Linux LVM/dev/sdc2 129 256 1028160 8e Linux LVM/dev/sdc3 257 391 1084387+ 8e Linux LVM
5.2、pv阶段
5.2.1创建物理卷 创建物理卷的命令为pvcreate,利用该命令将希望添加到卷组的所有分区或者磁盘创建为物理卷.
# pvcreate /dev/sdc[1,2,3]Physical volume "/dev/sdc1" successfully createdPhysical volume "/dev/sdc2" successfully createdPhysical volume "/dev/sdc3" successfully created
5.2.2查看物理卷,通过pvs命令你可以列出系统上所有的物理卷。
如果使用pvdisplay,你可以得到有关物理卷的更详细的信息。
5.3、vg阶段
5.3.1 创建卷组,创建卷组的命令为vgcreate,将使用pvcreate建立的物理卷创建为一个完整的卷组:
# vgcreate vg1 /dev/sdc1 /dev/sdc2 /dev/sdc3
vgcreate命令第一个参数是指定该卷组的逻辑名:vg1.后面参数是指定希望添加 到该卷组的所有分区和磁盘.vgcreate在创建卷组 vg1 以外,还设置使用大小为4MB 的PE(默认为4MB),这表示卷组上创建的所有逻辑卷都以 4MB 为增量单位来进行扩充或缩减.我们可以使用-s指定PE大小。
5.3.2查看卷组 通过vgs命令你可以列出系统上所有的卷组。
,如果使用vgdisplay命令,你可以得到有关卷组更详细的信息。
5.4、lv阶段
5.4.1创建逻辑卷 创建逻辑卷的命令为lvcreate:
#lvcreate -n data -L 1000 vg1
该命令就在卷组vg1上创建名字为data,大小为1000M的逻辑卷。这里我们使用大写L直接指定逻辑卷大小,你也可以使用小写l跟PE数量指定逻辑卷大小。
# lvcreate -n data1 -l 250 vg1
5.4.2查看逻辑卷,通过lvs可以列出系统上所有的逻辑卷。
如果使用lvdisplay,你可以得到有关逻辑卷的更详细的信息。
# lvdisplay /dev/vg1/data | grep "LV Size"LV Size 1000.00 MiB# lvdisplay /dev/vg1/data1 | grep "LV Size"LV Size 1000.00 MiB
由于一个PE大小为4M,在创建data1逻辑卷的时候我们指定250个PE,所以大小也是1000M。
5.4.3逻辑卷的使用
逻辑卷创建了文件系统以后,就可以挂载并使用它:
# mkfs.ext3 /dev/vg1/data# mkdir /var/wwwroot# mount /dev/vg1/data /var/wwwroot
如果希望系统启动时自动加载文件系统,则还需要在/etc/fstab中添加内容.
新闻热点
疑难解答