[转]在 Linux 下使用 RAID

转自:http://www.linuxidc.com/Linux/2015-08/122191.htm

RAID 的意思是廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),但现在它被称为独立磁盘冗余阵列(Redundant Array of Independent Drives)。早先一个容量很小的磁盘都是非常昂贵的,但是现在我们可以很便宜的买到一个更大的磁盘。Raid 是一系列放在一起,成为一个逻辑卷的磁盘集合。

在 Linux 中理解 RAID 设置

RAID 包含一组或者一个集合甚至一个阵列。使用一组磁盘结合驱动器组成 RAID 阵列或 RAID 集。将至少两个磁盘连接到一个 RAID 控制器,而成为一个逻辑卷,也可以将多个驱动器放在一个组中。一组磁盘只能使用一个 RAID 级别。使用 RAID 可以提高服务器的性能。不同 RAID 的级别,性能会有所不同。它通过容错和高可用性来保存我们的数据。

这个系列被命名为“在 Linux 下使用 RAID”,分为9个部分,包括以下主题:

  • 第1部分:介绍 RAID 的级别和概念
  • 第2部分:在Linux中如何设置 RAID0(条带化)
  • 第3部分:在Linux中如何设置 RAID1(镜像化)
  • 第4部分:在Linux中如何设置 RAID5(条带化与分布式奇偶校验)
  • 第5部分:在Linux中如何设置 RAID6(条带双分布式奇偶校验)
  • 第6部分:在Linux中设置 RAID 10 或1 + 0(嵌套)
  • 第7部分:增加现有的 RAID 阵列并删除损坏的磁盘
  • 第8部分:在 RAID 中恢复(重建)损坏的驱动器
  • 第9部分:在 Linux 中管理 RAID

这是9篇系列教程的第1部分,在这里我们将介绍 RAID 的概念和 RAID 级别,这是在 Linux 中构建 RAID 需要理解的。

软件 RAID 和硬件 RAID

软件 RAID 的性能较低,因为其使用主机的资源。 需要加载 RAID 软件以从软件 RAID 卷中读取数据。在加载 RAID 软件前,操作系统需要引导起来才能加载 RAID 软件。在软件 RAID 中无需物理硬件。零成本投资。

硬件 RAID 的性能较高。他们采用 PCI Express 卡物理地提供有专用的 RAID 控制器。它不会使用主机资源。他们有 NVRAM 用于缓存的读取和写入。缓存用于 RAID 重建时,即使出现电源故障,它会使用后备的电池电源保持缓存。对于大规模使用是非常昂贵的投资。

硬件 RAID 卡如下所示:

硬件 RAID

重要的 RAID 概念

  • 校验方式用在 RAID 重建中从校验所保存的信息中重新生成丢失的内容。 RAID 5,RAID 6 基于校验。
  • 条带化是将切片数据随机存储到多个磁盘。它不会在单个磁盘中保存完整的数据。如果我们使用2个磁盘,则每个磁盘存储我们的一半数据。
  • 镜像被用于 RAID 1 和 RAID 10。镜像会自动备份数据。在 RAID 1 中,它会保存相同的内容到其他盘上。
  • 热备份只是我们的服务器上的一个备用驱动器,它可以自动更换发生故障的驱动器。在我们的阵列中,如果任何一个驱动器损坏,热备份驱动器会自动用于重建 RAID。
  • 是 RAID 控制器每次读写数据时的最小单位,最小 4KB。通过定义块大小,我们可以增加 I/O 性能。

RAID有不同的级别。在这里,我们仅列出在真实环境下的使用最多的 RAID 级别。

  • RAID0 = 条带化
  • RAID1 = 镜像
  • RAID5 = 单磁盘分布式奇偶校验
  • RAID6 = 双磁盘分布式奇偶校验
  • RAID10 = 镜像 + 条带。(嵌套RAID)

RAID 在大多数 Linux 发行版上使用名为 mdadm 的软件包进行管理。让我们先对每个 RAID 级别认识一下。

RAID 0 / 条带化

条带化有很好的性能。在 RAID 0(条带化)中数据将使用切片的方式被写入到磁盘。一半的内容放在一个磁盘上,另一半内容将被写入到另一个磁盘。

假设我们有2个磁盘驱动器,例如,如果我们将数据“TECMINT”写到逻辑卷中,“T”将被保存在第一盘中,“E”将保存在第二盘,‘C‘将被保存在第一盘,“M”将保存在第二盘,它会一直继续此循环过程。(LCTT 译注:实际上不可能按字节切片,是按数据块切片的。)

在这种情况下,如果驱动器中的任何一个发生故障,我们就会丢失数据,因为一个盘中只有一半的数据,不能用于重建 RAID。不过,当比较写入速度和性能时,RAID 0 是非常好的。创建 RAID 0(条带化)至少需要2个磁盘。如果你的数据是非常宝贵的,那么不要使用此 RAID 级别。

  • 高性能。
  • RAID 0 中容量零损失。
  • 零容错。
  • 写和读有很高的性能。

RAID 1 / 镜像化

镜像也有不错的性能。镜像可以对我们的数据做一份相同的副本。假设我们有两个2TB的硬盘驱动器,我们总共有4TB,但在镜像中,但是放在 RAID 控制器后面的驱动器形成了一个逻辑驱动器,我们只能看到这个逻辑驱动器有2TB。

当我们保存数据时,它将同时写入这两个2TB驱动器中。创建 RAID 1(镜像化)最少需要两个驱动器。如果发生磁盘故障,我们可以通过更换一个新的磁盘恢复 RAID 。如果在 RAID 1 中任何一个磁盘发生故障,我们可以从另一个磁盘中获取相同的数据,因为另外的磁盘中也有相同的数据。所以是零数据丢失。

  • 良好的性能。
  • 总容量丢失一半可用空间。
  • 完全容错。
  • 重建会更快。
  • 写性能变慢。
  • 读性能变好。
  • 能用于操作系统和小规模的数据库。

RAID 5 / 分布式奇偶校验

RAID 5 多用于企业级。 RAID 5 的以分布式奇偶校验的方式工作。奇偶校验信息将被用于重建数据。它从剩下的正常驱动器上的信息来重建。在驱动器发生故障时,这可以保护我们的数据。

假设我们有4个驱动器,如果一个驱动器发生故障而后我们更换发生故障的驱动器后,我们可以从奇偶校验中重建数据到更换的驱动器上。奇偶校验信息存储在所有的4个驱动器上,如果我们有4个 1TB 的驱动器。奇偶校验信息将被存储在每个驱动器的256G中,而其它768GB是用户自己使用的。单个驱动器故障后,RAID 5 依旧正常工作,如果驱动器损坏个数超过1个会导致数据的丢失。

  • 性能卓越
  • 读速度将非常好。
  • 写速度处于平均水准,如果我们不使用硬件 RAID 控制器,写速度缓慢。
  • 从所有驱动器的奇偶校验信息中重建。
  • 完全容错。
  • 1个磁盘空间将用于奇偶校验。
  • 可以被用在文件服务器,Web服务器,非常重要的备份中。

RAID 6 双分布式奇偶校验磁盘

RAID 6 和 RAID 5 相似但它有两个分布式奇偶校验。大多用在大数量的阵列中。我们最少需要4个驱动器,即使有2个驱动器发生故障,我们依然可以更换新的驱动器后重建数据。

它比 RAID 5 慢,因为它将数据同时写到4个驱动器上。当我们使用硬件 RAID 控制器时速度就处于平均水准。如果我们有6个的1TB驱动器,4个驱动器将用于数据保存,2个驱动器将用于校验。

  • 性能不佳。
  • 读的性能很好。
  • 如果我们不使用硬件 RAID 控制器写的性能会很差。
  • 从两个奇偶校验驱动器上重建。
  • 完全容错。
  • 2个磁盘空间将用于奇偶校验。
  • 可用于大型阵列。
  • 用于备份和视频流中,用于大规模。

RAID 10 / 镜像+条带

RAID 10 可以被称为1 + 0或0 +1。它将做镜像+条带两个工作。在 RAID 10 中首先做镜像然后做条带。在 RAID 01 上首先做条带,然后做镜像。RAID 10 比 01 好。

假设,我们有4个驱动器。当我逻辑卷上写数据时,它会使用镜像和条带的方式将数据保存到4个驱动器上。

如果我在 RAID 10 上写入数据“TECMINT”,数据将使用如下方式保存。首先将“T”同时写入两个磁盘,“E”也将同时写入另外两个磁盘,所有数据都写入两块磁盘。这样可以将每个数据复制到另外的磁盘。

同时它将使用 RAID 0 方式写入数据,遵循将“T”写入第一组盘,“E”写入第二组盘。再次将“C”写入第一组盘,“M”到第二组盘。

  • 良好的读写性能。
  • 总容量丢失一半的可用空间。
  • 容错。
  • 从副本数据中快速重建。
  • 由于其高性能和高可用性,常被用于数据库的存储中。

结论

在这篇文章中,我们已经了解了什么是 RAID 和在实际环境大多采用哪个级别的 RAID。希望你已经学会了上面所写的。对于 RAID 的构建必须了解有关 RAID 的基本知识。以上内容可以基本满足你对 RAID 的了解。

在接下来的文章中,我将介绍如何设置和使用各种级别创建 RAID,增加 RAID 组(阵列)和驱动器故障排除等。

如何在Linux上构建 RAID 10阵列  http://www.linuxidc.com/Linux/2014-12/110318.htm

Debian软RAID安装笔记 - 使用mdadm安装RAID1 http://www.linuxidc.com/Linux/2013-06/86487.htm

常用RAID技术介绍以及示例演示(多图) http://www.linuxidc.com/Linux/2013-03/81481.htm

Linux实现最常用的磁盘阵列-- RAID5 http://www.linuxidc.com/Linux/2013-01/77880.htm

RAID0+1和RAID5的性能测试结果 http://www.linuxidc.com/Linux/2012-07/65567.htm

Linux入门教程:磁盘阵列(RAID) http://www.linuxidc.com/Linux/2014-07/104444.htm

时间: 2024-08-02 21:29:55

[转]在 Linux 下使用 RAID的相关文章

Linux学习之CentOS(二十八)--RAID原理基础及Linux下软件RAID配置

转自:http://www.cnblogs.com/xiaoluo501395377/archive/2013/05/20/3089554.html 本篇随笔将详细讲解RAID的原理基础以及Linux下软件RAID的配置 一.RAID的原理基础 在 讲解RAID的原理基础之前,我们首先来了解一下传统磁盘的劣势.我们知道一台PC机种都会包含CPU.内存.主板.硬盘.网卡等硬件,影响计算机性能的 组建包括:CPU.主板总线IO.内存IO.硬盘IO.网卡IO等.可能我们在一提到影响计算机的性能时,首先

在Linux下使用RAID(1):介绍 RAID 的级别和概念

RAID 的意思是廉价磁盘冗余阵列(Redundant Array of InexpensiveDisks),但现在它被称为独立磁盘冗余阵列(Redundant Array of Independent Drives).早先一个容量很小的磁盘都是非常昂贵的,但是现在我们可以很便宜的买到一个更大的磁盘.Raid 是一系列放在一起,成为一个逻辑卷的磁盘集合. AID 包含一组或者一个集合甚至一个阵列.使用一组磁盘结合驱动器组成 RAID 阵列或 RAID 集.将至少两个磁盘连接到一个 RAID 控制

linux下的Raid配置和管理

linux下的Raid配置和管理 一:实验环境 1):虚拟机 2):虚拟机上配置lingux系统 3):利用linux系统实现Raid的配置 4):在虚拟机中加入6快硬盘 二:实验目标 1):熟练掌握几种常用的Raid 2):对于Raid0 Raid1和Raid5三种Raid要熟练掌握配置命令 3):理解几种常用Raid的区别与用处 4):对几种不常用的Raid要做认识 5):理解并记住各Raid的实验要求 三:实验步骤 1):配置raid0 1:环境: 添加一个sdb硬盘,分两个1G的主分区.

linux下的raid及mdadm的命令详解

RAID被称为廉价的冗余磁盘阵列,这是由于在早期的磁盘很小,性能差,易损坏.所以RAID主要的做法就是把多个便宜的小磁盘组合到一个磁盘组,使性能和磁盘容量都可以达到相当于昂贵的磁盘性能. 根据RAID的组合方式不同,RAID又有不同的RAID LEVEL(这个级别仅代表磁盘组合方式不同,没有上下之分), raid级别分类: *  RAID 0: 也被称为条带模式,一个文件的数据通过控制芯片发向底层芯片存储到磁盘块时,把数据的大小分成每个具有一定大小的单位存储到并行的每个磁盘对应的位置,形成一个类

RAID原理基础及Linux下软件RAID配置

一.RAID的原理基础 在讲解RAID的原理基础之前,我们首先来了解一下传统磁盘的劣势.我们知道一台PC机种都会包含CPU.内存.主板.硬盘.网卡等硬件,影响计算机性能的组建包括:CPU.主板总线IO.内存IO.硬盘IO.网卡IO等.可能我们在一提到影响计算机的性能时,首先想到的就是CPU.但是随着计算机的发展,特别是对于现代的处理器来说,其运算速度已经是非常快的了,同时我们的内存IO速度也已经达到了非常快的地步了(差不多应该有5G每秒),而我们也知道数据都是保存硬盘上的,所以计算机其实是先将硬

Linux下实现RAID

一.实验目的 1.掌握Linux系统下软RAID的实现方法: 2.掌握RAID5的配置过程: 3. 通过实验熟悉RAID.5的特点. 二.实验内容及步骤 1.在VMware中创建一台Linux. 2.将该Linux添加4块虚拟磁盘(选择SCSI类型,2G). 3.在Linux中使用madam创建RAID5,三块磁盘做RAID5,一块磁盘做备盘. 4.格式化并挂载RAID5. 5.在RAID5中创建一些文件和文件夹以便故障检测用. 6.修改配置文件,让RAID5开机自动加载. 7.关闭系统. 8.

物理服务器Linux下软RAID和UUID方式挂载方法--Megacli64

一.业务部门需求说明:公司最近来了一批服务器,用于大数据业务部署.数据节点服务器由14块物理磁盘,其中有2块是900G的盘,12块是4T的盘.在服务器系统安装时,进入系统的BIOS界面:1)将2块900G的磁盘做成raid1用作系统盘:2)将其中的2块4T的磁盘做成raid1,分别挂载到/data1和/data2用作大数据日志存储:3)另外的10块4T的磁盘在系统安装时没做raid也没做分区,打算在系统安装后,登录到系统终端通过命令行进行直接进行10块盘的格式化,并分别挂载到/data3./da

linux下软RAID的实现

RAID: 常见的RAID级别: RAID 0: 工作模式:先将数据进行条带化,分别存放至硬盘中. 空间利用率:100% 是否支持冗余:否 性能:磁盘IO提高(取决于磁盘的数量) 至少需要2块磁盘 RAID 1: 工作模式:有一个磁盘为镜像盘 空间利用率:1/2 是否支持冗余:是 性能:写性能下降,读性能不变 至少需要2块磁盘,且只能坏1快磁盘 RAID 5: 工作模式:有一块盘为校验盘,存放校验数据 空间利用率:n-1/n 是否支持冗余:是 性能:读性能下降,写性能不变 至少需要3块盘,且只能

Linux下做软RAID

1.查看有多少块硬盘可用#fdisk -l嗯,一般而言,留下系统盘不动,其它的盘如果大小相同的话,统统合起来做一个raid. 2.决定做什么类型的raid.raid-0.raid-1.raid-5?如果有三块一样大小的盘(或者更多),那么极力推荐raid-5.否则请根据实际情况选择raid-0或者raid-1 3.卸载已挂载的数据盘首先查看下,要做raid的几块盘是不是已经被挂载过了#mount如果有,那么挨个删除数据.然后用umount卸载.然后,还有,打开/etc/fstab,注释掉那些刚卸