LVM逻辑卷管理

本文发布时间: 2019-Mar-22
一、LVM的基本概念在对磁盘进行分区大小规划时,有时往往不能确定这个分区要使用的总空间大小,而用fdisk对磁盘分区后,每个分区的大小已经固定了,如果分区设置的过大,就白白浪费了磁盘空间,而分区设置的过小,就会导致空间不够用的情形,此时最常见的方法是重新划分磁盘分区,或者通过软连接的方式将此分区的目录链接到另一个分区,虽然能临时解决问题,但是给管理带来了麻烦。如何能解决这些问题呢,LVM是一个不错的方法。LVM,是Logical Volume Manager的缩写,中文意思是逻辑卷管理,它是linux下对磁盘分区进行管理的一种机制,LVM是建立在磁盘分区和文件系统之间的一个逻辑层,管理员利用LVM可以在磁盘不用重新分区的情况下动态的调整分区的大小。如果系统新增了一块硬盘,通过LVM就可以将新增的硬盘空间直接扩展到原来的磁盘分区上。二、 LVM的使用术语通过LVM技术,屏蔽了磁盘分区的底层差异,在逻辑上给文件系统提供了一个卷的概念,然后在这些卷上建立相应的文件系统,在认识LVM之前,先熟悉下LVM中几个常用的术语,在LVM中主要涉及以下几个概念。 物理存储设备(physical media):指系统的存储设备文件,比如:/dev/sda、/dev/hdb等等。 物理卷(physical volume):简称PV,是指硬盘分区或者从逻辑上看起来和硬盘分区类似的设备(比如RAID设备)。 卷组(Volume Group):简称VG,类似与非LVM系统中的物理硬盘,一个LVM卷组有一个或者多个物理卷组成。 逻辑卷(logical volume):简称LV,类似与非LVM系统上的硬盘分区,LV建立在VG上,可以在LV上创建文件系统。 PE(physical extent):PV中可以分配的最小存储单元称为PE,PE的大小是可指定的,默认为4M。 LE(logical extent):LV中可以分配的最小存储单元称为LE,在同一个卷组中,LE的大小和PE是一样的,且一一对应。说明:1.PV可以看作是硬盘上的分区(多个硬盘的大小、型号可以不同)2.将前多个PV组成了一个卷组VG3.卷组VG上划分了两个逻辑卷LV1和LV24. 在逻辑卷LV1、LV2上创建文件系统,分别用来挂载/home等分区三、 安装LVM工具通过下面的命令确认LVM是否已经安装:[root@localhost ~]# rpm -qa|grep lvmlvm2-2.02.16-3.el5system-config-lvm-1.0.22-1.0.el5如果有类似上面的输出,就说明系统中已经安装了LVM,如果没有任何输出,则说明系统中还没有安装LVM,可以从系统安装光盘或者网络上找到对应的rpm包安装即可,安装方法这里不在讲述。现在默认的linux发行版本内核一般都支持LVM,因此只要安装好LVM工具,即可使用LVM提供的强大功能。LVM的管理命令:四、 LVM的创建与管理我们创建LVM是从物理分区-物理卷-卷组-逻辑卷-挂载到目录这个顺序来的第一步:划分物理分区 和刚才的命令一样fdisk /dev/sdX x表示a或者b 代表第一块或者第二块硬盘用n创建分区,在保存之前用t来改变分区的的ID号.82是交换分区,83是主分区,5是扩展分区,需要指定分区类型为linux LVM 为8e,(LVM也能识别linux默认的分区类型83)这样就可以用w保存退出。用partprobe命令使其立即生效。[root@localhost ~]# fdisk -l /dev/sdb /dev/sdc //查看分区情况注意,这里仅仅是进行了分区操作,磁盘分区还没有进行格式化。第二步:创建LVM的物理卷pvcreate /dev/sdxx sdxx就是刚才创建的分区。pvdisplay可以显示已经创建好的物理卷。第三步:创建卷组#vgcreate 卷组名 物理卷(磁盘,分区皆可)如:#vgcreate VolGroup01 /dev/sdxx 创建卷组可以用vgdisplay来显示已经存在的卷组卷组创建完毕后,可以通过vgchange命令激活卷组,而无需重启系统。Vgchange使用格式如下:vgchange -a y 卷组名 (激活卷组)vgchange -a n 卷组名 (停用卷组)这里我们激活卷组myvg1和myvg2,使用如下命令:[root@localhost ~]# vgchange -a y VolGroup010 logical volume(s) in volume group "myvg1" now active第四步:创建逻辑卷 (重点)语法:Lvcreate [-L 逻辑卷大小| -l PE数 ] -n 逻辑卷名 卷组名-L:后面接逻辑卷的大小,可以用K、M、G表示。例如100M、10G等-l:用PE数来计算逻辑卷的大小。我就从卷组里面分100M出来创建一个逻辑卷# lvcreate -L 1G -n ceshi VolGroup00#lvcreate -l 256 -n ceshi VolGroup00同样可以用lvdisplay来显示存在的逻辑卷第五步:格式化、挂载逻辑卷mkfs.ext3 /dev/VolGroup00/ceshi 其中mkfs.ext3与mkfs -t exte功能一样mkdir /lpcmount -t ext3 /dev/VolGroup00/ceshi /lpc/然后进入这个目录,能够看见lost+fount目录就成功了这个逻辑卷使用fdisk -l 是查看不到的,只有使用lvdisplay 查看如果要查看这个逻辑卷挂在到哪了,可以使用mount 查看到这里为止,新增的磁盘设备已经可以使用了,如果要开机自动挂载,编辑/etc/fstab文件,加上新增的三个逻辑分区即可。更高级的操作:逻辑卷的拉伸缩减以及卷组的拉伸。1.添加新的物理卷到卷组添加新的物理卷到卷组的命令为vgextend,使用格式为:vgextend 卷组名 新加入的物理卷现在要把新增的硬盘分区加入到卷组myvg2,操作如下:#vgdisplay VolGroup00|grep "Free PE" #首先检查VolGroup00卷是否有空闲空间由输出可知,空间全部用完。Free PE / Size 0 / 0# pvcreate /dev/sdd1 #先将/dev/sdd1转换为物理卷Physical volume "/dev/sdd1" successfully created# vgextend VolGroup00 /dev/sdd1 #将新增物理卷添加到卷组VolGroup00中Volume group " VolGroup00" successfully extended# vgdisplay VolGroup00|grep "Free PE" #此时剩余卷组空间还有4G,刚好是新增物理卷的大小Free PE / Size 1023 / 2.00 GB2.修改逻辑卷的大小LVM最主要的功能就是能动态的调整分区的大小,其实也就是修改逻辑卷的大小,修改逻辑卷需要用到的命令有lvextend(扩展逻辑卷)、lvreduce(缩减逻辑卷)以及ext2resize(修改文件系统大小),下面分别进行介绍。lvextend与lvreduce的使用格式类似,如下所示:lvextend [-L (+size) –l (+PE数)] 逻辑卷名称lvreduce [-L (-size) –l (-PE数)] 逻辑卷名称-L:“+size”表示给逻辑卷空间增加指定的大小,“-size”表示给逻辑卷空间缩减指定的大小。size表示将逻辑卷增加(lvextend)或缩减(lvreduce)到指定的空间大小。例如“+300”表示将逻辑卷空间增大300M,“-2G”表示将逻辑卷的空间缩减2G。-l:与“-L”用法相同,不同的是“-l”选项用PE数来表示逻辑卷的大小。ext2resize的使用格式如下:ext2resize 设备文件或逻辑卷 空间大小修改逻辑卷分为扩充逻辑卷大小和减小逻辑卷大小两种情况,下面依次介绍。(1)扩充逻辑卷空间扩充逻辑卷大小的一般步骤为: 1.利用扩展逻辑卷命令lvextend扩展逻辑卷空间 2.卸载已经挂载的逻辑卷分区 3.利用ext2resize指令修改文件系统大小以实现空间扩充 4.挂载扩充后的逻辑卷分区在上个小节中,我们给卷组VolGroup00增加了一个新的物理卷,现在要将新增的物理卷空间扩充到逻辑卷mylv2中,操作如下:首先扩充逻辑卷mylv2的大小,执行以下命令:# # lvextend -L +1G /dev/VolGroup00/ceshiExtending logical volume ceshi to 1.0 GBLogical volume ceshi successfully resized注意,“-l”选项后面的“+567”代表的是增加的PE数,这个值是在上个小节中通过命令“vgdisplay VolGroup00|grep "Free PE"”得到的,当然这里也可以使用“-L +1G”来代替“-l +256”。接下来的工作是卸载/dev/VolGroup00/ceshi分区,为修改文件系统大小做准备。#umount /dev/mapper/VolGroup00-ceshi或者执行 umount /lpc (mount查看得到)修改文件系统大小的工具是ext2resize指令,这个指令可能不包含在某些linux发行版中,Redhat Linux就默认没有这个命令,因此需要先安装这个指令对应的rpm包,下载类似ext2resize-1.1.19-1.i386.rpm的rpm文件,安装即可。[root@localhost ~]# rpm -ivh ext2resize-1.1.19-1.i386.rpmPreparing... ###########################[100%]1:ext2resize ##########################[100%]安装完毕,系统就会出现一个ext2resize指令,利用这个指令修改文件系统的大小。第三步,修改文件系统大小,执行如下命令:[root@localhost ~]# ext2resize /dev/VolGroup00/ceshiext2resize v1.1.18 - 2001/03/18 for EXT2FS 0.5b由于已经将扩展的分区加入到逻辑卷mylv2中,因此上面的操作其实就是刷新逻辑卷,使更改生效。最后,挂载逻辑卷到文件系统即可,执行如下命令:[root@localhost ~]# mount ext2resize /dev/VolGroup00/ceshi /lpc[root@localhost ~]# df -h |grep lpcFilesystem Size Used Avail Use% Mounted on/dev/mapper/VolGroup00-ceshi 3.9G 68M 3.6G 2% /lpc可以看到,逻辑卷/dev/myvg2/mylv2的空间已经增加到3.9G,动态扩展逻辑卷成功。(2)减小逻辑卷的空间减小逻辑卷的一般步骤为: 卸载已经挂载的逻辑卷分区 利用ext2resize指令修改文件系统大小以实现空间缩减 利用减小逻辑卷命令lvreduce减小逻辑卷空间 挂载缩减后的逻辑卷分区假定我们要对上面的逻辑卷/dev/VolGroup00/ceshi缩减3G的空间,可以这么操作。首先卸载逻辑卷/dev/VolGroup00/ceshi分区:umount /lpc然后用ext2resize指令缩减文件系统大小:ext2resize /dev/VolGroup00/ceshi 1G //剩余空间为1G或者1024M(只能为整数)接着利用lvreduce指令缩减逻辑卷/dev/VolGroup00/ceshi到1G,执行此步骤主要目的是将缩减的空间从/dev/VolGroup00/ceshi释放,从而可以供其它逻辑卷使用。[root@localhost ~]# lvreduce -L -3G /dev/VolGroup00/ceshi #缩减逻辑卷/dev/VolGroup00/ceshi到1GWARNING: Reducing active logical volume to 3.00 GBTHIS MAY DESTROY YOUR DATA (filesystem etc.)Do you really want to reduce mylv2? [y/n]: y #这里输入yReducing logical volume mylv2 to 1.00 GBLogical volume mylv2 successfully resized[root@localhost ~]# ext2resize /dev/myvg2/mylv2 #将修改结果加载到文件系统ext2resize v1.1.18 - 2001/03/18 for EXT2FS 0.5bext2resize: new size is same as current (2883584)最后,重新挂载逻辑卷/dev/VolGroup00/ceshi[root@localhost ~]# mount /dev/VolGroup00/ceshi /lpc #挂载逻辑卷分区到/lpc目录 [root@localhost ~]# df -h|grep lpc #查看挂载情况,可以看到,逻辑卷分区已经缩减到1GFilesystem Size Used Avail Use% Mounted on/dev/VolGroup00/ceshi 1008M 147M 924M 2% /lpc注意ext2resize后的1G是目标大小,即减小为多大(剩余空间大小),lvreduce命令-L参数后的-3G是指减少多少(减去文件大小),完成后可以用lvdisplay命令查看。注意:减小LV可能会造成数据丢失,所以先要做一次全备份,然后卸载掉文件系统,再进行操作。3.如何删除物理卷、卷组和逻辑卷我们创建LVM是从物理分区-物理卷-卷组-逻辑卷-挂载到目录这个顺序来的删除当然像反安装一样,反着来就行1)先是取消挂载umount /lpc2)然后就是删除LVMlvremove /dev/VolGroup00/ceshi3)然后就删除卷组vgremove VolGroup004)然后删除物理卷pvremove /dev/sdxx5)最后就是删除物理分区了fdisk /dev/sdx 用d删除分区,w保存结果,partprobe立即生效,这样的话LVM就完全删除掉了。


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:11pm
栏目列表