硬件RAID横评(上)

923ebf238950ad20548ca796f562dc5b.gif

正文共:3857字 50图,预估阅读时间:12 分钟

之前误打误撞测试了软件RAIDWindows下软RAID测试,发现性能基本上是线性的,而据说硬件RAID性能比这个高的很。那本文将就硬件RAID展开测试,测试内容主要为各RAID等级下磁盘空间、I/O性能、模拟硬盘故障的可靠性等。

6824f7d27cf44efd8ff8978fff7cfe21.png

硬件RAID

硬 RAID 拥有自己的 RAID 控制处理与 I/O 处理芯片,甚至还有阵列缓冲,相比于软RAID和软硬混合RAID,对 CPU 的占用率和整体性能是最优的,但实现成本也最高的。硬 RAID 通常都支持热交换技术,在系统运行下更换故障磁盘。

725423e54f63b4ff37bc42761f16e943.png

硬 RAID 包含 RAID 卡和主板上集成的 RAID 芯片,服务器平台多采用 RAID 卡。RAID 卡由 RAID 核心处理芯片( RAID 卡上的 CPU )、端口、缓存和电池 4 部分组成。比如我服务器上这套P440ar阵列卡和8块SAS盘。

首先使能阵列模式,也就是上次不敢开启的Smart Array模式。

6fedaa7b1ea09dd4f320e44e179eb28f.png

修改之后需要重启生效。

0804861a59d9d66e9ed6155380fa069e.png

RAID 0

RAID 0 是一种简单的、无数据校验的数据条带化技术,并不提供任何形式的冗余策略。RAID 0 将所在磁盘条带化后组成大容量的存储空间,将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问。由于可以并发执行 I/O 操作,总线带宽得到充分利用;再加上不需要进行数据校验,RAID 0 的性能在所有 RAID 等级中是最高的。理论上讲,使用 N 块硬盘,即可拥有将近 N 倍的读写效能。

1b732efb3b5e46f5ea3b76d7174d22fa.png

RAID 0 具有低成本、高读写性能、100% 的高存储空间利用率等优点,但是数据安全性较低,同组数组中任一硬盘发生问题就会造成数据遗失。因此,RAID 0 一般适用于对性能要求严格但对数据安全性和可靠性不高的应用,如视频、音频存储、临时数据缓存空间等

在阵列卡配置中选择创建阵列。

9d9598c7f9ea51e96bb53fb2c103e5b5.jpeg

选择RAID 0,其它选项使用默认的配置选项。

a2b316de0d2e207594047764c1e74529.png

Strip Size/Full Strip Size

Strip Size(条带深度),指的是在阵列的磁盘集中的单块磁盘上,从条带起始位置开始读/写所允许的最大数据量。Strip Size越大,顺序读写性能越好,但IOPS越低;Strip Size越小,IOPS越高,随机读写性能越好

一般根据服务器的具体用途来决定Strip Size。通常,提高顺序读写性能对文件服务器(备份、存档、共享等用途)磁盘性能提升较多。反之,对于琐碎文件(几KB、十几KB大小的文件)较多的服务、数据库、集成编译服务器等,频繁对小文件读写的服务器,提升IOPS则有较大益处。

如果单磁盘容量较大,1TB以上的SATA盘,更适合做文件服务器,可将Strip Size调整大至1MB,600G、15K的高性能磁盘或SSD,由于本身具有较高的IO性能,更适合做数据库,可将Strip Size 调小一些。

Sector/Track

Sector/Track表示每条磁道上有几个扇区,一般编号从1开始,最大为63,表示63个扇区,每个扇区为512字节,它是磁盘的最小存储单位。

恩,分的少应该是可以提高读写速度的。毕竟扇区少了之后寻址会更快。

2427ed358026f1e3c163b33f419bb165.jpeg

此时阵列可用逻辑卷容量为4.3T。

随后重启安装装Windows 7 旗舰版。这次提前百度了一下,64位的Windows 7家庭普通版最高可支持8GB内存,家庭高级版最高可支持16GB,专业版、企业版和旗舰版最高可支持192GB内存

e7753ab55b38c307be84c2c09f3fc3ce.png

这次CPU和内存完全使用起来了。

1bee9eee3432a966c37c75e4b3e213f8.png

但是新的问题是硬盘最大只能使用2TB。

aa810c8c8ec7a53d08353a6848588160.png

再次百度,原来MBR分区的硬盘在Windows 7 32位和64位系统最大支持都是2TB;而GPT分区的硬盘只能支持Windows 7 64位系统,最大容量是18EB。(1EB=1024PB=1,048,576TB)

Windows 7在MBR模式下用NTFS分区格式能管理256TB的硬盘空间,NTFS分区单区容量不能超过2TB,单区超过2TB就只能采用罕见的GPT模式。

先使用硬盘测试软件ATTO进行顺序读写测试,结果如下图。对于各种情况下的I/O性能信息,将在文末进行对比。

da85c986925c00b6ca90103c3f77b23a.jpeg

再使用AS SSD测试硬盘的顺序读写、随机读写和响应性能测试,并记录得分情况,为我最后选择何种RAID做个参考。

bc0d51c9be7a9c828d849ee826cca2b1.png

这彪悍的读写性能让我想起了之前一些游戏本的NVME双通道这个配置,按照我个人笔记本同系列的HP EX900来计算,1T容量的单块盘顺序读取速度是2150MB,顺序写入速度是1800MB;如果是这样的两块盘组RAID 0阵列,读取速度就达到了令人发指的4300MB,写入速度也是变态的3600MB。对于游戏玩家来说,几秒钟游戏加载完成,无异于就地起飞!

bccbec50f71b3789601d49f2e855e9a1.png

RAID 1/10

RAID 1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像磁盘,磁盘空间利用率为50% 。RAID 1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。RAID 1 提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。安全性依照数组里的实体硬盘数量倍数成长,适用于对顺序读写性能要求高以及对数据保护极为重视的应用。

445aef1e6be561847f9755d877ce74e1.png

RAID 1 与 RAID 0 刚好相反,是为了增强数据安全性使两块磁盘数据呈现完全镜像,从而达到安全性好、技术简单、管理方便。RAID 1 拥有完全容错的能力,但实现成本高,空间利用率是所有 RAID 中最低的。

操作之前要删掉之前的阵列配置,此时会提示丢失所有数据,因为是做实验嘛,干就是了!

daee5896562a3399d3568dd2751021e4.png

还是选中所有磁盘,下一步。

93896269d45ee31be64a4b3d65cf799c.jpeg

此时也可以看到RAID 1实际上就是RAID 1+0,因为RAID 1实际上只是两块盘做镜像,当数量多于2并且为偶数时,需要先两两做RAID 1,再通过做RAID 0组合,即RAID 1+0(RAID 10)

42bca25849ccd096bd6951d8510056f1.png

此时的磁盘可用空间为2.18T,是总大小的一半。

7ab29a9423c64177425862333a703d0f.png

安装的时候可以看到磁盘未分配空间是2235GB,大于2TB。

8828b0f34bf595fa9629e74640cbd61a.png

但是安装完成之后就是前面提到的2TB了。

1b18875e9a78f3005d7f08a6e34d5aa7.png

使用ATTO进行顺序读写I/O性能测试。

b834eeefe1092b48ea37792774c4cbd3.png

再使用AS SSD进行I/O性能测试。

eb5b024bdf2a30040bdaec5e160dadb6.png

然后拔掉一块硬盘进行可用性测试。随即可以看到iLO中有硬盘故障告警。

bc941195c9676c5a572a4182ed48b728.png

并且在存储状态中查看,8槽中的磁盘状态为Failed。

c8f2f1b54585bc4403b41e251fe21824.png

使用ATTO进行顺序读写I/O性能测试,好神奇,性能竟然有所提升。

f2b3884771f7c175914706646fd8b03d.png

再使用AS SSD进行I/O性能测试,性能也有明显提升。

4989bce7335805205c89a83d68ce2176.png

拔掉5槽位硬盘,系统状态正常。

f72ea49ef725f968a93e67001c210ee1.png

拔掉2槽位硬盘,系统状态正常。

b6cc4313fae72831a8a53b8b5d9001fb.png

接下来拔掉4槽位硬盘,阵列故障。

c51f64bf739515e8b9995fc675d00bf4.png

操作系统蓝屏,应该在这种模式下,是1和5、2和6、3和7、4和8两两做的RAID 1,当同时拔掉4和8时,出现阵列无法恢复的故障。

a57857aaaacecd1698e1129c86e18c65.jpeg

再次进入SSA,提示逻辑卷已经损坏,所有数据已经丢失,真恐怖,看来硬件故障真要命啊!

cbe49168239b61f773b54a5a49cc59db.jpeg

bec0e3d289acc3b87d66c3245fce4f0c.png

RAID 2-4

RAID 2、3、4已经很少有实际应用,它们大多只在研究领域有实作。

RAID 2

RAID 2 称为纠错海明码磁盘阵列,其设计思想是利用海明码实现数据校验冗余,实现在bit级别条带化数据。在 RAID 2 中,数据按位存储,每块磁盘存储一位数据编码,磁盘数量取决于所设定的数据存储宽度,可由用户设定。RAID 2 的数据宽度越大,存储空间利用率越高,但同时需要的磁盘数量也越多;一般数据宽度为2^N 的 RAID 2 ,需要 2^N 块数据磁盘和 N+1 块校验磁盘。

海明码自身具备纠错能力,因此 RAID2 可以在数据发生错误的情况下纠正错误,保证数据的安全性。但是,海明码的数据冗余开销太大,而且 RAID 2 的数据输出性能受阵列中最慢磁盘驱动器的限制;再者,海明码是按位运算, RAID2 数据重建非常耗时。现在硬盘的纠错码已经使用了海明码,所以RAID 2不再被使用了

67c214ea747651180505f261744c787e.jpeg

RAID 3

RAID 3使用奇偶校验磁盘将RAID控制器生成的奇偶校验信息存储在与实际数据磁盘分开的磁盘上,采用一个专用的磁盘作为校验盘。RAID 3 完好时读性能与 RAID 0 完全一致,并行从多个磁盘条带读取数据,性能非常高,同时还提供了数据容错能力。向 RAID3 写入数据时,必须计算与所有同条带的校验值,并将新校验值写入校验盘中。一次写操作包含了写数据块、读取同条带的数据块、计算校验值、写入校验值等多个操作,系统开销非常大,性能较低。

如果 RAID 3 中某一磁盘出现故障,不会影响数据读取,可以借助校验数据和其他完好数据来重建数据。假如所要读取的数据块正好位于失效磁盘,则系统需要读取所有同一条带的数据块,并根据校验值重建丢失的数据,系统性能将受到影响。

当有大量数据请求时,这种RAID类型的性能很差,比如在数据库这样的应用程序中。RAID 3在需要长时间连续数据传输的应用程序(如视频服务器)中表现良好。RAID 3至少需要三个物理磁盘。

1c73ac76c7d033d618c8900c1be03758.jpeg

RAID 4

RAID 4 与 RAID 3 的原理大致相同,区别在于条带化的方式不同。RAID 4使用专用奇偶校验磁盘以及块级别的磁盘条带化,写操作只涉及当前数据盘和校验盘两个盘,多个 I/O 请求可以同时得到处理,提高了系统性能。RAID 4 按块存储可以保证单块的完整性,可以避免受到其他磁盘上同条带产生的不利影响。

RAID 4 在不同磁盘上的同级数据块同样使用 XOR 校验,结果存储在校验盘中。写入数据时, RAID4 按这种方式把各磁盘上的同级数据的校验值写入校验盘,读取时进行即时校验。因此,当某块磁盘的数据块损坏,RAID 4 可以通过校验值以及其他磁盘上的同级数据块进行数据重建。

RAID 4 提供了非常好的读性能,但是使用专用奇偶校验磁盘会导致写操作的性能瓶颈。有了RAID 5等替代方案,RAID 4的使用并不多。

362c417cac5f0bfb6e6be9bd7cc68783.jpeg

53ab8df0a6017547750f630b40e05c5f.png

RAID 5

RAID 5 应该是目前最常见的 RAID 等级,它的原理与 RAID 4 相似,区别在于校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。对于数据和校验数据,它们的写操作可以同时发生在完全不同的磁盘上。因此, RAID 5 不存在 RAID 4 中的并发写操作时的校验盘性能瓶颈问题。另外, RAID 5 还具备很好的扩展性。当阵列磁盘数量增加时,并行操作量的能力也随之增长,可比 RAID 4 支持更多的磁盘,从而拥有更高的容量以及更高的性能。

RAID 5 的磁盘上同时存储数据和校验数据,数据块和对应的校验信息存保存在不同的磁盘上,需要额外的运算资源,但仅能忍受 1 个硬盘损毁。与其他 RAID 等级一样,重建数据时,RAID5 的性能会受到较大的影响。

69f60fd9631201fa9590cf8747d575ad.png

RAID 5 兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为 RAID 0 和 RAID 1 的折中方案,是目前综合性能最佳的数据保护解决方案。RAID 5 基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。

在设置时,将默认的Strip Size调小了一级进行测试。

781fc9b455d9819c0df6c3ffcd33ab7f.jpeg

逻辑卷的可用容量为3.82T,相当于损失一块盘。

735805ee530f1888763f2687423b4ab7.png

安装时仍然是提示2T空间可用。

f304e9a81cf204a025f3624e04e2cfc9.jpeg

使用ATTO进行顺序读写I/O性能测试。

fa3b629bca8e11ea376aae71ab2a83a1.png

再使用AS SSD进行I/O性能测试。

6e9b9b6bcd74a4163be3c49d64527834.png

拔掉1槽位硬盘进行测试。

8056aa05be790593eab18a22bafc22cb.png

使用ATTO进行顺序读写I/O性能测试。

959488f1dbcbe1a1e1acf3d33b3a1d0f.png

再使用AS SSD进行I/O性能测试。

1f7f04cf73a42bc9ad9f63beca97cdfc.png

再拔掉3槽位硬盘进行测试。

8c61feee07f33b8d3f7a34e96f3c7a54.png

拔掉两块盘时,虽然系统没有蓝屏,但是从iLO中查看,逻辑卷已经是Failed状态了。

8762a1a299680cf6b5054dcc9c0b8355.png

再拔掉6槽位硬盘,开始系统没有蓝屏,但是在系统中操作时系统蓝屏。

ea08f63da362c2a9a7447dccb66fd653.png

所以RAID 5应该是能允许1块盘故障,并且还能撑一会,所以硬盘短暂异常应该对业务影响较小。

对本次测试结果进行总结,同时对关键参数进行优选,结果如下。

90fd47d3bb05239d7fa4f808534fb604.jpeg

介于篇幅限制,剩余RAID等级评测将在下篇文章进行介绍。

后台回复“20200321”获取硬盘性能测试软件ATTO和AS SSD

0aa2b4967ee8eca2412002b6df968342.png

9cb71c612a5e551ee3d27eb450fae7c0.gif

长按二维码
关注我们吧

cb8eea4e34165ff3d543f601200fafaf.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/790271.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArrayList与线性表详解

1.线性表 线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表有:顺序表、链表、队列…… 线性表在逻辑上是线性结构,也就是说是连续的一条直线。但是在物理结构上不一定是连续的&#xff…

算法训练营第29天|LeetCode 491.递增子序列 46.全排列 47.全排列Ⅱ

LeetCode 491.递增子序列 题目链接&#xff1a; LeetCode 491.递增子序列 解题思路&#xff1a; 用哈希集合进行去重&#xff0c;同一树层不能取重复元素。 代码&#xff1a; class Solution { public:vector<vector<int>>result;vector<int>path;void…

Unity类银河恶魔城学习记录12-2 p124 Character Stats UI源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili UI_Statslot.cs using System.Collections; using System.Collections.Gen…

【名词解释】ImageCaption任务中的CIDEr、n-gram、TF-IDF、BLEU、METEOR、ROUGE 分别是什么?它们是怎样计算的?

CIDEr CIDEr&#xff08;Consensus-based Image Description Evaluation&#xff09;是一种用于自动评估图像描述&#xff08;image captioning&#xff09;任务性能的指标。它主要通过计算生成的描述与一组参考描述之间的相似性来评估图像描述的质量。CIDEr的独特之处在于它考…

基于深度学习的条形码二维码检测系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)

摘要&#xff1a;本文深入研究了基于YOLOv8/v7/v6/v5的条形码二维码检测系统。核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法&#xff0c;进行性能指标对比&#xff1b;详述了国内外研究现状、数据集处理、算法原理、模型构建与训练代码&#xff0c;及基于Streamlit的交互…

Leetcode-894-所有可能的真二叉树-c++

题目详见https://leetcode.cn/problems/all-possible-full-binary-trees/ 主搞动态规划&#xff0c;因为这玩意儿我还不是很懂 关于节点个数为奇数偶数的证明请见官方题解方法一中的如下内容&#xff1a; 这里DP的一个主要思想是&#xff1a;对于任何一个满二叉树&#xff…

4 月 8 日至 9 日 ICP Hacker House 邀你共赴 IC 生态项目开发新风口

为了更好地探索区块链技术前沿&#xff0c;体验作为全面智能合约云平台的互联网计算机&#xff08;Internet Computer Protocol&#xff09;&#xff0c;将数据、内容、计算和用户体验全部托管于链上&#xff0c;IC 生态致力于推动去中心化互联网的深度发展&#xff0c;并将更安…

jpg、bmp、png图像的位深度分别有多少种?分别表示什么意思?如果操作时需要注意什么?

JPG (JPEG) JPEG 格式通常使用 24 位颜色深度&#xff0c;这意味着每个像素由三个 8 位颜色通道组成&#xff1a;红色、绿色和蓝色&#xff08;RGB&#xff09;。因此&#xff0c;它可以表示大约 1600 万种颜色&#xff08;2^24&#xff09;。不过&#xff0c;JPEG 也支持有损…

ES6学习(四)-- Reflect / Promise / Generator 函数 / Class

文章目录 1. Reflect1.1 代替Object 的某些方法1.2 修改某些Object 方法返回结果1.3 命令式变为函数行为1.4 ! 配合Proxy 2. ! Promise2.1 回调地狱2.2 Promise 使用2.3 Promise 对象的状态2.4 解决回调地狱的方法2.5 Promise.all2.6 Promise.race 3. Generator 函数3.1 基本语…

Android Studio学习5——布局layout与视图view

wrap_content&#xff0c;内容有多大&#xff0c;就有多宽&#xff08;包裹&#xff09; 布局 padding 边框与它自身的内容 margin 控件与控件之间

This app has no Android key hashes configured. . Configure your app key

Unity 接入 Facebook SDK 的过程中遇到这个问题&#xff0c;查了很多帖子&#xff0c;不太直观&#xff0c;记录下来方便需要的同学参考 报上面错误的原因是在https://developers.facebook.com/apps/ 设置里没有填入有效的密钥 怎么填入这个密钥呢&#xff0c;其实很简单&…

Redis性能管理及集群三种模式(一)

一、前期准备 至少准备三台服务器为主从复制、哨兵的实验做准备 一台主redis、两台从redis 二、Redis性能管理 2.1 查看Redis内存使用 查看Redis内存使用——info memory 2.2 内存使用率 1<内存碎片<1.5表示合理的内存碎片大于>1.5&#xff0c;需要输入shutdown save…

VMware虚拟机三种网络模式

VMware虚拟机提供了三种主要的网络连接模式&#xff0c;它们分别是&#xff1a; 桥接模式&#xff08;Bridged Mode&#xff09;网络地址转换模式&#xff08;NAT Mode&#xff09;仅主机模式&#xff08;Host-Only Mode&#xff09; 1. 桥接模式&#xff08;Bridged Mode&am…

创建vue3项目及基本常用配置

1、创建vue3项目 1.1 创建vue3项目 确保电脑中安装了nodejs&#xff0c;新建文件夹&#xff0c;输入以下命令&#xff1a; npm create vuelatest 看是否为自己需要的vue版本&#xff0c;选择Y 各配置具体如下&#xff0c;根据自己的需求选择是或者否 npm create vuelatest …

阿里云数据库服务器价格表查询,一键查询报价

阿里云数据库服务器价格表&#xff0c;优惠99元一年起&#xff0c;ECS云服务器2核2G、3M固定带宽、40G ESSD Entry云盘&#xff0c;优惠价格99元一年&#xff1b;阿里云数据库MySQL版2核2G基础系列经济版99元1年、2核4GB 227.99元1年&#xff0c;云数据库PostgreSQL、SQL Serve…

redis哨兵搭建_主从复制高可用解决方案

redis哨兵搭建_主从复制高可用解决方案 redis集群搭建_亲自操作 Redis哨兵-实现Redis高可用 Redis Sentinel为Redis提供了高可用解决方案。实际上这意味着使用Sentinel可以部署一套Redis&#xff0c;在没有人为干预的情况下去应付各种各样的失败事件。 Redis Sentinel同时提…

Vivado sdk 20:41:22 ERROR : Error occurred while creating hardware platform错误

20:41:22 ERROR : Error occurred while creating hardware platform adrv9009_hw_platform_0 from sysdef java.io.FileNotFoundException: D:\workspace\project2024\project\adrvxxxx (拒绝访问。) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputSt…

OpenHarmony实战:标准系统移植指南

本文描述了移植一块开发板的通用步骤&#xff0c;和具体芯片相关的详细移植过程无法在此一一列举。后续社区还会陆续发布开发板移植的实例供开发者参考。 定义开发板 本文以移植名为MyProduct的开发板为例讲解移植过程&#xff0c;假定MyProduct是MyProductVendor公司的开发板…

RC滤波电路

RC滤波电路 综述&#xff1a;本文简单讲述了RC低通滤波电路和RC高通滤波电路。 滤波电路是指过滤输入信号中不需要的信号&#xff0c;保留需要的信号。 一、RC低通滤波电路 1.定义&#xff1a;RC低通滤波电路&#xff1a;保留低频信号&#xff0c;衰减高频信号。 2.截止频率…

突破校园网限速:使用 iKuai 多拨分流负载均衡 + Clash 代理(内网带宽限制通用)

文章目录 1. 简介2. iKuai 部署2.1 安装 VMware2.2 安装 iKuai(1) 下载固件(2) 安装 iKuai 虚拟机(3) 配置 iKuai 虚拟机(4) 配置 iKuai(5) 配置多拨分流 2.3 测试速度 3. Clash 部署3.1 准备工作(1) 配置磁盘分区(2) 安装 Docker(3) 安装 Clash(4) 设置代理 1. 简介 由于博主…