RAID 0+1硬盘阵列组建图解及RAID 0+1和1+0的区别

2024-04-21 14:58

本文主要是介绍RAID 0+1硬盘阵列组建图解及RAID 0+1和1+0的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

经常有人来文RAID,只其然而不知其所以染,今天我就以网吧为例讲解下。

随着网吧规模扩大,网吧电脑数量也会相应增加,上网的顾客也随之增多,服务器硬盘数据存取的速度将会成为新的瓶颈,很多顾客开始投诉服务器点播的电影比较卡、游戏升级速度慢等问题,倘若不采取相关措施,那么好不容易扩大的经营将毁于一旦。

 

  那么如何解决硬盘存取速度的瓶颈呢?用多个硬盘组建RAID阵列将是一个较佳的解决方案。然而许多网管由于缺少实际经验,对于RAID技术只有含糊的概念,所以小编特别编写了本文,与大家一起分享RAID基础知识与最常用的RAID 0+1组建实例。
  RAID英文全称为Redundant Array of Inexpensive Disks,中文译为廉价磁盘冗余阵列。它实质是使用多块物理硬盘组成一个具有加速、自动备份、数据损毁恢复等功能的逻辑硬盘。

 

  为了满足不同工作环境的需要,RAID技术分为了以下RAID 0-7计合8种。每种阵列都各自有其自身优点与缺点,例如RAID 1阵列强调磁盘的数据的安全性、RAID 0阵列提高访问速度、RAID 5阵列兼顾速度与的安全等。下面就来看看常用阵列的具体特点。

 

  常用RAID阵列类型
   RAID 0

  RAID 0阵列即(Data Stripping)数据分条阵列,其主要的特点是存取的数据都被分割成为条状(stripped)分布存放在各个物理磁盘上。这样处理的优点是可以并行存取,从而获得双倍或多倍存取速度。其中最简单的RAID 0阵列,使用两块硬盘提供双倍传输速度,假如阵列卡能支持多块硬盘组成RAID 0,那么则可以获得N倍(N为加入阵列的硬盘数量)传输速度。
  这种阵列的缺点是数据安全比较脆弱,只要阵列内某一硬盘出现故障,所有的数据将全部丢失。因而,为了在数据脆弱性与速度之间取得较好的平衡,实际使用时RAID 0通常只使用两块硬盘,获得双倍传输速度同时稳定性下降一半,用于存放视频点播文件、临时文件等对安全性要求不高的数据。
   RAID 1
  RAID 1阵列即(Data Mirror)数据镜像阵列,其主要特点在提供了较为优异的数据安全保障。整个阵列至少需要两块硬盘组建,在写入时同时将数据备份至另一块硬盘,所以即使其中一块硬盘出现故障而造成数据损坏时,文件也不会丢失。但是其代价就是的阵列内半数硬盘用于即时镜像备份,容量为阵列内硬盘总容量的一半,而且速度没有任何提升。
   RAID 0+1
  为了把RAID 0的快速存取特点与RAID 1数据安全的优点结合起来,人们还设计了RAID 0+1阵列。这种阵列最少需要4个硬盘才能创建。其中两块硬盘用来存取数据,两块硬盘用于镜像数据。用于存放数据两块硬盘被划分为条状并行存取,这样可以获得双倍数据存取的速度,而另两个硬盘则即时为条状并行存取的硬盘制作镜像,以确保任意一块盘出现了故障,也不会导致数据丢失。
  由于兼顾到了存取速度和数据的安全,所以这种阵列在网吧、小型企业中使用非常广泛。
   RAID 3和RAID 5
  RAID 3和RAID 5都采用了校验的数据存储方式,所不同的是RAID 3采用了一块物理硬盘专门来存放校验的数据,而存放数据的硬盘却有好几个硬盘同时并行工作,不管是每一个硬盘的数据进行修改,校验的数据硬盘也会同时跟着改动,这就导致了校验硬盘工作负担过重,影响数据的存储效率,而RAID 5刚好相反,它把校验数据切成块存放在各个硬盘上这样就可以解决校验数据存放的瓶颈。
  由于RAID 5的阵列卡价格较为高昂,所以该种阵列目前仅在大型企业中使用,而鲜有被网吧采用。
  RAID 0+1实战
  了解各种RAID阵列之后,接下来就网吧中常用的RAID 0+1的设置为例子,图解介绍整个设置过程。
  首先要准备四块硬盘、一台具有空白PCI卡或PCI-E插槽的电脑(根据RAID卡的接口不同而定)、一块RAID卡(假如主板已经集成了RAID卡则不需要)。
  安装RAID卡至主板,将四块硬盘连接至RAID卡的数据接口上。开启电脑,并依说明书进入RAID设置画面。本例所使用的TRAK100阵列卡,使用“Tab”按键作为设置热键,所以按“Tab”键,即可进入RAID设置画面。
  进入RAID设置环境之后,按3键选择“Define Array”选项,进入RAID定义窗口。
  在RAID定义窗口按下“Enter”按键,进入RAID编辑窗口,在编辑窗口中可以设置RAID的模式,需要特别注意的是,许多RAID卡为用户提供的模式均使用存储模式表达,其中“Stripe”条状存储存则为RAID 0模式;“Mirror”表示RAID 1;而“Mirror/Stripe”则表示RAID0+1的模式。用户可以使用空格键切换RAID的模式,这里选择 “Mirror/Stripe”模式,并把通道中的四个硬盘设置为“Y”状态。设置完成之后按下“Ctrl+Y”保存设置的结果。
  需要特别提示的是,使用少于4个硬盘不能设置RAID 0+1的模式,并且不会出现“Mirror/Stripe”的选择模式。
  设置的完成后,可以看到硬盘的整个容量达到了80G,这是根据RAID 0+1的功能特点得出的。它的容量为最小硬盘基数的两倍,由于笔者使用的硬盘中最小的是40G,因此设置完成之后,容量为40G*2,如果使用的是4个80G的硬盘,那么设置“Mirror/Stripe”模

这篇关于RAID 0+1硬盘阵列组建图解及RAID 0+1和1+0的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/923355

相关文章

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

Python中@classmethod和@staticmethod的区别

《Python中@classmethod和@staticmethod的区别》本文主要介绍了Python中@classmethod和@staticmethod的区别,文中通过示例代码介绍的非常详细,对大... 目录1.@classmethod2.@staticmethod3.例子1.@classmethod

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

Golan中 new() 、 make() 和简短声明符的区别和使用

《Golan中new()、make()和简短声明符的区别和使用》Go语言中的new()、make()和简短声明符的区别和使用,new()用于分配内存并返回指针,make()用于初始化切片、映射... 详细介绍golang的new() 、 make() 和简短声明符的区别和使用。文章目录 `new()`

Python中json文件和jsonl文件的区别小结

《Python中json文件和jsonl文件的区别小结》本文主要介绍了JSON和JSONL两种文件格式的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 众所周知,jsON 文件是使用php JSON(JavaScripythonpt Object No

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入

python中json.dumps和json.dump区别

《python中json.dumps和json.dump区别》json.dumps将Python对象序列化为JSON字符串,json.dump直接将Python对象序列化写入文件,本文就来介绍一下两个... 目录1、json.dumps和json.dump的区别2、使用 json.dumps() 然后写入文

native和static native区别

本文基于Hello JNI  如有疑惑,请看之前几篇文章。 native 与 static native java中 public native String helloJni();public native static String helloJniStatic();1212 JNI中 JNIEXPORT jstring JNICALL Java_com_test_g

Android fill_parent、match_parent、wrap_content三者的作用及区别

这三个属性都是用来适应视图的水平或者垂直大小,以视图的内容或尺寸为基础的布局,比精确的指定视图的范围更加方便。 1、fill_parent 设置一个视图的布局为fill_parent将强制性的使视图扩展至它父元素的大小 2、match_parent 和fill_parent一样,从字面上的意思match_parent更贴切一些,于是从2.2开始,两个属性都可以使用,但2.3版本以后的建议使