linux配置磁盘阵列raid 0raid1 raid5 raid6 raid10

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux配置磁盘阵列raid 0raid1 raid5 raid6 raid10相关的知识,希望对你有一定的参考价值。

首先我们了解一下各种raid卷的特性和原理。

1,raid0的特性:采用剥离,数据将在几个磁盘上进行分割。数据被分成很多数据块,每一数据块会被写入不同的磁盘。从而, 每一磁盘的工作负荷都得到了降低,这有助于加速数据传输。RAID-0可让磁盘更好地响应,尤其是电子邮件、数据库和互联网应用。实施RAID-0最少需 要两块硬盘。优势:通过把I/O负载分布到多个硬盘上,可提高系统性能。实施简单。需要注意的是:RAID-0不具有数据保护功能,不适合于关键数据。

2,raid1的特性:RAID-1通过磁盘镜像来实现,主要用来确保数据的可靠性。同样的数据将被复制存储到不同的磁盘上,如果某个磁盘出现 故障,还可以在阵列内的某个磁盘上找到相应的数据,因此可以很容易地进行恢复。镜像不但可以创建冗余数据而带来高可用性,还可以保持关键应用的正常运行。 优势:数据读取的性能有所提高,而数据写入性能与单个磁盘没有区别。100%数据冗余意味着某个出现磁盘故障时不需要对数据进行重建。需要注意的是:磁盘容量的低效率使用-在所有RAID类型中费用最高(100%)。

3,raid10的特性:RAID-10是RAID-1和RAID-0的结合。此配置要求至少4块硬盘,在所有RAID等级中,性能、保护功能 及容量都是最佳的。RAID-10包含成对的镜像磁盘,其数据在整个阵列上进行剥离。多数情况下,RAID-10能够承受多个磁盘出现故障的情况,因此更 能保证系统的正常运行。其数据丢失的几率最小。优势:与RAID-1(镜像)有同样的冗余特性,是数据保护的理想选择。需要注意的是:可能价格很高,与镜像磁盘阵列有关。

4,raid5的特性:RAID-5通过一种称为奇偶检验的技术保持数据的冗余。在多个磁盘上进行数据剥离时,奇偶位数据也会包括在内并分布于 阵列内的所有磁盘上。奇偶数据用于保持数据的完整性并在磁盘出现故障时进行重建。如果阵列内的某个磁盘出现故障,丢失的数据可以根据其它磁盘上的奇偶位数 据进行重建。RAID-5配置要求至少3块硬盘。优势:更有效地利用所有冗余RAID配置的磁盘容量。保持良好的读写性能。需要注意的是:磁盘故障会影响 吞吐速率。故障后重建信息的时间比镜像配置情况下要长。

5,raid50的特性:RAID-50是RAID-5与RAID-0的结合。此配置在RAID-5的子磁盘组的每个磁盘上进行包括奇偶信息在 内的数据的剥离。每个RAID-5子磁盘组要求三个硬盘。RAID-50具备更高的容错能力,因为它允许某个组内有一个磁盘出现故障,而不会造成数据丢 失。而且因为奇偶位分部于RAID-5子磁盘组上,故重建速度有很大提高。优势:更高的容错能力,具备更快数据读取速率的潜力。需要注意的是:磁盘故障会 影响吞吐量。故障后重建信息的时间比镜像配置情况下要长。

6,raid6的特性:

RAID6的性能:

  (1)RAID6的随机读取性能:很好(当使用大数据块时)。

  (2)RAID6的随机写入性能:差,因为不但要在每硬盘上写入校验数据而且要在专门的校验硬盘上写入数据。

  (3)RAID6的持续读取性能:好(当使用小数据块时)。

  (4)RAID6的持续写入性能:一般。

  (5)RAID6的优点:快速的读取性能,更高的容错能力。

  (6)RAID6的缺点:很慢的写入速度,RAID控制器在设计上更加复杂,成本更高。

7.raid60的特性:

具备更高的容错性,支持同时两块硬盘出现故障的修复功能,和更高的读性能。技术上还存在一定的问题,不够成熟,目前很少使用者。

觉得字多看简单原理

raid 0多块大小相同的磁盘相连使用(高并发读写)(不便于扩展)

总容量等于多块磁盘之和,磁盘大小必须相同。

缺点:一旦某块磁盘损坏则数据丢失。

raid1卷 两块以上大小相同的磁盘组成(高可靠性)

总容量=2/1磁盘容量 磁盘大小必须相同

磁盘损坏数据可以恢复 中断镜像卷则变为简单卷

raid5卷三块以上大小相同的磁盘组成(高读写 高安全)

总容量=N-N/1*磁盘所有容量和(所有磁盘容量减去一块磁盘容量)

磁盘大小必须相同,磁盘损坏可回复数据,可以损坏一块硬盘。

raid6 :所有磁盘容量之和减去两块磁盘容量

四块以上大小相同的磁盘(非常可靠)

可同时损坏两个磁盘

写入性能不如raid5

raid1+0:四块以上大小相同磁盘

所有磁盘容量的一半(高读写,高可靠)

一个镜像卷组丢失则数据丢失

------------------------------------------------------------------------------------------------------------------------------------------------------------

接下来是实验部分,我会拿出具有代表性的几种卷进行操作。

实验环境:一台装有linux redhat6.5系统的机器,这里用了虚拟机并且添加了12快磁盘进去。

操作系统 : CentOS 6.5 IP 地址 : 192.168.10.100 主机名 : zred 磁盘 1-12 [20GB] : /dev/sd[b-m]

 

技术分享图片

无脑回车即可,啪啪啪。

===raid 5===

创建 RAID 5 最少需要3个磁盘,你也可以添加更多的磁盘,在这里,我们使用“mdadm”包来创建软件 RAID。

mdadm 是一个允许我们在 Linux 下配置和管理 RAID 设备的包。

一.这里我们使用b-d磁盘,但是你的系统可能会缺少“mdadm”包,如果没有,根据你的 Linux 发行版使用下面的命令安装。

# yum install mdadm [在 RedHat/centos 系统]

# apt-get install mdadm [在 Debain 系统]

二.先使用fdisk命令列出我们在系统上增加的硬盘。

[[email protected] ~]# fdisk -l | grep sd

技术分享图片

 

三.现在该检查这三个磁盘是否存在 RAID 块,使用下面的命令来检查。

[[email protected] ~]# mdadm -E /dev/sd[b-d]

技术分享图片

上面的图片说明,没有检测到任何超级块。所以,这三个磁盘中没有定义 RAID。我们现在开始创建一个。

四.对磁盘进行分区。

在创建 RAID 前磁盘必须有分区,因此,在进行下一步之前,先使用fdisk命令进行分区。

按照下面的说明在 /dev/sdb 硬盘上创建分区:

[[email protected] ~]# fdisk /dev/sdb    //开始创建

1.按 n 创建新的分区。

2.然后按 P 选择主分区。选择主分区是因为还没有定义过分区。

3.接下来选择分区号为1。默认就是1。

4.这里是选择柱面大小,我们没必要选择指定的大小,因为我们需要为 RAID 使用整个分区,所以只需按两次 Enter 键默认将整个容量分配给它。

5.然后,按 P 来打印创建好的分区。

6.改变分区类型,按 L可以列出所有可用的类型。

7.按 t 修改分区类型。

8.这里使用fd设置为 RAID 的类型。

9.然后再次使用p查看我们所做的更改。

10.使用w保存更改。

如图:

 

技术分享图片

 

重复以上步骤,吧sdc和sdd也创建好分区。

之后我们使用:

[[email protected] ~]# mdadm -E /dev/sd[b-d]  //查看三个磁盘的变化。

技术分享图片


四.现在使用所有新创建的分区(sdb1, sdc1 和 sdd1)创建一个 RAID 设备“md0”(即 /dev/md0)。

命令如下:

[[email protected] ~]# mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

接着使用:

[[email protected] ~]# cat /proc/mdstat   //查看创建状态

如图:

技术分享图片

在等待进度条时你也可以使用:

[[email protected] ~]# watch -n1 cat /proc/mdstat       //利用watch跟踪监视它的创建过程

五.验证

以下命令来验证一下:

[[email protected] ~]# mdadm -E /dev/sd[b-d]1

技术分享图片

验证 RAID 阵列:

[[email protected] ~]# mdadm --detail /dev/md0

技术分享图片

六.格式化与挂载。

为“md0”设备创建 ext4 文件系统(格式化)

[[email protected] ~]# mkfs.ext4 /dev/md0

技术分享图片


/mnt下创建目录 raid5,然后挂载文件系统到 /mnt/raid5/ 下,这里我们使用自动挂载方式,以放下次开机丢失挂载。

[[email protected] ~]# mkdir /mnt/raid5      //创建raid5 的目录
[[email protected] ~]# vim /etc/fstab           //修改自动挂载配置文件

/dev/md0 /mnt/raid5 ext4 defaults 0 0       //在fstab行末添加这句话

 

技术分享图片


验证下挂载

[[email protected] dev]# mount –a   //挂载配置文件中的选项

[[email protected] dev]# df –h           //查看已经挂载的文件


 

技术分享图片

保存 Raid 5 的配置:

[[email protected] dev]# mdadm --detail --scan --verbose >> /etc/mdadm.conf
[[email protected] dev]# cat /etc/mdadm.conf    //查看配置

技术分享图片


raid 5到这就配置好了!

 

 

----raid 10----

 

要求:在 RAID 10 中,我们至少需要4个磁盘,前2个磁盘为 RAID 1,其他2个磁盘为 RAID 0。

经过上面的详细raid5配置相信大家都熟悉了操作步骤,下面我们用/sd[e-h]简单配置一下raid10。

一.分区与检测磁盘。

使用fdisk,命令为4个磁盘(/dev/sde, /dev/sdf, /dev/sdg 和 /dev/sdh)创建新分区。

#fdisk/dev/sde

#fdisk/dev/sdf

#fdisk/dev/sdg

#fdisk/dev/sdh

设置完后查看下:

[[email protected] dev]# fdisk -l /dev/sd[e-h]

技术分享图片

检查磁盘是否存在 raid:

[[email protected] dev]# mdadm -E /dev/sd[e-h]

技术分享图片

二.创建raid10卷。

确定mdadm工具安装完成后,开始创建raid。

[[email protected] dev]# mdadm --create /dev/md10 --level=10 --raid-devices=4 /dev/sd[e-h]1

技术分享图片

检查一下

[[email protected] ~]# mdadm --detail /dev/md10

技术分享图片

 

三.格式化与挂载。

格式化:

[[email protected] ~]# mkfs.ext4 /dev/md10

技术分享图片

添加自动挂载:

[[email protected] ~]# mkdir /mnt/raid10   //创建挂载目录

[[email protected] ~]# vim /etc/fstab          //编辑配置文件

技术分享图片

 

[[email protected] ~]# mount –a    //挂载起来

[[email protected] ~]# df –h            //查看一下


技术分享图片

最后:

[[email protected] ~]# mdadm --detail --scan --verbose >> /etc/mdadm.conf    //保存 RAID 配置

 

 

总结

   本文主要描述了各式raid卷的特征和原理,并在后面详细的说明了怎么配置其中的raid5与raid10.设置完成后可以在挂载点下创建一些文件,并在文件中添加些内容,然后检查内容。以验证。

                                                                                                                                                         

 

                                                                                                                                                                   此致

以上是关于linux配置磁盘阵列raid 0raid1 raid5 raid6 raid10的主要内容,如果未能解决你的问题,请参考以下文章

Linux RAID

Linux RAID磁盘阵列各类型优势汇总

浅谈RAID磁盘阵列配置与无人值守功能

RAID磁盘阵列详解之RAID 1的配置与无人值守(无校验的相互镜像卷)

linux-磁盘管理与文件系统-RAID配置实战

Linux配置raid1+0阵列磁盘