Linux磁盘管理:LVM逻辑卷基本概念及LVM的工做原理

转载:http://www.cnblogs.com/xiaoluo501395377/archive/2013/05/22/3093405.html html

这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工做原理!!!windows

1、传统的磁盘管理服务器

其实在Linux操做系统中,咱们的磁盘管理机制和windows上的差很少,绝大多数都是使用MBR(Master Boot Recorder)都是经过先对一个硬盘进行分区,而后再将该分区进行文件系统的格式化,在Linux系统中若是要使用该分区就将其挂载上去便可,windows的话其实底层也就是自动将全部的分区挂载好,而后咱们就能够对该分区进行使用了。spa

可是这种传统的磁盘管理常常会带来不少的问题,好比说当咱们使用的一个分区,其空间大小已经再也不够用了,这个时候咱们没有办法经过拉伸分区来进行分区扩充,固然目前也有其余第三方的磁盘管理软件能够进行磁盘的分区空间划分,可是这样会给咱们的文件系统形成很大的伤害,有时会致使文件系统崩溃等问题。对于传统的磁盘管理若是说咱们碰到当分区大小不足的时候,咱们只能经过增长新的硬盘,而后在新的硬盘上建立分区,对分区进行格式化之后,而后将以前分区的全部东西都拷贝到新的分区里面才行。可是新增长的硬盘是做为独立的文件系统存在的,原有的文件系统并无获得任何的扩充,上层应用只能访问到一个文件系统。这样的方式对我的的电脑来讲可能还能接受,可是若是对于生产环境下的服务器来讲,这是不可接受的。由于若是要把一个分区的内容都拷贝到另外一个分区上去,势必要首先卸载掉以前的那个分区,而后*对整个分区进行拷贝,若是服务器上运行着一个重要的服务,好比说WWW或者FTP,其要求是 7*24 小时运行正常的,那么卸载掉分区这是不可想象的,同时若是该分区保存的内容很是很是的多,那么在对分区进行转移时时间可能会耗费好久,因此,这个时候咱们就会受到传统磁盘管理的限制,由于其不可以进行动态的磁盘管理。所以,为了解决这个问题,LVM技术就诞生了!!!操作系统

2、LVM的磁盘管理orm

正是由于传统的磁盘管理不能对咱们的磁盘空间进行动态的管理,所以就诞生出了LVM这个技术,那么LVM究竟是什么呢?它又是怎么对磁盘进行管理的呢?htm

LVM(Logical volume Manager)是逻辑卷管理的简称。它是Linux环境下对磁盘分区进行管理的一种机制。如今不只仅是Linux系统上可使用LVM这种磁盘管理机制,对于其它的类UNIX操做系统,以及windows操做系统都有相似与LVM这种磁盘管理软件。blog

LVM的工做原理其实很简单,它就是经过将底层的物理硬盘抽象的封装起来,而后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,咱们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其经过对底层的硬盘进行封装,当咱们对底层的物理硬盘进行操做时,其再也不是针对于分区进行操做,而是经过一个叫作逻辑卷的东西来对其进行底层的磁盘管理操做。好比说我增长一个物理硬盘,这个时候上层的服务是感受不到的,由于呈现给上次服务的是以逻辑卷的方式。图片

LVM最大的特色就是能够对磁盘进行动态管理。由于逻辑卷的大小是能够动态调整的,并且不会丢失现有的数据。咱们若是新增长了硬盘,其也不会改变现有上层的逻辑卷。做为一个动态磁盘管理机制,逻辑卷技术大大提升了磁盘管理的灵活性!!!get

3、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。这个就是咱们的第一步操做。

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空余空间的大小就好了!!

相关文章
相关标签/搜索