逻辑卷管理器有哪些好处[关闭]


11

除了其Wikipedia页面上详述的功能之外,Logical Volume Manager的功能和潜在的好处是什么?


1
至于反对什么?真的,这个问题太含糊了。怪不得投票了。
Nandhini Anand 2011年

请详细说明您的选择。
Ori

1
哇-重提这个问题,马特·西蒙斯(Matt Simmons)给出了很好的答案!
dunxd 2011年

1
为了完整
起见

Answers:


33

直接从我的博客条目中获取:http : //www.standalone-sysadmin.com/blog/2008/09/introduction-to-lvm-in-linux/

首先,让我们讨论没有LVM的生活。过去的日子不好过,您有硬盘驱动器。该硬盘驱动器可能具有分区。您可以在这些分区上安装文件系统,然后使用这些文件系统。上山和下山。看起来很像这样:

您已经有了实际的驱动器,在本例中是sda。在该驱动器上有两个分区sda1和sda2。还有一些未使用的可用空间。每个分区上都有一个已安装的文件系统。实际的文件系统类型是任意的。您可以将其称为ext3,reiserfs或您拥有的东西。需要注意的重要一点是,磁盘分区和可能的文件系统之间存在直接的一对一关联。

让我们添加一些逻辑卷管理来重新创建完全相同的结构:

现在,您将看到相同的分区,但是在分区上方有一个称为“卷组”的层,实际上是一组卷,在这种情况下是磁盘分区。将此视为可以分区的虚拟磁盘可能是可以接受的。由于我们完全匹配先前的配置,因此您还没有看到系统的优势。您可能会注意到,在卷组上方,我们创建了逻辑卷,可以将其视为虚拟分区,并且在这些逻辑卷上构建了文件系统。

让我们看看添加多个物理卷时会发生什么:

在这里,我们有三个物理磁盘,sda,sdb和sdc。前两个磁盘中的每个磁盘都有一个分区,该分区占用了整个空间。最后一个sdc具有一个分区,该分区占据了磁盘的一半,而剩余的一半则为未分区的可用空间。

我们可以在该卷组上方看到该卷组,其中包括所有当前可用的卷。这是最大的卖点之一。您可以构建与磁盘总数一样大的逻辑分区。在许多方面,这与RAID级别0的工作方式类似,不同之处在于根本没有条带化。数据大部分是线性写入的。如果您需要冗余或RAID提供的性能提高,请确保将逻辑卷放在RAID阵列的顶部。RAID片的工作方式与物理磁盘完全相同。

现在,我们有了这个卷组,它占用2和1/2个磁盘。它已划分为两个逻辑卷,第一个逻辑卷大于任何一个磁盘。逻辑卷并不在乎实际的物理磁盘有多大,因为它们只看到它们是从myVolumeGroup01中分离出来的。正如我们将看到的,这一抽象层很重要。

如果我们因为添加了更多用户而决定需要未使用的空间,该怎么办?

如果使用一对一的映射,通常情况下我们会有些痛苦,但是对于逻辑卷,可以执行以下操作:

在这里,我们已经使用了/ dev / sdc上以前的可用空间,并创建了/ dev / sdc2。然后,我们将其添加到组成myVolumeGroup01的卷的列表中。完成后,我们可以根据需要自由扩展任何一个逻辑卷。由于添加了用户,因此我们增加了myLogicalVolume2。到那时,只要文件系统/ home支持它,我们就可以自由扩展它以填充额外的空间。完全是因为我们从存储所在的物理磁盘中提取了存储。

好的,这涵盖了逻辑卷管理的基本原因。因为我敢肯定您渴望了解更多有关如何准备和构建自己的系统的信息,所以这里有一些非常好的资源可以帮助您入门:

http://www.pma.caltech.edu/~laurence/Linux/lvm.html
http://www.freeos.com/articles/3921/
http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html


2
+1可提供出色的描述和可视化效果。
混乱的守护进程

5

您可以使用LVM对磁盘做很多事情。主要好处是可以快速增长文件系统。假设您要设置一个日志服务器,并且您知道将来会有大量数据。Ext3最大支持16TB(更多取决于您的内核和EL版本)。但是,如果您知道两年后需要1PB的存储空间,该怎么办?好吧,这会带来一些问题。首先,当您告诉老板那个存储硬件的价格时,您的老板会用鹿的眼神看着您。这带来了另一个问题-您需要从一个可以向上扩展的小型解决方案开始。LVM为您提供了该选项。您从几个磁盘开始。然后添加更多文件,将它们变成一个逻辑组,将它们添加到第一个逻辑卷,增加卷的大小,最后扩展文件系统。瞧,你

这使您不必将数据移出设备,重新格式化LUN,然后再移回所有内容以执行升级。简短起见,很抱歉,希望如此。

编辑:我还应该注意,如果您要处理1PB,则不想使用Ext3 ...可能是XFS。


我真的不购买LVM作为从16 TB扩展到1 PB的机制-您确实需要ZFS或类似的功能来启用“精简配置”,即您现在创建的ZFS存储池总计约1 PB,但是它只有部分支持通过实际的存储块。随着增长,您只需在同一池中添加存储。使用LVM,您每次添加存储时都会花费大量时间调整FS的大小并执行fsck。
RichVel

4

LVM有许多间接好处。LVM的主要作用是将物理磁盘从操作系统中分离出来。这样做的主要好处就是灵活性。LVM的大多数优点只有在拥有支持动态调整大小的文件系统时才能实现。LVM的基本操作如下所述:

系统分区位于磁盘上方一层

如果没有LVM,Linux将使用物理上位于磁盘上的分区。分区是直接的设备名称。分区表驻留在MBR中,并且通常(在逻辑扩展分区的情况下)驻留在扩展引导记录中(允许您创建更多的分区)。分区定义大小类型除其他属性外(更具体地说,它们定义了一个开始和结束圆柱体,它们实际上定义了尺寸)。由于它们与磁盘紧密相连,因此在安装时设置“正确的”分区方案非常重要。如果突然之间,机器功能发生了变化,或者您是新手并且不了解分区的含义,或者您低估了某处的磁盘使用情况或特定应用程序的日志,那么更改分区可能很麻烦。有一些工具可以执行此操作,但是通常需要将数据移出分区才能进行更改。显然,如果您有四个分区,则更改第二个分区结束柱面会影响第三个和第四个分区的起始柱面,因此您会陷入混乱的境地。

天真的人可能会提倡使用单个大分区,但是当您需要引入配额或隔离流氓进程以填满系统的某些部分(例如/ var / log,/ tmp等)时,您可能会被撤消。

这样做的好处是:

添加/删除存储

添加存储通常很简单。如果您使用的是硬件或软件RAID,并且添加了更多磁盘,则可能通常不得不摆弄符号链接来重建RAID阵列,以使Linux在所需的位置提供新的存储。

以大型/ home目录为例。存在于现有的两个磁盘RAID 1卷上。您想要再添加两个磁盘。您可以在硬件RAID 1配置中进行设置。没有LVM,您有两种选择:

  1. 以1 + 0的配置重建完整的RAID阵列,这需要将数据移出计算机,然后重建并重新移动。
  2. 创建一个单独的新RAID 1卷组。Linux已经在/ home上挂载了第一个RAID卷,因此您需要在/ home1或类似主机上挂载第二个RAID卷。现在,要获取与第一个用户一致的适当路径,您可能需要使用符号链接来获得相同的效果。此外,此解决方案还需要对原始RAID卷进行不断维护,并有可能从原始分区中迁移数据。

使用LVM,您可以简单地将新的RAID 1卷组添加到其他存储池中,调整文件系统的大小(如果它支持),瞧,/ home现在突然变大了。您无需进行任何符号链接或维护,就可以将数据从/ home移至/ home1或反之亦然。冲洗,清洗并重复以进行将来的磁盘升级。

在线维护

只要硬件支持,大多数LVM任务都可以在线完成,而无需重新启动计算机。如果可以在系统上热交换磁盘,则可以添加新磁盘,然后删除旧的(可能较小的)磁盘以增加系统存储需求。

LVM卷的主要问题之一是随着容量的增加,碎片化可能成为我的经验。卷大于90%,实际上大于95%可能意味着您最终会在磁盘上产生严重的碎片,具体取决于您的磁盘使用情况和文件类型。对于任何种类的卷/分区管理来说,都很少需要过度担心,而是在卷层而不是在分区上出现碎片。


好处的好答案,但在您的要点(2),我认为您的意思是“创建一个新的RAID 1卷...”而不是创建VG,因为这是在非LVM情况下,大概使用了如上所述的硬件RAID 。
RichVel

1

您应该已经提供了有关将要应用的情况的更多信息,这样我们可以提供有针对性的答案,而不是广泛的可能不相关的答案(我无法发表评论,否则我会在评论中说)。

现在到问题本身,您可以轻松地创建,调整大小和删除卷(又称分区),并且另一个不错的功能(取决于您的情况)是能够创建卷快照。


1

即使您已经被选为最佳答案,我也想对这个话题发表自己的看法。根据我的经验,如果您有一个物理驱动器或什至有多个驱动器,我会质疑LVM的有用性(我个人从未在系统驱动器上使用LVM)。但是,LVM真正不可或缺的是硬件RAID。这样可以清楚地区分RAID和LVM的功能-您使用RAID管理存储的可靠性和性能特征,并使用LVM向系统分配实际卷。有时,此功能重叠,即LVM可以提供RAID-0和RAID-1的功能,但是我不建议在任何认真的构建中使用这两者。

基本上,RAID和LVM属于同一类,使用一个不带另一个通常不是最佳选择。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.