对于Linux用户而言,在安装一台Linux机器的时候,遇到的问题之一就是给各分区估计和分派足够的硬盘空间。无论对一个正在为服务器寻找空间的系统管理员,还是一个磁盘即将用尽的普通用户来说,这都是一个非常常见的问题。一般我们会想到解决的方法是:
1. 挂接一个新的硬盘,然后使用符号链接,链接到新的硬盘。
2. 利用一些调整分区大小的工具(比如Pqmagic),进行无损伤数据分区。
一、问题的提出
但是,这些都只是暂时性的解决办法,而且都需要让机器停止运行或者持续很长时间的分区工作而不能正常提供服务。即使缓解了硬盘空间问题,不久,仍然会面临同样的问题。
这对于一个大型站点来说,有着数量众多的客户、又连接在互联网上,只要你的服务器关机一分钟,都会给公司带来很大损失。此外,使用这种方法,在修改了分区 表之后,每一次都得重新启动系统。因此,我们可以采用新技术LVM(逻辑卷管理程序)可以帮助我们解决这些问题。
二、什么是LVM
LVM(Logical Volume Manager,逻辑卷管理器)是一种把硬盘驱动器空间分配成逻辑卷的方法,使硬盘不必使用分区也能被简单地重新划分大小。传统上,一个分区大小是静态 的。假如一个用户在这个分区上没有空间时,他要么重新分区(这可能要求整个操作系统重装),要么像符号连接一样使用组装机。
使用LVM,硬盘驱动器或硬盘驱动器集合就会分配给一个或多个物理卷(physical volumes)。物理卷被合并成逻辑卷组(logical volume group),惟一例外的是/boot分区。由于物理卷无法跨越一个以上驱动器,如果想让逻辑卷组跨越一个以上驱动器,就应该在驱动器上创建一个或多个物 理卷。逻辑卷组被分成逻辑卷(logical volumes),被分配了挂载点(如/home和/),以及文件系统类型(如ext3)。当“分区”达到了它们的极限,逻辑卷组中的空闲空间就可以被添 加给逻辑卷来增加分区的大小。当某个新的硬盘驱动器被添加到系统上,它也可以被添加到逻辑卷组中,逻辑卷是可以扩展的分区。 由于LVM允许在机器的物理存储资源以外创建逻辑卷,并且逻辑卷可以在系统仍处于运行状态时扩充和缩减,所以就为Linux系统管理员提供了他们梦寐以求 的存储器灵活性。
LVM的作用:LVM 的实际运作情形则根据作法不同,而有所差异;但 LVM 通常包括实体储存分群(physical storage grouping)、重设逻辑扇区大小(logical volume resizing)、以及数据转移(data migrating)。
三、LVM的历史
当然,LVM并不是最新技术,早在UNIX操作系统时代,像HP,IBMAIX上就可以看到VM的身影,作为IBM的旗舰产品,AIX很早就支持了动态逻 辑分区(DVM),当然,它的DVM设计是比较厉害的,此后在AIX 5L中,重构了UNIX内核,增加了逻辑卷管理(LVM)和日志文件系统(JFS)等功能。使之AIX更加强大。在各种商业UNIX系统中,譬如 AIX,HP-UNIX,Tru64 UNIX等系统中,逻辑卷管理已经被广泛采用,成了事实上的一个标准。
LVM 的功能于2.3 内核发展中版本纳入支持。2001年1月,Linux 2.4.0内核发布,开始正式支持逻辑卷管理,使得Linux新内核更适应于服务器的应用。以前版本的Linux必须要在内核上打上相应的补丁才到实现 LVM功能。现在,我们看到从Redhat Linux 9.0已经在内核级支持LVM。因此,我们可以使用LVM来帮助我们更加有效的管理磁盘。
来源: http://www.5dmail.net/html/2008-10-8/2008108233904.htm
第 4章 . 逻辑卷管理器(LVM)
4.1. LVM 是什么?
LVM 是一种把硬盘驱动器空间分配成逻辑卷的方法,这样硬盘就不必使用分区而被简易地重划大小。
使用 LVM,硬盘驱动器或硬盘驱动器集合就会分配给一个或多个物理卷( physical volumes )。物理卷无法跨越一个以上驱动器。
物理卷被合并成 逻辑卷组(logical volume group) ,唯一的例外是 /boot/ 分区。 /boot/ 分区不能位于逻辑卷组,因为引导装载程序无法读取它。如果你想把 / 分区放在逻辑卷上,你需要创建一个分开的 /boot/ 分区,它不属于卷组的一部分。
由于物理卷无法跨越多个驱动器,如果你想让逻辑卷组跨越多个驱动器,你就应该在每个驱动器上创建一个或多个物理卷。
逻辑卷组被分成 逻辑卷(logical volumes) ,它们被分配了挂载点(如 /home 和 / ),以及文件系统类型(如 ext3)。当“分区”达到了它们的极限,逻辑卷组中的空闲空间就可以被添加给逻辑卷来增加分区的大小。当某个新的硬盘驱动器被添加到系统上,它可以被添加到 逻辑卷组中,逻辑卷是可以扩展的分区。
另一方面,如果系统使用 ext3 文件系统来分区,硬盘驱动器将被分隔成指定大小的分区。如果某分区被填满,要扩展该分区的大小并不那么容易。即便某分区被移到另一个硬盘驱动器上,原来的硬盘驱动器空间必须得被重新分配为不同的分区或不被使用。
LVM 支持必须被编译入内核。默认的红帽内核中已编译入了 LVM 支持。
来源: http://oss.org.cn/ossdocs/gnu_linux/redhat/rhel-sag-zh_cn-3/ch-lvm-intro.html