(23)Linux基础-系统磁盘阵列raid
一. 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相关推荐
- Linux进阶篇--磁盘阵列(RAID)和逻辑卷管理
磁盘阵列RAID RAID:RedundantArrays of Inexpensive(Independent)Disks 早期被称为RedundantArrays of Inexpensive D ...
- Linux 基础系统
1,项目运维 运维分类: helpdesk :维修电脑.打印机.随叫随到 初级运维:熟悉linux 可以搭建ftp smba nginx apche 等,发布开发打包过来的项目+nginx+uwgs ...
- (22)Linux基础-系统磁盘配额quota
一. 磁盘配额概念 Linux系统是多用户任务操作系统,在使用系统时,会出现多用户共同使用一个磁盘的情况,如果其中少数几个用户占用了大量的磁盘空间,势必压缩其他用户的磁盘的空间和使用权限.因此,系统管 ...
- linux装系统基本分区,Linux基础——系统分区
1.虚拟机的安装 虚拟机的硬件管理:虚拟化引擎优化会占用大量内存,根据需要选择 网络的选择:桥接 :利用真实本地网卡通信,虚拟机会占用真实机网段IP NAT :只能和本局域网内自己的真实机通信,可以上 ...
- Linux基础——系统安全及应用(su切换用户PAM认证,sudo提权,grub加密,账号密码破解,端口扫描)(十)
系统安全及应用 一. 账号安全控制 1.系统账号清理 2.密码安全控制 3.命令历史.自动销毁 二. 用户切换与提权 2.1 su命令 2.1 sudo命令--提升权限 2.1.1 su命令的缺点 2 ...
- linux系统安装如何设置raid,在RAID磁盘阵列下如何搭建Linux系统
因为RAID磁盘阵列的存储速度比单个硬盘高,在安装系统的时候一般会选择搭建在RAID磁盘阵列,下面小编就给大家介绍下RAID磁盘阵列搭建Linux系统的方法. 新配了台电脑,准备装个双系统,windo ...
- linux基础教程入门学习是系统汇总全集(附详细的图文目录学习)
好的开始是成功的一半.学习 Linux 的第一个问题是搞明白 Linux 是什么,了解其来龙去脉.前世今生,知道其发展趋势.应用前景,弄清楚为什么学习它,以及如何掌握它和使用它,知其然更要知其所以然. ...
- 【linux】循序渐进学运维-基础篇-磁盘阵列
文章目录 一. RAID的概念 二. RAID的类型 1. RAID的实现方式: 2. 软raid 5 的实现方式 1) 新增加一块硬盘并创建5个分区 2. 创建RAID 3. 格式化挂载 4. 再次 ...
- Linux系统下RAID和LVM的实现
一.本为中主要介绍RAID常用的RAID0.RAID1.RAID01.RAID10.RAID5格式的RAID卷和LVM卷的建立和测试 二.磁盘阵列是一种把若干硬磁盘驱动器按照一定的要求组成一个整体,整 ...
最新文章
- 工业大数据的真正意义和价值
- att48数据集最优值10628的解
- python的groupby中函数详解_python groupby函数用法
- 神仙尬聊!哲学马云VS科技马斯克:生活就该每周工作12小时,开特斯拉玩遍三千城市...
- mysql db 复制_MySQL管理工具MySQL Utilities — mysqldbcopy(6)
- 有了CodinGame,玩着游戏就能学编程
- *【牛客 - 318B】签到题(单调栈,水题)
- 分布式 ID的 9 种生成方式
- LeetCode 992. K 个不同整数的子数组(双指针)
- 初探下一代SIEM核心技术发展趋势
- 红火七月——安全专家齐聚共讨漏洞分析
- NSA的各种***工具
- 计算机控制技术电子课件,电子科技大学计算机控制技术课件04.ppt
- LimeSDR实验教程(3) GSM基站
- windows10桌面壁纸的储存地址在哪里
- linux shell 脚本手动执行没问题,但在任务计划中执行有问题
- Spring Cloud Eureka源码分析之心跳续约及自我保护机制
- 浅谈中国现货市场环境对期货市场发展的影响
- 分门别类刷leetcode——链表(C++实现)
- Request method ‘GET‘ not supported 405错误辨析总结
热门文章
- 技术干货 | 人大金仓KFS基于分区索引的分片入库技术解析
- 3月第5周业务风控关注 | 央视曝光偷密码的“×××”,9亿人个人信息存风险
- [Scrapy教学9]一定要懂的Scrapy框架结合Gmail寄送爬取资料附件秘诀
- 图像处理-3 彩色空间互转
- J-link无法下载固件问题
- 全网最全,接口自动化测试怎么做的?精通接口自动化测试详解
- 推荐算法实践-章节三-推荐系统冷启动问题-阅读总结
- Jackson Cannot deserialize value of type `xxx` from String “xxx“ : Failed to deserialize xxx问题解决
- 必须要了解的物联网安全知识
- iPhone手机忘记了ID账号密码怎么办