Linux生态系统提供了各种开源文件系统软件,使得可以轻松地安排一个文件系统设置,从而让用户能够控制自己的数据。卷管理对于管理磁盘空间至关重要,它利用存储虚拟化来分区和组织数据,以便用户可以高效地使用它。
LVM和ZFS是Linux上卷管理的两个主要选择,但它们在范围和性能上有显著差异。在这篇文章中,小编将主要介绍LVM和ZFS之间的主要区别,以及哪种选项最适合你的卷管理需求。
什么是LVM?
逻辑卷管理器(Logical Volume Manager),简称LVM,它是Linux内核的卷管理工具。Linux用户将其与文件系统一起运行以执行关键任务,例如磁盘分配、镜像、条带化和调整逻辑卷大小。
LVM主要优势在于它能够动态调整大小,因此用户可以在文件系统运行时为磁盘分配更多空间。LVM自20世纪90年代末以来就已推出,并且与大多数现代Linux发行版兼容。
LVM工作原理
LVM将一个或多个硬盘驱动器分配给物理卷(PV),然后将这些物理卷(/boot除外)组合成卷组(VG)和单独的逻辑卷(LV)。一般可以使用以下命令创建这三个元素:
- 对于物理组使用:pvcreate
- 对于卷组,请使用:vgcreate
- 对于逻辑卷,请使用:lvcreate
逻辑卷有助于动态调整卷大小。LVM可以在不中断系统的情况下通过添加或更换磁盘来管理硬盘场。此外,它还可以在个人计算级别有效地调整文件系统的大小。
LVM还通过定期执行逻辑卷快照来保护数据完整性,并通过使用单个密码加密多个物理分区来确保安全性。LVM可以包含RAID功能并支持RAID 1、5和6。
LVM发展历史
Heinz Mauelshagen,一位曾在Sistina Software工作(现在在RedHat工作)的软件工程师,于1998年编写了最初的LVM代码。他是LVM1的主要架构师/开发人员,后来成为LVM2开发的团队主导设备映射器。LVM代码基于惠普Unix操作系统的卷管理器。
LVM主要特性
LVM具有用于大规模管理PV、VG和LV的基本和高级功能。以下是一些值得注意的功能,可供参考:
- 可以在线调整卷组和逻辑卷的大小。
- 通过添加或弹出物理卷来调整VG的大小。
- 通过链接或缩短LV的组成范围来调整LV的大小。
- LVM还允许你在PV之间移动LV。
- LVM使用写时复制,可以创建只读或读/写快照来保护数据。
- 以使用RAID功能创建具有条带化部分或整个逻辑卷(LV)的LV。
- LVM高级用户可以创建混合卷,利用闪存驱动器和其它快速存储的容量为硬盘驱动器创建缓存。
- LVM和LVM2有一个设备映射器。该框架是Linux内核的一部分,它将物理块设备映射到虚拟块设备。
什么是ZFS?
ZFS是一种当代的Linux文件系统,它具有包含卷管理器的额外优势。它目前由Orcale, Inc. 所有,但开源版本OpenZFS深受Linux用户欢迎。
ZFS可以从多个物理存储设备(包括硬盘和存储卡)汇集和管理数据。它将数据聚合到一个zpool中,然后对其进行组织,以便操作系统高效使用。与其它文件系统一样,ZFS通过最先进的数据保护技术来管理存储的数据和文件,以保持数据完整性。
ZFS发展历史
Sun Microsystems开发了ZFS作为其Solaris操作系统的文件系统。2005年,Sun Microsystems将Solaris操作系统(包括ZFS)开源。一群开发人员将ZFS移植到Linux,形成了OpenZFS。与此同时,Sun Microsystems将Solaris出售给Oracle,后者继续开发自己的ZFS版本作为商业产品。
ZFS主要特点
ZFS是最先进的Linux文件系统之一,添加集成的卷管理器使其更加强大和适应性更强。它广泛用作服务器和其它企业应用程序的文件系统,其主要特点包括:
- ZFS是Linux用户可用的最大文件系统容量之一,它几乎可以无限扩展,同时提供高标准的数据完整性和保护。其16 exbibytes(264字节)文件大小是可用的最大文件大小。
- ZFS很不寻常,因为它将卷管理与文件系统集成在一起。这意味着它可以完成基本文件系统无法完成的各种与卷相关的任务。此外,它提供对数据的精细管理控制,包括管理分层存储和缓存、数据压缩和重复数据删除,以实现最大的操作系统速度和性能。
- ZFS具有较高的读/写效率,这得益于其先进的卷管理,它会自动写入文件系统中可用磁盘空间最多的区域。
尽管ZFS具有很大的容量和文件大小,但它在整个文件系统中保持了高度的数据完整性。它使用以下方法来保护数据免受损坏或磁盘故障的影响:
- 快照:ZFS使用整个系统的频繁快照,如果发现数据损坏,将回滚到最近的快照。
- 校验和:校验和用于检测错误或损坏,并在必要时对较早的正确数据进行修订。
- RAID-Z:一种专有的RAID形式,可提供有针对性且高效的系统磁盘条带化。
LVM与ZFS区别比较
LVM是Linux 领先的卷管理器之一,与文件系统一起用于动态调整系统磁盘空间的大小。ZFS是文件系统和卷管理器的组合。这是一个主要区别,因为ZFS会全面组织和管理你的数据。LVM不是文件系统,而是在与文件系统不同的层中运行来执行磁盘管理。以下是LVM与ZFS二者之间的区别比较。
LVM | ZFS | |
---|---|---|
中文名称 | 逻辑卷管理器 | 日志文件系统和卷管理器 |
主要用途 | Linux内核的磁盘空间管理 | Linux文件系统 |
编写语言 | C语言 | C语言 |
构思时间 | 1998年 | 2001年 |
最大卷大小 | 每个逻辑卷(LV)有165,536个物理区块(PE) | 256万亿yobibytes(2的128次方字节) |
最大文件大小 | 16 exbibytes(264字节) | 16 exbibytes(264字节) |
最大文件名大小 | 每个逻辑卷最多64个字符,总共126个字符(卷组名称+逻辑卷名称) | 255个ASCII字符 |
属性 | 支持 | 支持 |
写时复制 (CoW) | 支持 | 支持 |
有影响力的开发者 | Heinz Mauelshagen,Sistina Software,IBM,甲骨文 | AT&T,Sun Microsystems,Oracle,OpenZFS |
开源性 | 是 | 是(OpenZFS) |
受影响的技术 | Linux、Ubuntu、红帽、Fedora | OpenSolaris、illumos发行版、OpenIndiana、FreeBSD、Mac OS X Server、NetBSD、Linux |
LVM与ZFS:10个需要了解的事实
- 逻辑卷管理器与文件系统并行运行,提供了易用、灵活的磁盘空间管理。
- LVM不是文件系统。
- Sun Microsystems最初开发了Zettabyte文件系统(ZFS)作为Solaris操作系统的一部分。
- LVM有助于将多个单独的硬盘驱动器或磁盘分区聚合到单个卷组(VG)中。然后,你可以将卷组作为单个大卷或更小的逻辑卷(LV)进行管理。
- ZFS和LVM都使用写入时复制(COW),这是一种资源管理技术,在修改或更新源数据时保留原始数据的副本。
- 逻辑卷可以包含整个文件系统,例如ext3或ext4。
- 用户可以动态调整ext3和ext4文件系统的大小,使其成为LVM的理想选择。
- 用户可以扩展或减少逻辑卷中的磁盘空间量。
- ZFS创建zpool,将来自多个物理磁盘的数据作为统一存储池进行管理。
- ZFS将其存储池组织并呈现为虚拟设备(vdev)。
LVM与ZFS哪一个更好?
LVM或ZFS的选择取决于你的文件系统需求。
如果你有ext3或ext4等文件系统并且需要卷管理器,那么LVM是理想的附加组件,因为它能够与文件系统有效地配合使用。
然而,如果你还计划升级文件系统,ZFS是目前最先进的Linux文件系统之一。添加一个卷管理器意味着你可以放心地让ZFS管理你的数据,以实现最大的效率。
LVM和ZFS的流行替代品
一些最流行的用于Linux卷管理的LVM和ZFS替代方案包括:
- BTRFS(B树文件系统):这个较新的文件系统提供了许多与ZFS相同的功能,如快照、压缩和RAID支持。
- F2FS(Flash-Friendly文件系统):F2FS专为闪存设备设计,比传统文件系统具有更好的性能和耐久性水平化。
- XFS(扩展文件系统):这个高性能文件系统提供了良好的可伸缩性和可靠性,通常用于高端服务器和工作站。
- JFS(日志文件系统):这个日志文件系统提供了良好的性能和可靠性,通常用于桌面和服务器系统。
当然,最适合你的选择将取决于你的具体需求和要求。
常见问题整理
什么是卷管理器?
卷管理器是一种虚拟化技术,用于在大容量存储设备上分配空间。它比传统的磁盘分区具有更大的灵活性,因为它可以以多种方式组合、集中或条带存储的数据,使系统管理员可以在不影响系统功能的情况下实时调整或配置数据。卷管理器管理以下格式的数据:
- 物理卷 :这些是硬盘或硬盘分区和外部存储设备;
- 物理扩展:组成物理卷的连续数据序列;
- 逻辑扩展:映射物理扩展的逻辑扩展;
- 卷组:包含多个逻辑扩展的卷组。
通过汇总逻辑扩展,卷管理器可以创建称为逻辑卷的虚拟磁盘分区,其大小各不相同。卷管理器可以以各种方式使用逻辑卷,包括用作交换存储或挂载文件系统。
什么是设备映射器?
设备映射器是Linux内核用于虚拟化的框架,它将各种物理块设备映射到虚拟块设备,供包括LVM、RAID、快照和磁盘加密在内的应用程序使用。
什么是校验和?
校验和是从较大的数据块中取出的一个相对较小的数据块,用于比较以检测可能存在的错误。基于算法的校验和功能查找样本数据的总和或值的差异,以查找可能表示错误的微小变化。卷管理器和文件系统使用校验和来保持数据的完整性。
如何向LVM添加新的逻辑卷?
随着时间的推移,大多数Linux用户发现LVM易于掌握。按照以下基本步骤添加新的逻辑卷到LVM中:
- 添加任何你希望由LVM管理的物理存储设备,如硬盘。
- 从整个硬盘或仅分区中创建新的物理卷(PV)。
- 可以将新的物理卷添加到现有的卷组(VG)中,或者可以创建一个新的VG。
- 可以从新的卷组创建新的逻辑卷(LV)。
- 可以在创建的LV上安装文件系统,使用适当的挂载条目挂载文件系统。
什么是快照?
快照只是文件系统在某个时间点的状态,它不是数据的完整备份,但可以用于将数据回滚到特定点以保持其完整性。LVM和ZFS使用一种写时复制快照,速度非常快。