热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

辛星浅析raid

我们来分析一下影响计算机性能的主要组件,主要就是CPU、主板的总线IO、内存IO、硬盘IO、网卡IO等等,而且现在CPU的性能已经很好了,但是计算机的整体的IO性能却较低,严重影响

     我们来分析一下影响计算机性能的主要组件,主要就是CPU、主板的总线IO、内存IO、硬盘IO、网卡IO等等,而且现在CPU的性能已经很好了,但是计算机的整体的IO性能却较低,严重影响了计算机的性能,现在的计算机的总线IO、内存IO的速度都可以达到5G/s以上,但是磁盘IO往往较低。

     我们来分析一下常见的几种吧,对于SATA硬盘来说,速度小于150MB/s,对于SCSI硬盘来说,速度小于200MB/s,对于SAS硬盘来说,速度大约在200MB/s左右,而固态硬盘,也就是SSD,速度大约在500MB/s左右。我们平时自己使用的硬盘大多数是SATA接口的机械硬盘,而SATA3接口还是比较快的,可以达到6GB/s,而SCSI SAS一般用于服务器,通常转速很快,可以达到每秒一两万转,所谓SAS就是串行SCSI,而SSD就是固态硬盘啦。

     硬盘式绝大多数计算机的性能瓶颈,而IOPS也起到了很大的作用,所谓IOPS,它是Input/Output  Operation Per Second的缩写,也就是每秒进行读写(IO)操作的次数,多用于数据库等场合,他是衡量随机访问的性能的一个重要参数。而且我们发现现代磁盘的缺陷:IO性能弱,稳定性差。

    所谓RAID,也就是Redundant   Array  of  Independent  Disks,也就是廉价磁盘冗余阵列,它通过多磁盘并行运行,来提供计算机的存储IO性能。RAID有很多种类,称之为RAID的级别,现代RAID有7类,常用的则有4类。也就是RAID0、RAID1、RAID5、RAID6.对于冗余性,可以类比备份,多块磁盘组成了一个RAID,但是在OS看来只有一块RAID硬盘,而RAID5允许并行中的多块硬盘,可以有一块出现故障,而不丢失数据。

    对于RAID0,它最少需要两块硬盘,它将数据分别读写到多块硬盘,来提升读写性能,有几块硬盘,就可以吧数据分为几份来写,它的空间利用率是所有硬盘空间之和,它的性能也是所有硬盘速度之和,它没有冗余能力。它的优点就是可以并行的读和谐,而且空间利用率高,性能也最好。它的缺点就是一旦RAID中的某块硬盘出现故障,则数据将会全部丢失。

    对于RAID1,它需要偶数块硬盘,在读数据时,同时从多块硬盘读取数据来提高读取性能,它与RAID0的读速度一样,在写数据时它需要将同一数据复制到多块磁盘,从而提供冗余性。它应用于数据安全性以及完整性要求比较高的情景,而且读远多于写。它的空间利用率就是组成RAID1中最小的那块磁盘,它的读性能为所有硬盘速度之和,但是写性能比读性能要差一些。它的冗余能力就是,只要有一块硬盘没有损坏,那么数据就是完整的。对于RAID1来说,它的读很快,冗余性也很高,但是缺点就是有几块硬盘就需要有几份相同的数据,写数据很慢。

    对于RAID5来说,它最少使用3块硬盘,在读数据时,同RAID0,分布式的往磁盘上写数据,在读数据时,对数据进行奇偶校验,将校验信息同时保存在磁盘上,而校验信息在数据恢复时使用。其中RAID0性能最高,而RAID1冗余性最高,但是使用场景都不多,而实际的生产环境中多使用RAID5和RAID6.它的空间利用率是1-1/硬盘数,它的读性能很接近RAID0,写性能比RAID0弱,它的冗余能力就是如果有一块磁盘损坏,不会丢失数据。

    对于RAID6来说,它最少使用4块硬盘,它和RAID5一样,只是多一块硬盘保存校验信息的副本,读数据时,同RAID5,分布式的往磁盘上写数据,在写数据时,对数据进行奇偶校验,将校验信息同时保存在磁盘上,但是会再额外保存一份校验信息。它的空间利用率是1-2/硬盘数,它的读性能接近RAID5,但是写性能比RAID5弱,它的冗余能力就是如果有一块 硬盘损坏,不会丢失数据。

    对于RAID的实现,可以分为软件实现 和硬件实现。如果是软件实现,可以通过系统功能或者软件来实现,它没有独立的硬件和接口,它会占用一定的系统资源,比如cpu、内存、硬盘接口速度,受操作系统的稳定性影响。如果是硬件实现,可以通过购买独立的RAID硬件卡来实现RAID,有些主板集成了RAID硬件,硬件RAID不需要占用其他的硬件资源,而且稳定性和速度都比软件RAID要强。    

   

辛星浅析raid


推荐阅读
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • andr ... [详细]
  • VPX611是北京青翼科技推出的一款采用6U VPX架构的高性能数据存储板。该板卡搭载两片Xilinx Kintex-7系列FPGA作为主控单元,内置RAID控制器,支持多达8个mSATA盘,最大存储容量可达8TB,持续写入带宽高达3.2GB/s。 ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 使用GDI的一些AIP函数我们可以轻易的绘制出简 ... [详细]
  • TechStride 网站
    TechStride 成立于2014年初,致力于互联网前沿技术、产品创意及创业内容的聚合、搜索、学习与展示。我们旨在为互联网从业者提供更高效的新技术搜索、学习、分享和产品推广平台。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 本文介绍如何在Linux服务器之间使用SCP命令进行文件传输。SCP(Secure Copy Protocol)是一种基于SSH的安全文件传输协议,支持从远程机器复制文件到本地服务器或反之。示例包括从192.168.45.147复制tomcat目录到本地/home路径。 ... [详细]
  • 本文详细介绍了如何在CentOS 7操作系统上安装和配置Grafana,包括必要的依赖项安装、插件管理以及服务启动等步骤。 ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • 本文将带领读者深入了解Android系统源码在手机中的实际表现,通过详细的步骤和专业的解释,帮助你更好地理解Android系统的底层运作机制。 ... [详细]
  • Qt中QSpinBox与QSlider的联动实现
    本文介绍如何在Qt框架下将QSpinBox和QSlider组件进行联动,使用户在拖动滑块或修改文本框中的数值时,两个组件能同步更新,从而提供更加直观和便捷的用户体验。 ... [详细]
author-avatar
前世梦0708
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有