LinuxLVM逻辑卷配置过程详解(创建,增加,减少,删除,卸
载)
Linux LVM逻辑卷配置过程详解
许多Linux使⽤者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,⼀旦系统分区不够⽤时可能不得不备份、删除相关数据,甚⾄被迫重新规划分区并重装操作系统,以满⾜应⽤系统的需要。
免费给孩子起名字LVM是Linux环境中对磁盘分区进⾏管理的⼀种机制,是建⽴在硬盘和分区之上、⽂件系统之下的⼀个逻辑层,可提⾼磁盘分区管理的灵活性。RHEL5默认安装的分区格式就是LVM逻辑卷的格式,需要注意的是/boot分区不能基于LVM创建,必须独⽴出来。
张嘉译走路⼀.LVM原理
要想理解好LVM的原理,我们必须⾸先要掌握4个基本的逻辑卷概念。
①PE  (Physical Extend)  物理拓展
②PV  (Physical Volume)  物理卷
③VG  (Volume Group)  卷组
④LV  (Logical Volume)  逻辑卷
我们知道在使⽤LVM对磁盘进⾏动态管理以后,我们是以逻辑卷的⽅式呈现给上层的服务的。所以我们所有的操作⽬的,其实就是去创建⼀个LV(Logical Volume),逻辑卷就是⽤来取代我们之前的分区,我们通过对逻辑卷进⾏格式化,然后进⾏挂载操作就可以使⽤了。那么LVM的⼯作原理是什么呢?所谓⽆图⽆真相,咱们下⾯通过图来对逻辑卷的原理进⾏解释!!
1.将我们的物理硬盘格式化成PV(Physical Volume)
我们看到,这⾥有两块硬盘,⼀块是sda,另⼀块是sdb,在LVM磁盘管理⾥,我⾸先要将这两块硬盘格式化为我们的PV(Physical Volume),也就是我们的物理卷,其实格式化物理卷的过程中LVM是将底层的硬盘划分为了⼀个⼀个的PE(Physical Extend),我们的LVM磁盘管理中PE 的默认⼤⼩是4M⼤⼩,其实PE就是我们逻辑卷管理的最基本单位。⽐如说我有⼀个400M的硬盘,那么在将其格式化成PV的时候,其实际就是将这块物理硬盘划分成了100个的PE,因为PE默认的⼤⼩就是4M。这个就是我们的第⼀步操作。
f4不和2.创建⼀个VG(Volume Group)
在将硬盘格式化成PV以后,我们第⼆步操作就是创建⼀个卷组,也就是VG(Volume Group),卷组在这⾥我们可以将其抽象化成⼀个空间池,VG的作⽤就是⽤来装PE的,我们可以把⼀个或者多个PV加到VG当中,因为在第⼀步操作时就已经将该硬盘划分成了多个PE,所以将多个PV加到VG⾥⾯后,VG⾥⾯就存放了许许多多来⾃不同PV中的PE,我们通过上⾯的图⽚就可以看到,我们格式化了两块硬盘,每个硬盘分别格式化成了3个PE,然后将两块硬盘的PE都加到了我们的VG当中,那么我们的VG当中就包含了6个PE,这6个PE就是两个硬盘的PE之和。通常创建⼀个卷组的时候我们会为其取⼀个名字,也就是该VG的名字。
3.基于VG创建我们最后要使⽤的LV(Logical Volume)
【注意】PV以及VG创建好以后我们是不能够直接使⽤的,因为PV、VG是我们逻辑卷底层的东西,我们其实最后使⽤的是在VG基础上创建的LV(Logical Volume),所以第三步操作就是基于VG来创建我们最终要使⽤的LV。
当我们创建好我们的VG以后,这个时候我们创建LV其实就是从VG中拿出我们指定数量的PE,还是拿上图来说,我们看到我们此时的VG⾥⾯已经拥有了6个PE,这时候我们创建了我们的第⼀个逻辑卷,它的⼤⼩是4个PE的⼤⼩,也就是16M(因为⼀个PE的默认⼤⼩是4M),⽽这4个PE有三个是来⾃于第⼀块硬盘,⽽另外⼀个PE则是来⾃第⼆块硬盘。当我们创建第⼆个逻辑卷时,它的⼤⼩就最多只有两个PE的⼤⼩了,因为其中的4个PE已经分配给了我们的第⼀个逻辑卷。
所以创建逻辑卷其实就是我们从VG中拿出我们指定数量的PE,VG中的PE可以来⾃不同的PV,我们可以创建的逻辑卷的⼤⼩取决于VG当中PE存在的数量,并且我们创建的逻辑卷其⼤⼩⼀定是PE的整数倍(即逻辑卷的⼤⼩⼀定要是4M的整数倍)。
4.将我们创建好的LV进⾏⽂件系统的格式化,然后挂载使⽤
在创建好LV以后,这个时候我们就能够对其进⾏⽂件系统的格式化了,我们最终使⽤的就是我们刚创建好的LV,其就相当于传统的⽂件管理的分区,我们⾸先要对其进⾏⽂件系统的格式化操作,然后通过mount命令对其进⾏挂载,这个时候我们就能够像使⽤平常的分区⼀样来使⽤我们的逻辑卷了。
我们在创建好LV以后,我们会在 /dev ⽬录下看到我们的LV信息,例如 /dev/vgname/lvname,我们每创建⼀个VG,其会在/dev⽬录下创建⼀个以该VG名字命名的⽂件夹,在该VG的基础上创建好LV以后,我们会在这个VG⽬录下多出⼀个以LV名字命名的逻辑卷。
下⾯我们来对整个LVM的⼯作原理进⾏⼀个总结:
(1)物理磁盘被格式化为PV,空间被划分为⼀个个的PE
(2)不同的PV加⼊到同⼀个VG中,不同PV的PE全部进⼊到了VG的PE池内
(3)LV基于PE创建,⼤⼩为PE的整数倍,组成LV的PE可能来⾃不同的物理磁盘
(4)LV直接可以格式化后挂载使⽤
(5)LV的扩充缩减实际上就是增加或减少组成该LV的PE数量,其过程不会丢失原始数据
我们看到,我们这⾥如果要对LV进⾏扩充,直接加进来⼀块sdc硬盘,然后将其格式化成PE,然后将该PV加⼊到了VG当中,这个时候我们就可以通过增加LV中PE的数量来动态的对LV进⾏扩充了,只要我们的LV的⼤⼩不要超过我们VG空余空间的⼤⼩就⾏!
⼆、创建LVM逻辑卷
熟悉了LVM的⼯作原理,⾸先是要将我们的物理硬盘格式化成PV,然后将多个PV加⼊到创建好的VG中,最后通过VG创建我们的LV。
三、拉伸⼀个逻辑卷
我们知道相⽐于传统磁盘管理⽅式的各种问题,使⽤LVM逻辑卷来管理我们的磁盘,我们可以对其进⾏动态的管理。在传统的磁盘管理⽅式中,我们如果出现分区⼤⼩不⾜的情况下,我们此时只能通过加⼊⼀块物理硬盘,然后对其进⾏分区,因为加⼊的硬盘作为独⽴的⽂件系统存在,所以对原有分区并没有影响,如果此时我们需要扩⼤分区,就只能先将之前的分区先卸载掉,然后将所有的信息转移到新的分区下,最后再将新的分区挂载上去,如果是在⽣产环境下,这样是不可想象的,正因为如此,
我们才出现了LVM的磁盘管理⽅式,可以动态的对我们的磁盘进⾏管理。
新闻专业大学排名
我们⾸先来看下动态拉伸⼀个逻辑卷的⽰意图:
我们从上图可以看到,我们在对逻辑卷进⾏拉伸时,其实际就是向逻辑卷中增加PE的数量,⽽PE的数量是由VG中剩余PE的数量所决定的。
【注意:】逻辑卷的拉伸操作可以在线进⾏,不需要卸载掉我们的逻辑卷
这样的好处就是当我们的逻辑卷的⼤⼩不够⽤时,我们不需要对其进⾏卸载,就可以动态的增加我们的逻辑卷的⼤⼩,并不会对我们的系统产⽣任何影响。例如如果我们的服务器上运⾏着⼀个重要的服务或者数据库,并要求我们7*24⼩时不间断保持在线,那么这样的动态增加逻辑卷的⼤⼩就⾮常的有必要了。
接下来我们来看看拉伸逻辑卷的步骤:
因为我们的逻辑卷的拉伸操作是可以在线进⾏的,所以这⾥我们先将逻辑卷挂载上,并在使⽤情况下动态的拉伸我们的逻辑卷
四.实验环境:
⾸先从空的硬盘sdb上创建两个分区sdb1 1G,sdb2 2G. 为接下来做LVM做准备.
为了后期便于维护管理,记得给分区加上标⽰,这样即使你不在的情况下,别⼈看到标⽰了就不会轻易动这块区域了. LVM的标识是8e,设置完成后记得按w保存
1、创建逻辑卷
将新创建的两个分区/dev/sdb1 /dev/sdb2转化成物理卷,主要是添加LVM属性信息并划分PE存储单元.
创建卷组 vgdata ,并将刚才创建好的两个物理卷加⼊该卷组.可以看出默认PE⼤⼩为4MB,PE是卷组的最⼩存储单元.可以通过 –s参数修改⼤⼩。
从物理卷vgdata上⾯分割500M给新的逻辑卷lvdata1.
使⽤4命令在逻辑卷lvdata1上创建ext4⽂件系统.
将创建好的⽂件系统/data1挂载到/data1上.(创建好之后,会在/dev/mapper/⽣成⼀个软连接名字为”卷组-逻辑卷”)
便于以后服务器重启⾃动挂载,需要将创建好的⽂件系统挂载信息添加到/etc/fstab⾥⾯.UUID可以通过 blkid命令查询.
为了查看/etc/fstab是否设置正确,可以先卸载逻辑卷data1,然后使⽤mount –a 使内核重新读取/etc/fstab,看是否能够⾃动挂载.
2、逻辑卷lvdata1不够⽤了,如何扩展。
给逻辑卷增加空间并不会影响以前空间的使⽤,所以⽆需卸载⽂件系统,直接通过命令lvextend –L +500M /dev/vgdata/lvdata1或者lvextend –l 2.5G /dev/vgdata/lvdata1 给lvdata1增加500M空间(lvdata1⽬前是2G空间)设置完成之后,记得使⽤resize2fs命令来同步⽂件系统。3、当卷组不够⽤的情况下,如何扩⼤卷组
重新从第⼆块硬盘上创建⼀个分区sdb3,具体操作步骤省略。并将创建好的分区加⼊到已经存在的卷组vgdata中。通过pvs命令查看是否成功。
4、当硬盘空间不够⽤的情况下,如果减少逻辑卷的空间释放给其他逻辑卷使⽤。
减少逻辑卷空间,步骤如下
1、先卸载逻辑卷data1
2、然后通过e2fsck命令检测逻辑卷上空余的空间。
3、使⽤resize2fs将⽂件系统减少到700M。
4、再使⽤lvreduce命令将逻辑卷减少到700M。
注意:⽂件系统⼤⼩和逻辑卷⼤⼩⼀定要保持⼀致才⾏。如果逻辑卷⼤于⽂件系统,由于部分区域未格式化成⽂件系统会造成空间的浪费。如果逻辑卷⼩于⽂件系统,哪数据就出问题了。
完成之后,就可以通过mount命令挂载重新使⽤了。
5、如果某⼀块磁盘或者分区故障了如何将数据快速转移到相同的卷组其他的空间去。
1、通过pvmove命令转移空间数据
2、通过vgreduce命令将即将坏的磁盘或者分区从卷组vgdata⾥⾯移除除去。
3、通过pvremove命令将即将坏的磁盘或者分区从系统中删除掉。
4、⼿⼯拆除硬盘或者通过⼀些⼯具修复分区。修杰楷 康熙来了
沈玉琳前女友
6、删除整个逻辑卷
1、先通过umount命令卸载掉逻辑卷lvdata1
2、修改/etc/fstab⾥⾯逻辑卷的挂载信息,否则系统有可能启动不起来。
3、通过lvremove 删除逻辑卷lvdata1
4、通过vgremove 删除卷组vgdata
5、通过pvremove 将物理卷转化成普通分区。
删除完了,别忘了修改分区的id标识。修改成普通Linux分区即可。
总结:LVM逻辑卷是Linux⾥⾯⼀个很棒的空间使⽤机制,因为分区在没有格式化的情况下是没有办法加⼤或者放⼩的。通过LVM可以将你的磁盘空间做到灵活⾃如。