服务器学习——RAID、SCSI

news/2024/7/16 9:27:13 标签: 服务器, 磁盘, 扩展, raid5, ide, interface

首先我们来介绍SCSI

SCSI的英文全称为“Small Computer System Interface”,中文名“小型计算机系统接口”。它是一种外设接口,在服务器中则主要由硬盘采用,除此之外,还有CD/DVD-ROM、CD- R/RW、扫描仪、磁带机等也有采用这一接口的。其实,SCSI也不算是新的接口类型,早在1986年SCSI标准就已开始制定,至今也经历了将近20多年的时间。

SCSI接口造价较高,向来是以高传输率和高可靠性著称,广泛应用于服务器和高档PC中,我们常说的服务器硬盘就是指具有SCSI接口的硬盘。

相对PC机中常用的IDE(ATA)接口来说(目前最快的为133MB/s),它的传传输速率具有明显的优势,所以在服务器中通常是采用SCSI接口的硬盘,而非常见的IDE接口硬盘。不过目前新的 SATA(串行IDE)接口的传输速率也接近SCSI接口速率,也正在服务器中得到应用。

 

       下面我们来介绍RAID

RAID是“Redundant Arrayof Independent Disk”的缩写,中文意思是“独立冗余磁盘阵列”。简单地解释,就是将N台硬盘通过RAID Controller(分Hardware,Software)结合成虚拟单台大容量的硬盘使用。磁盘阵列中针对不同的应用使用的不同技术,称为RAID level,而每一level都代表着不同技术,目前对RAID级别的定义可以获得业界广泛认同的有4种,RAID0、RAID 1、RAID 0+1和RAID5。这个level并不代表技术的高低,至于要选择那一种RAID level的产品,纯视用户的操作环境(operatingenvironment)及应用而定,与level高低没有必然关系。RAID级别可以相互组合或通过扩展,形成诸如RAID10、50和60等RAID级别。

       

这里我们介绍一下RAID level的不同级别:

RAID 0:无差错控制的带区组,RAID 0的速度是最快的。但是RAID 0没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用。

RAID 1是两块硬盘数据完全镜像,安全性好,技术简单,管理方便,读写性能均好。因为它是一一对应的,所以它无法单块硬盘扩展,要扩展,必须同时对镜像的双方进行同容量的扩展。因为这种冗余方式为了安全起见,实际上只利用了一半的磁盘容量,数据空间浪费大。 

RAID 0+1综合了RAID 0和RAID 1的特点,独立磁盘配置成RAID 10,两套完整的RAID1 0互相镜像。它的读写性能出色,安全性高,但构建阵列的成本投入大,数据空间利用率低。

RAID 5是目前应用最广泛的RAID技术。各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验(异或运算),校验数据平均分布在每块硬盘上。以n块硬盘构建的RAID 5阵列可以有n-1块硬盘的容量,存储空间利用率非常高。任何一块硬盘上的数据丢失,均可以通过校验数据推算出来。它和RAID 3最大的区别在于校验数据是否平均分布到各块硬盘上。RAID 5具有数据安全、读写速度快,空间利用率高等优点,应用非常广泛,但不足之处是如果1块硬盘出现故障以后,整个系统的性能将大大降低。 

  RAID 1、RAID 0+1、RAID 5阵列配合热插拔(也称热可替换)技术,可以实现数据的在线恢复,即当RAID阵列中的任何一块硬盘损坏时,不需要用户关机或停止应用服务,就可以更换故障硬盘,修复系统,恢复数据,对实现高可用系统具有重要的意义。


       服务器中之所以选在RAID 磁盘阵列,是因为它们有以下优点:支持自动检测故障硬盘;支持重建硬盘坏轨的资料;支持不须停机的硬盘备援HotSpare;支援支持不须停机的硬盘替换Hot Swap;支持扩充硬盘容量等。

 






http://www.niftyadmin.cn/n/1705589.html

相关文章

【SpringBoot】SpringBoot整合log4j

SpringBoot整合log4j (1)添加依赖 记得移除SpringBoot中默认的日志框架logback 需要指定log4j的版本号,否则在应用启动时,slf4j找不到具体的日志实现。关于各种日志和slf4j的关系,可以参考这篇文章Spring Boot&#x…

【SpringBoot】SpringBoot整合Nginx的全部流程

SpringBoot整合Nginx的全部流程 对Nginx还不了解的同学可以先看这篇文章Nginx 相关介绍(Nginx是什么?能干嘛?) 今天的目标是将SpringBoot项目由默认部署方式(jar)替换成war形式,部署在同一台电脑上的两个不同端口的tomcat上,利用Nginx做反向代理&…

关于VB.Net的知识的一点收获

最近使用VB.net在做机房收费系统,一路磕磕绊绊,我执行数据库都使用的是存储过程。在这段学习的过程当中走的很慢,几乎每天都会遇到很多新的问题,每天都有不同的收获,下面小结一下几个零碎的知识点吧。 1.静态函数及变量…

解决方案、项目、程序集、命名空间

一、解决方案、项目、程序集、命名空间 初学者很容易把这些概念搞混淆。先说说项目(Project),通俗的说,一个项目可以就是你开发的一个软件。在.Net下,一个项目可以表现为多种类型,如控制台应用程序&#xf…

angular学习之directive

Angular对directive的定义是一段代码片段,你 可以用它来操作DOM 使用directive可以实现事件的绑定module.directive( "addBookButton", [ Book, function( Book ) { return { restrict: "A", link: function( scope, element, attrs ) { elemen…

【Docker】Windows中无法访问Docker中Nginx的解决方案

Windows中无法访问Docker中Nginx的解决方案 (1)执行 docker run -d -p 8080:80 hub.c.163.com/library/nginx 运行Nginx容器 解释:-d表示后台运行,-p为端口设置,8080为本机端口,80为Nginx容器开放的端口&…

.NET中的DataView

DataView类用来表示定制的DataTable的视图。DataTable和DataView的关系是遵循著名的设计模式--文档/视图模式,其中DataTable是文档,而Dataview是视图。 在任何时候,你都可以有多个基于相同数据的不同的视图。更重要的是,你可以对…

为师在拆装机中的感受

上周一起和9期的学员进行了拆装机器的学习,时隔一年我们这次不是以学生的身份学习,而是以一个老师的身份、一个师傅的身份出场了。在整个过程当中也充满了欢声笑语,自己也得到了一次难得的锻炼的机会。 因为提前一周就通知了我们要教9期进行电…