LVM 和 LUN 有什么区别

LVM 和 LUN 有什么区别

两者似乎都是物理磁盘上的虚拟化层。我很难理解它们中的每一个以及它们之间的区别。

答案1

不同的抽象层次。

如果您有一个大型存储阵列,您可能不希望一台服务器使用整个阵列,因此您可以将其划分为逻辑单元(LUN 实际上是逻辑单元号,但它有助于我记忆)。这样,您就将存储划分为可用的块,现在将其呈现给服务器。举一个简单的例子,假设它显示为 /dev/sdb。就服务器而言,它上面没有分区,只是一个磁盘。

为什么要在上面添加 LVM?对我来说,这是因为增长。如果我填满了该磁盘,我希望能够为其添加更多空间。LVM 使它更容易并且(在我看来)风险更小,因为我可以在存储阵列上调整该 LUN 的大小(甚至可以创建另一个 LUN 并将其呈现给服务器),并且使用 LVM,我可以扩展“虚拟”磁盘而无需重新启动。

我在这里写了关于 LVM 的介绍:http://www.standalone-sysadmin.com/blog/2008/09/introduction-to-lvm-in-linux/

我在这里讨论调整 LUN 大小时引用了以下内容:http://www.standalone-sysadmin.com/blog/2009/05/resizing-storage-luns-in-linux-on-the-fly/

答案2

LVM 是一种用于将磁盘(通常是本地连接的磁盘)“划分”成较小部分的软件。

LVM 是一种将硬盘空间分配到可以轻松调整大小的逻辑卷(而不是分区)的方法。

LUN 是一种构造,通常在存储阵列上,通过它将磁盘阵列/卷的“切片”呈现给主机,它通过某种连接(通常是 SAN(iSCSI/FC))显示为物理连接的本地磁盘。

例如,如果您向主机提供了 LUN,则可以使用 LVM 进一步自定义系统认为的本地磁盘的布局。

LUN 是逻辑单元号。它可用于指代整个物理磁盘,或更大物理磁盘或磁盘卷的子集。物理磁盘或磁盘卷可以是整个单个磁盘驱动器、单个磁盘驱动器的分区(子集)或来自 RAID 控制器的磁盘卷,该控制器由多个磁盘驱动器聚合在一起以实现更大容量和冗余度组成。LUN 表示物理磁盘设备/卷和应用程序之间的逻辑抽象,或者,如果您愿意的话,表示虚拟化层。

答案3

LUN 通常是磁盘阵列级别的参考,指的是已格式化并分配给特定服务器或服务器组的原始磁盘空间量。它可能分布在多个物理磁盘上,但磁盘阵列会将其作为单个“逻辑”驱动器呈现给目标服务器。

LVM 代表“逻辑卷管理器”,通常是操作系统软件的一部分,位于分配给服务器的原始 LUN 之上。LVM 允许您在 LUN 上执行各种任务,例如将 LUN 细分为较小的逻辑卷、将它们分组为卷组、在 LUN 之间执行磁盘镜像等。

答案4

LUN 是一个 SCSI 概念(“逻辑单元号”)。

SCSI 有“目标”,对应于控制器。目标可能连接有多个“逻辑单元”。例如,假设一个 JBOD 连接了一堆磁盘。它可以选择将这些磁盘作为 LUN 呈现在单个目标上。

存储阵列通常会将多个磁盘的 RAID 作为单独的 LUN 呈现;您会得到一个看起来像大磁盘但受 RAID 保护的接口。

LVM 是一个更高层次的概念,它将逻辑上的“放置文件系统的东西”与“物理磁盘”分离。您当然可以实现一个“LVM 控制器”,它接收一堆磁盘,在内部执行某种形式的 LVM,并将生成的驱动器作为 SCSI 目标上的 LUN 呈现。这在更高级的存储阵列上非常常见。

但是,LUN 不一定是任何 LVM 的结果!它可能只是一个物理磁盘。

相关内容