Linux基础之RAID

一.RAID介绍

RAID刚开始出现的时候叫做廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),但在当时磁盘并非像现在这么便宜,反而这种组合方式使得代价非常昂贵,所以后来改名为独立磁盘冗余阵列(Redundant Array of Independent Disks),基本的思想就是组合组合多个便宜的,性能相对较低的磁盘,使之成为一个性能优越,容量大的存储设备,在逻辑上只表现为一个存储设备。RAID也分为不同的级别,各个级别有各自的特点。

二.RAID级别及其特点

1.RAID-0:也叫条带化存储,将一块数据切分为块,其中一半存储在一块磁盘中,另一半存储在另外一块磁盘中

raid 0.png

特点:

(1)至少需要两块磁盘
(2)可用空间:磁盘块数 * 所有磁盘中容量最小的磁盘容量大小
(3)从图中可以看出来,RAID 0没有容错能力
(4)磁盘的读写性能均有提升

2.RAID-1:也叫镜像化存储,将数据拆分为数据块进行存储,而且一边存储一边备份

raid 1.png

特点:

(1)至少需要两块磁盘
(2)可用空间:磁盘块数 * 所有磁盘中容量最小的磁盘容量大小
(3)具有容错功能,允许一块磁盘损坏
(4)磁盘的写性能有所下降

3.RAID-5:分布式奇偶校验,数据分块之后存储在不同的磁盘上,校验码也分布在各个磁盘上,如下图,p为校验码

raid 5.png

特点:

(1)至少需要3块磁盘
(2)可用空间:(磁盘总数-1)*所有磁盘中容量最小的磁盘的容量
(3)具有容错能力
(4)磁盘的读写性能均有提升

4.RAID-6:双分布式奇偶校验,将数据分块之后存储在不同的磁盘之上,使用两个独立的校验系统,具有很高的可靠性,即使两个磁盘同时损坏,也依然能将数据恢复,如下图,p和p'分别采用不同的校验系统

raid 6.png

特点:

(1)至少需要4块磁盘
(2)可用空间:(磁盘总数-2)*所有磁盘中容量最小的磁盘的容量
(3)因为要做两次校验,因此磁盘的写性能下降
(4)具有较强的容错能力

5.RAID-01:顾名思义,先做RAID-0,整体再做RAID-1,如下图所示:

RAID 01.png

特点:

(1)至少需要4块磁盘
(2)磁盘的读写性能均有提升
(3)可用空间:(磁盘总数 * 所有磁盘中容量最小磁盘的容量)/2
(4)具有容错能力

6.RAID-10:同样,先做RAID-1,再做RAID-0,如下图所示

RAID 10.png

特点:

(1)至少需要4块磁盘
(2)可用空间为:(磁盘总数 * 磁盘中容量最小的磁盘的容量)/2
(3)磁盘的读性写能都有提升
(4)具有容错能力

三.以软件的方式实现RAID

软RAID的实现要依赖内核中的multi devices模块,使用mdadm来实现,目前支持的级别有 RAID-0,RAID-1,RAID-5,RAID-01,RAID-10,注意,要想实现软RAID磁盘的分区类型必须为fd

1.mdadm的使用方式:

 mdadm [mode] <raiddevice> [options] <component-devices>

其中:

mode有:创建模式,装配模式,监控模式,管理模式

(1)创建模式:-C

-n <number>:创建RAID使用的设备数
-l <raid_level>:指定所创建的raid级别
-a {yes|no}:是否自动创建RAID设备文件
-x <number>:指明空闲盘的个数

(2)装配模式:-A

(3)监控模式:-F 

(4)管理模式:当对raid设备进行标记,添加,移除等操作时,就是在管理模式


<raid_device> :RAID设备

<component_device>:要使用那几块磁盘创建

[options]:

-D <raid_device>:查看指定RAID设备的信息
–stop <raid_device> : 停止指定的raid设备
-h,–help:获取帮助

2.使用示例:

创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128k

思路:RAID-1至少需要2块硬盘,还要求有一个空闲盘,于是至少需要三块盘,但是由于是软raid,所以以分区模拟磁盘

步骤:

(1)创建三个分区,使用fdisk创建:

分区.png

(2)创建RAID-1:

创建.png

查看结果为:

结果.png


创建一个大小为4G的RAID5设备,chunk大小为256k,格式化ext4文件系统,要求可开机自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能;

思路:RAID-5至少需要三块磁盘,同样以三个分区来模拟,要想实现开机自动挂载,要通过编辑/etc/fstab来实现

步骤

(1)创建分区,与上一示例相同

(2)创建

raid-5.png

查看结果为:

结果2.png

(3)格式化为ext4文件系统

格式化.png

(4)修改/etc/fstab文件

首先创建/backup目录

创建目录.png

修改配置文件:vim /etc/fstab

FS.png


原创文章,作者:zhangbao,如若转载,请注明出处:http://www.178linux.com/57834

(0)
zhangbaozhangbao
上一篇 2016-11-07
下一篇 2016-11-08

相关推荐

  • mariadb之再次演练

    架构图如下: 1.按照架构图所示,准备机器,做好时间同步,主机名解析 192.168.42.150 node1 [proxySQL keepalived]192.168.42.151 node2 [proxySQL keepalived]192.168.42.152 node3 [mysql-master wha]192.168.42.153 node4 […

    Linux干货 2016-03-06
  • Liunx学习第一周之对目录及文件的操作总结

            Liunx学习的第一周已经结束,回顾这一周的学习,已经对Linux的发展历史有了初步的了解,也在老师的指导下成功的在虚拟机上安装了两个Liunx系统:centos6和centos7,然后在这两个Liunx系统的CLI模式下输入一个个命令,让系统执行各种任务,下面是第一周学习的几种命令的总结。 &nbsp…

    2017-07-15
  • sed大法好

    sed sed概念 (1)基本概念:sed是流编辑器(stream editor),A stream editor is used to perform basic text transformations on an input stream (a file or input from a pipeline).作用就是对输入的流(文件或者从一个管道输入的流…

    Linux干货 2016-12-02
  • shell四剑客之find

    find命令详解 ### 命令格式 find pathname -options [-print -exec -ok] ### 命令参数 pathname:find命令所查找的目录路径。例如用.表示当前目录,用/来表示系统根目录 -print:find命令将会匹配的文件输出到标准输出。-e…

    Linux干货 2016-08-22
  • 一、循环语句:for, while, until 循环执行:将某代码段重复运行多次重复运行多少次:循环次数事先已知循环次数事先未知有进入条件和退出条件 1.for……do……done for 变量 in 列表 ; do    循环体done 执行机制:依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中…

    Linux干货 2016-08-19
  • Infobright高性能数据仓库

    1.  概述         Infobright是一款基于独特的专利知识网格技术的列式数据库。Infobright简单易用,快速安装部署,使用中无需复杂操作,能大幅度减少管理工作;在应对50TB甚至更多数据量进行多并发复杂查询时,更能够显示出令人惊叹的速度。相比于MySQL,其查询速度提升了数倍甚…

    Linux干货 2015-04-05

评论列表(1条)

  • Sunshine
    Sunshine 2017-04-24 02:59

    You always look fabulous, Vix! I'm so jealous!I may have to come to your neck of the woods for a car boot sale, if thy#9e3&;re held that regularly! They're very rare round here :(Great post xo