RAID、LVM与ZFS的介绍

在本文章中,我们将讨论RAID、逻辑卷管理器(LVM)与ZFS技术,我们将介绍他们在实施中做得最​​好的一面,并检查他们的差异。我希望你就这三种技术有一个良好的基础,可以选择一个适合你项目的技术。

RAID

RAID代表独立磁盘冗余阵列,它基本上被开发为允许将许多廉价和小型磁盘组合成阵列以实现冗余目标,插入项目的一个巨大的磁盘驱动器无法实现冗余,即使阵列由多个磁盘组成,计算机也会将其视为一个驱动器或单个逻辑存储单元。

使用磁盘条带化(RAID级别0),磁盘镜像(RAID级别1)和带奇偶校验的磁盘条带化(RAID级别5)等技术,RAID能够实现冗余,更低的延迟,更高的带宽以及最大化的恢复能力硬盘崩溃。

您应该考虑在管理大量数据的项目中部署RAID的主要原因包括:

实现更好的速度。

使用单个虚拟磁盘增加存储容量。

最大限度地减少磁盘故障造成的数据丢失根据您的RAID类型,您将能够实现冗余,以便在发生数据丢失的情况下为您节省时间。

这种RAID技术有三种形式:固件RAID,硬件RAID和软件RAID,硬件RAID独立于主机处理其阵列,它仍然为主机提供每个RAID阵列的单个磁盘,它使用硬件RAID控制器卡,可以透明地处理操作系统的RAID任务,另一方面,软件RAID实现内核磁盘(块设备)代码中的各种RAID级别,并提供最便宜的解决方案,因为不需要昂贵的磁盘控制器卡或热插拔机箱,当前时代的CPU速度更快,因此软件RAID通常优于硬件RAID。

软件RAID的基本特征:

没有重建的Linux机器之间的阵列的可移植性。

使用空闲系统资源进行背景阵列重建。

热插拔驱动器支持。

自动CPU检测,以利用某些CPU功能,如流式SIMD支持。

自动纠正阵列中磁盘上的坏扇区。

定期对RAID数据进行一致性检查,以确保阵列的运行状况。

通过电子邮件警报主动监控阵列,并将其发送到重要事件的指定电子邮件地址。

写入意图位图通过允许内核精确地知道磁盘的哪些部分需要重新同步而不必重新同步整个数组,从而大大提高了重新同步事件的速度。

参考:第7章 使用RAID与LVM磁盘阵列技术

LVM

这是一个漂亮的逻辑卷管理器,LVM的独特之处在于抽象出各个磁盘驱动器的概念,并允许您作为管理员分割出“碎片”空间用作驱动器,它允许您将多个物理驱动器插入单个系统,然后灵活地增加和减少实时主机上的逻辑卷,您可以在将来添加其他物理驱动器并添加空间,而无需重新格式化或担心停止应用程序或卸载文件系统或关闭主机,这种灵活性使得与LVM一起工作如此顺畅。

LVM优于物理分区的优点:

  1. 灵活的容量

    使用逻辑卷时,文件系统可以扩展到多个磁盘,因为您可以将磁盘和分区聚合到单个逻辑卷中。

  2. 可调整大小的存储池

    您可以使用简单的软件命令扩展逻辑卷或减小逻辑卷的大小,而无需重新格式化和重新分区底层磁盘设备。

  3. 在线数据重定位

    要部署更新,更快或更具弹性的存储子系统,您可以在系统处于活动状态时移动数据,在磁盘正在使用时,可以在磁盘上重新排列数据,例如,您可以在删除之前清空热插拔磁盘。

  4. 方便的设备命名

    可以在用户定义的组和自定义命名组中管理逻辑存储卷。

  5. 磁盘条带化

    您可以创建一个跨两个或多个磁盘分条数据的逻辑卷,这可以显着提高吞吐量,使用lvcreate创建逻辑卷时,指定条带配置。

  6. 镜像卷

    逻辑卷提供了为数据配置镜像的便捷方法,尽管LVM过去并不支持这种,但是最新版本提供了它。

  7. 卷快照

    使用逻辑卷,您可以获取设备快照以进行一致的备份,或者在不影响实际数据的情况下测试更改的效果。

RAID和LVM之间的唯一区别是LVM不提供RAID提供的冗余或奇偶校验的任何选项。

ZFS

ZFS由Sun Microsystems for Solaris(由Oracle拥有)开发,但已被移植到Linux。

ZFS在这个领域是根本不同的,因为它不仅仅是一个文件系统,ZFS结合了文件系统和卷管理器的角色,可以将其他存储设备添加到实时系统,并立即在该池中的所有现有文件系统上提供新空间,它在一个软件包中执行LVM和RAID的功能,因此,ZFS能够克服先前的限制,阻止RAID组能够增长,结合卷管理器和文件系统的传统独立角色为ZFS提供了一组独特的优势。

传统上,文件系统一次可以在一个磁盘上创建,这意味着如果有两个磁盘,则必须创建两个文件系统,RAID通过为操作系统提供单个逻辑磁盘来避免此问题,该逻辑磁盘由许多物理磁盘组合提供的空间组成。然后操作系统将文件系统置于顶部,但是使用ZFS,文件系统可以识别底层磁盘结构,当将额外的磁盘添加到池中时,此感知使现有文件系统的自动增长成为可能,此外,在ZFS中,可以将许多不同的属性应用于每个文件系统,因此能够创建许多不同的文件系统和数据集而不是单个单片文件系统。

ZFS的功能:

  1. RAID-Z

    ZFS实现了RAID-Z,这是标准RAID-5的一种变体,它提供了更好的奇偶校验分配,并消除了“RAID-5写入漏洞”,其中数据和奇偶校验信息在断电时变得不一致。

  2. 冗余

    ZFS可以实现冗余,因为它支持三级RAID-Z,根据阵列中奇偶校验设备的数量以及池保持运行时可能发生故障的磁盘数量,这些类型被命名为RAID-Z1到RAID-Z3。

  3. 备用

    ZFS具有特殊的伪vdev类型,用于跟踪可用的热备件,请注意,已安装的热备件未自动部署,必须手动配置它们以使用zfs replace替换故障设备。

  4. L2ARC

    这是ZFS缓存系统的第二级,主要自适应替换缓存(ARC)存储在RAM中,由于可用RAM的数量通常有限,因此ZFS也可以使用缓存vdev(单个磁盘或一组磁盘),固态磁盘(SSD)通常用作这些缓存设备,因为它们具有更高的速度和更低的延迟。

  5. 镜像

    镜像由两个或更多设备组成,所有数据都将写入所有成员设备,镜像vdev只能保存与其最小成员一样多的数据,镜像vdev可以承受除其中一个成员之外的所有成员的失败而不会丢失任何数据。

  6. SSD混合存储池

    可以在ZFS存储池中添加高性能SSD以创建混合类型的池,这些高性能SSD可以配置为缓存,以保存经常访问的数据,以提高性能。

  7. 写入时复制

    ZFS使用Copy on Write技术检查磁盘上的数据一致性。

  8. 校验

    分配的每个块都使用per-dataset属性校验和算法fletcher2、fletcher4、sha25进行校验和,每个块的校验和在读​​取时都会透明地验证,从而允许ZFS检测静默损坏,如果读取的数据与预期的校验和不匹配,ZFS继续尝试从配置的冗余(例如镜像或RAID-Z)恢复数据。

参考:ZFS On Linux 0.8.0发布下载,附新功能和新特性介绍


相关主题
使用mdadm管理RAID阵列的基本方法

转载自:https://ywnz.com/linuxxw/5307.html

鄂ICP备14007840号-1