首页 > 代码库 > LVM逻辑卷管理

LVM逻辑卷管理

                          LVM逻辑卷管理

                                            作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

  

  在生产环境中,我们可能遇到过很多存储的一系列问题,比如说你有磁盘做的是RAID5,并在线上跑着数据,时时刻刻都会存取数据,但是发现在使用2个月后磁盘剩余空间不足10%,你有当如何处理呢?可能我们能干的事情就得告诉用户,几点至几点需要维护服务器啥的,更换新的硬盘再供用户使用,但是长期这样也不是很好的办法,你想想,如果在生产环境中服务证跑着,发现磁盘空间不足的时候,我给他动态的扩容点不就好了么,也不用停机维护啥的,这个就是我们今天要学习的LVM(逻辑卷管理,即:Logical Volume Manager),它支持动态的扩容,能帮我们干很多的事情呢。而且它还有个神奇的功能,就是快照。
 
  那么它是如何实现的呢?这就得了解一下它的工作原理了,其实就是内核的dm模块将物理磁盘(Physical Volume,物理卷),用该软件将这些不同的物理磁盘磨合成一块磁盘,让用户感觉像一个设备,我们通常叫它卷组(Volume Group,卷组),这个卷组会将物理设备提供的空间再次分割成各个独立的块,这个块要比我们文件系统中的块要大得多,然而比较不幸的是这个卷组不能直接被用户使用。需要重新划分新的卷(它会将物理卷划分的块用来创建新的分区),这个最终划分的卷才能被被用户使用,我们称之为逻辑卷(Logical Volume,逻辑卷),也就是说,逻辑卷是可以被格式化并挂载使用的单独使用的设备,这是别md模块更高级的组织模式!其实数据最终还是存到物理硬盘上去了,不过有点就是让你的逻辑卷可以动态变大(扩容)活变小(但是最好别让其变小,理论上是可以的,但是数据的才是最重要的,如果在压缩的过程中出现了任何问题都是会有风险的),生产环境中,一般都是RAID和LVM一起用的,我在之前的一家公司将3个1T的磁盘做成RAID5,然后将这个设备又做成LVM,最终用于公司的samba共享了。
 
 1 #!/usr/bin/env python
 2 #_*_coding:utf-8_*_
 3 #@author :yinzhengjie
 4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
 5 #EMAIL:y1053419035@qq.com
 6 
 7 ‘‘‘
 8 基本概念
 9     Logical Volume Manager
10         ** 多个物理分区/磁盘 ==> 组合成一个整体 ==>划分逻辑存储单位,即逻辑卷
11         ** 逻辑分区的大小可以根据需要扩大、缩减
12         ** /boot 用来存放引导文件,不能使用LVM逻辑卷(启动时会找不到内核)
13 
14     PV(Physical Volume,物理卷):
15     物理分区,或整个物理磁盘
16     由PE(Physical Extent,基本单元)组成        【PE默认4MB】
17     VG(Volume Group,卷组)
18     一个或多个物理卷组成的逻辑整体
19     LV(Logical Volume,逻辑卷)
20     从卷组中分割出的一块逻辑存储空间
21     经过格式化可建立文件系统
22 
23 ‘‘‘

  注意:逻辑卷不能直接使用!也是需要格式化,格式化的过程就是指定文件系统。

 
 
 
 
 
 
 
 

 

LVM逻辑卷管理