一. raid磁盘阵列概述
raid(Redundant Array of Independent Disk),独立冗余磁盘阵列。其方式是将多块独立的磁盘按照不同的方式组合成一个逻辑磁盘,从而提高存储容量,提升存储性能或提供数据备份功能。
raid分为软件raid和硬件raid两种。软件raid可以实现硬件raid相同的功能,但是没有独立的硬件控制功能,性能不如硬件raid,但是实现简单。硬件raid有独立的硬件设备。硬件raid通常需要raid卡,raid卡本身会有独立的控制件和内存,不占用系统资源,效率高,性能强。市面上很多主板已集成raid卡。
二、raid级别
2.1 raid0(不含效验与冗余的条带存储)
多块磁盘组合为raid0后,数据被分割并分别写入多块硬盘,所以能最大的提升存储性能和存储空间,但无法容错,raid0至少需要2块硬盘,不要求磁盘容量相同。
优点:磁盘使用率100%,磁盘容量为所有磁盘总容量。
缺点:无校验与备份,有一块磁盘损坏,即磁盘中的任意一个数块损坏就将导致整个文件无法读取。
如下图:数据data1与data2被分别写入两块不同磁盘。其他依此类推。

2.2 raid1(不含校验的镜像存储)
多块磁盘组合为raid1后,数据被同时写入每块硬盘,raid1至少需要2块硬盘,该级别的raid1只要有一块磁盘可用,即可正常工作,该级别的阵列安全性最好,磁盘利用率最低,要求磁盘容量相同。
优点:安全性最高。
缺点:写入速率低,磁盘使用率低。如果使用两块磁盘,容量为一块大小。资源浪费,成本高。总容量n/2*s。(n为磁盘数量;s为磁盘大小).
如下图:数据data1同时写入两块磁盘。其他数据依此类推。

2.3 raid2(位级别的效验式条带存储)
多块磁盘组合为raid2后,数据以位(bit)单位同步式分别存储在不同硬盘上,并采用海明码(海明码是一种具有纠错功能的校验码)对数据进行校验与恢复。至少需要3块硬盘。要求磁盘大小相同,总容量为(n-1)*s(n为磁盘数量;s为磁盘大小)。
优点:允许3块盘中,任何一块损坏,可通过未损坏的2块磁盘数据进行运算还原已损坏磁盘的数据。对大数据读写性能较高。
缺点:对少量数据读写性能较差。
如下图所示:有数据存入raid2,该数据被分为数据位,分别同步写入不同的磁盘,数据data1、data2进行海明码运算后写入校验盘,其他数据以此类。

2.4 raid5(数据块级别的分布式校验条带存储)
多块磁盘组合为raid5后,数据以块(block)单位同步式分别存储在不同硬盘上,并采用海明码(海明码是一种具有纠错功能的校验码)对数据进行校验与恢复,其海明码被写入不同的磁盘。至少需要3块硬盘。要求磁盘大小相同,总容量为(n-1)*s(n为磁盘数量;s为磁盘大小)。
优点:容错,允许坏一块。

2.5 raid6
raid6是再raid5的基础上为了加强数据保护而设计的。可允许损坏2块硬盘。总容量为(n-2)*s(n为磁盘数量;s为磁盘大小).
2.6 raid10(镜像与条带存储)
raid10是有raid0与raid1结合而成,raid10既有raid0的快速高效,同时有raid1的数据安全。raid10至少需要4块硬盘.raid10通常有两种组合方式,raid0+1或raid1+0.raid1+0,首先使用4块硬盘组合成两个独立的raid1,然后将两个raid1组合为1个raid0.
优点:兼顾安全性和速度,允许2块故障。
缺点:raid10磁盘利用率低,只有50%。
如下图:raid1+0方式

三、软raid创建与管理
3.1 Mdadm命令详解
madam是用于创建和管理软件RAID的命令,Linux内核中有一个md(multiple devices)模块在底层管理RAID设备,它会在应用层给我们提供一个应用程序的工具mdadm。
详细参数:

-a:检测设备名称
-n:指定设备数量
-l:指定RAID级别
-C:创建
-v:显示过程
-f:模拟设备损坏
-r:移除设备
-Q:查看摘要信息
-D:查看详细信息
-S:停止RAID磁盘阵列
-x:热备盘个数

3.2创建raid5(3块硬盘)
Linux中创建软raid,可以将硬盘直接进行raid创建,也可以对硬盘进行分区,指定不同的分区创建不同级别的raid。
(1)安装mdadm命令

[root@localhost ~]# yum -y install mdadm

(2)查看磁盘信息(fdisk -l)

[root@localhost ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdc  /dev/sdd
[root@localhost ~]# partprobe /dev/sd*

(3)创建raid5(无备用盘)

[root@localhost ~]# mdadm -Cv /dev/md0 -l 5 -n 3  /dev/sd{b,c,d}
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 5238784K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]#

有备用盘创建:

[root@localhost ~]# mdadm -Cv /dev/md0 -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}

(4)查看已创建的raid5信息

[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:Version : 1.2Creation Time : Sat Mar 21 20:45:38 2020Raid Level : raid5Array Size : 10477568 (9.99 GiB 10.73 GB)Used Dev Size : 5238784 (5.00 GiB 5.36 GB)Raid Devices : 3Total Devices : 3Persistence : Superblock is persistentUpdate Time : Sat Mar 21 20:46:05 2020State : clean Active Devices : 3
Working Devices : 3Failed Devices : 0Spare Devices : 0Layout : left-symmetricChunk Size : 512KName : localhost.localdomain:0  (local to host localhost.localdomain)UUID : c6fa3589:6ab1babb:213f4b64:a5c5f1c7Events : 18Number   Major   Minor   RaidDevice State0       8       16        0      active sync   /dev/sdb1       8       32        1      active sync   /dev/sdc3       8       48        2      active sync   /dev/sdd
[root@localhost ~]#

(5)格式化raid5

[root@localhost ~]# mkfs.xfs /dev/md0
meta-data=/dev/md0               isize=512    agcount=16, agsize=163712 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2619392, imaxpct=25=                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2=                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]#

(6)挂载

[root@localhost ~]# mkdir /tmp/test
[root@localhost ~]# mount /dev/md0 /tmp/test

(7)模拟磁盘损坏

[root@localhost ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:Version : 1.2Creation Time : Sat Mar 21 20:45:38 2020Raid Level : raid5Array Size : 10477568 (9.99 GiB 10.73 GB)Used Dev Size : 5238784 (5.00 GiB 5.36 GB)Raid Devices : 3Total Devices : 3Persistence : Superblock is persistentUpdate Time : Sat Mar 21 20:59:03 2020State : clean, degraded Active Devices : 2
Working Devices : 2Failed Devices : 1Spare Devices : 0Layout : left-symmetricChunk Size : 512KName : localhost.localdomain:0  (local to host localhost.localdomain)UUID : c6fa3589:6ab1babb:213f4b64:a5c5f1c7Events : 20Number   Major   Minor   RaidDevice State-       0        0        0      removed1       8       32        1      active sync   /dev/sdc3       8       48        2      active sync   /dev/sdd0       8       16        -      faulty   /dev/sdb
[root@localhost ~]#

(8)raid性能测试
radi5写入模拟:进入挂载目录/tmp/test

[root@localhost test]# time dd if=/dev/zero of=text bs=1M count=1000
记录了1000+0 的读入
记录了1000+0 的写出
1048576000字节(1.0 GB)已复制,3.92296 秒,267 MB/秒real    0m3.991s
user    0m0.000s
sys     0m2.492s
[root@localhost test]#

正常硬盘测试:

[root@localhost tmp]# time dd if=/dev/zero of=text bs=1M count=1000
记录了1000+0 的读入
记录了1000+0 的写出
1048576000字节(1.0 GB)已复制,18.7634 秒,55.9 MB/秒real    0m19.160s
user    0m0.010s
sys     0m1.910s
[root@localhost tmp]#

(23)Linux基础-系统磁盘阵列raid相关推荐

  1. Linux进阶篇--磁盘阵列(RAID)和逻辑卷管理

    磁盘阵列RAID RAID:RedundantArrays of Inexpensive(Independent)Disks 早期被称为RedundantArrays of Inexpensive D ...

  2. Linux 基础系统

    1,项目运维 运维分类: helpdesk :维修电脑.打印机.随叫随到 初级运维:熟悉linux  可以搭建ftp smba nginx apche 等,发布开发打包过来的项目+nginx+uwgs ...

  3. (22)Linux基础-系统磁盘配额quota

    一. 磁盘配额概念 Linux系统是多用户任务操作系统,在使用系统时,会出现多用户共同使用一个磁盘的情况,如果其中少数几个用户占用了大量的磁盘空间,势必压缩其他用户的磁盘的空间和使用权限.因此,系统管 ...

  4. linux装系统基本分区,Linux基础——系统分区

    1.虚拟机的安装 虚拟机的硬件管理:虚拟化引擎优化会占用大量内存,根据需要选择 网络的选择:桥接 :利用真实本地网卡通信,虚拟机会占用真实机网段IP NAT :只能和本局域网内自己的真实机通信,可以上 ...

  5. Linux基础——系统安全及应用(su切换用户PAM认证,sudo提权,grub加密,账号密码破解,端口扫描)(十)

    系统安全及应用 一. 账号安全控制 1.系统账号清理 2.密码安全控制 3.命令历史.自动销毁 二. 用户切换与提权 2.1 su命令 2.1 sudo命令--提升权限 2.1.1 su命令的缺点 2 ...

  6. linux系统安装如何设置raid,在RAID磁盘阵列下如何搭建Linux系统

    因为RAID磁盘阵列的存储速度比单个硬盘高,在安装系统的时候一般会选择搭建在RAID磁盘阵列,下面小编就给大家介绍下RAID磁盘阵列搭建Linux系统的方法. 新配了台电脑,准备装个双系统,windo ...

  7. linux基础教程入门学习是系统汇总全集(附详细的图文目录学习)

    好的开始是成功的一半.学习 Linux 的第一个问题是搞明白 Linux 是什么,了解其来龙去脉.前世今生,知道其发展趋势.应用前景,弄清楚为什么学习它,以及如何掌握它和使用它,知其然更要知其所以然. ...

  8. 【linux】循序渐进学运维-基础篇-磁盘阵列

    文章目录 一. RAID的概念 二. RAID的类型 1. RAID的实现方式: 2. 软raid 5 的实现方式 1) 新增加一块硬盘并创建5个分区 2. 创建RAID 3. 格式化挂载 4. 再次 ...

  9. Linux系统下RAID和LVM的实现

    一.本为中主要介绍RAID常用的RAID0.RAID1.RAID01.RAID10.RAID5格式的RAID卷和LVM卷的建立和测试 二.磁盘阵列是一种把若干硬磁盘驱动器按照一定的要求组成一个整体,整 ...

最新文章

  1. 工业大数据的真正意义和价值
  2. att48数据集最优值10628的解
  3. python的groupby中函数详解_python groupby函数用法
  4. 神仙尬聊!哲学马云VS科技马斯克:生活就该每周工作12小时,开特斯拉玩遍三千城市...
  5. mysql db 复制_MySQL管理工具MySQL Utilities — mysqldbcopy(6)
  6. 有了CodinGame,玩着游戏就能学编程
  7. *【牛客 - 318B】签到题(单调栈,水题)
  8. 分布式 ID的 9 种生成方式
  9. LeetCode 992. K 个不同整数的子数组(双指针)
  10. 初探下一代SIEM核心技术发展趋势
  11. 红火七月——安全专家齐聚共讨漏洞分析
  12. NSA的各种***工具
  13. 计算机控制技术电子课件,电子科技大学计算机控制技术课件04.ppt
  14. LimeSDR实验教程(3) GSM基站
  15. windows10桌面壁纸的储存地址在哪里
  16. linux shell 脚本手动执行没问题,但在任务计划中执行有问题
  17. Spring Cloud Eureka源码分析之心跳续约及自我保护机制
  18. 浅谈中国现货市场环境对期货市场发展的影响
  19. 分门别类刷leetcode——链表(C++实现)
  20. Request method ‘GET‘ not supported 405错误辨析总结

热门文章

  1. 技术干货 | 人大金仓KFS基于分区索引的分片入库技术解析
  2. 3月第5周业务风控关注 | 央视曝光偷密码的“×××”,9亿人个人信息存风险
  3. [Scrapy教学9]一定要懂的Scrapy框架结合Gmail寄送爬取资料附件秘诀
  4. 图像处理-3 彩色空间互转
  5. J-link无法下载固件问题
  6. 全网最全,接口自动化测试怎么做的?精通接口自动化测试详解
  7. 推荐算法实践-章节三-推荐系统冷启动问题-阅读总结
  8. Jackson Cannot deserialize value of type `xxx` from String “xxx“ : Failed to deserialize xxx问题解决
  9. 必须要了解的物联网安全知识
  10. iPhone手机忘记了ID账号密码怎么办