linux系统中独立冗余磁盘阵列RAID

CPU及缓存技术(内存)速度发展很快,而硬盘设备的性能提升却不是很大,因此硬盘逐渐成为当代计算机性能提升的瓶颈。

硬盘设备需要进行持续、频繁、大量的IO操作,损害几率较大。

1988年,加利福尼亚大学伯克利分校首次提出并定义了RAID技术的概念。

RAID技术通过把多个硬盘设备组合成一个容量更大、安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备上,

然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上,从而起到了非常好的数据冗余备份效果。

技术特点:把多个硬盘设备组合成一个用量更大、安全性更好的磁盘阵列,并把数据切割成多个区段后分别放在各个不同的物理硬盘设备上

独立冗余磁盘阵列技术解决的问题:

1、提高硬盘设备的IO性能(主要是通过分散读写技术来实现)

2、数据冗余备份(防止因硬盘损坏造成的数据丢失,提高了数据的安全性)

 

常见的RAID技术方案:

 1、RAID0:

      RAID0技术把多块物理硬盘设备通过硬件或软件的方式串联在一起,组成一个大的卷组,并将数据依次写入到各个物理硬盘中。

      RAID0技术有效的提升了硬盘数据的吞吐速度,但是不具备数据备份和错误修复能力,任意一块硬盘发生故障将导致整个系统的数据都受到破坏。(linux就该这么学p135)

 

 

2、RAID1

RAID1技术在多块硬盘中备份相同的数据,虽然提高了读写性能,提高了安全性,其中一块硬盘的损坏不影响其他硬盘中的数据,但是

由于在多个硬盘中备份相同的数据,降低了硬盘的利用率。(linux就该这么学p135)

 

 

3、RAID5

RAID5技术把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中。RAID5磁盘阵列组中数据的奇偶娇艳信息并不是单保存到某一块硬盘中。

下图中parity部分存放的就是数据的奇偶校验信息,换句话术,就是RAID5技术实际上没有备份硬盘中的真实数据信息,而是当硬盘设备出现问题后

通过奇偶校验信息来尝试重建损坏的数据。RAID5这样的技术特性“妥协”地兼顾了硬盘设备的读写速度、数据安全性与存储成本问题。

 

 

以四块磁盘raid5为例,由于RAID5会损失《相当于》一块磁盘的空间,并不是有一块磁盘不能用了,而是每个磁盘上损失的零散的空间之和等于一块磁盘的空间。

(前提是你所使用的组建RAID5的所有磁盘容量相同。)阵列控制器会自动根据你选择的磁盘数,知道它需要把数据分散成三分,并且计算出一份校验信息,

然后一次性写入四个磁盘上。注意:无论几块磁盘的raid5,假设X块磁盘,都是把需要写入磁盘的数据先分成   X-1   份,然后对 X-1  份数据进行运算,

只产生一份的校验信息,最后把X份数据写入由X块磁盘组成的raid5卷,X份数据包含X-1份正常数据信息和一份校验信息。RAID5的校验信息是根据异或运算得到的,

不论数据分成几份只产生一份校验信息。想深入了解你可以根据搜索“异或运算”。而产生的校验信息存放在哪里呢?

之前我们知道产生了需要把3个数据和一个校验信息写入四个磁盘,阵列控制器会提前计算好存放位置,它根据自己预定的规则,当第一次数据来了,先分成三份,

算出校验信息,假设第一次把校验信息写在第一块磁盘,其他三块磁盘写数据信息;第二次就把校验信息存第二块磁盘,其他三块磁盘存数据信息。以此类推,

把校验信息零散分布在每个磁盘上,所以校验信息是其他所有磁盘数据信息的校验结果。当一块磁盘损坏,它上面有校验信息也有数据信息,但是不管是什么信息,

都可以根据其他磁盘的信息通过异或运算,算出这块磁盘的所有信息。

我们可以看到,由于总会计算校验信息,校验信息会占用空间,这才导致RAID会损失一块磁盘空间来存储校验信息,但是校验信息占用的空间是零散分布在不同磁盘上的。

等磁盘都写满了的时候,你会发现,这些校验信息所占用的零散空间之和正好等于一块磁盘的空间。(https://zhidao.baidu.com/question/190987038.html)

 4 、 RAID 10

RAID10技术是RAID1和RAID0技术的一个“组合体",如下图:RAID10技术需要至少4块硬盘,其中先两两制作成RAID1磁盘阵列,以保证数据的安全性;然后再对两个RAID1实施RAID0技术,

用以提高硬盘的读写性能。这样从理论上来讲,只要坏的不是同一组中的所有硬盘,数据就不会丢失。(linux就该这么学p137)

 

 

RAID、RAID0和RAID10的区别:

RAID1和RAID10都进行了数据的多重备份,RAID10相较于RAID1,多出了RAID0,提高了硬盘的读写性能。

RAID10相较于RAID0,数据实现了多重备份,更加安全。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


系ubuntu 下面打开终端输入:sudo apt-get install sendmail一般就安装完成噶啦跟住进入 /etc/mail/目录输入:m4 sendmail.mc > sendmail.cf意思系跟住.mc文件 生成 sendmial.cf文件输入呢个命令:ps aux | g
依家我有1个软件goagent目录(大家懂得) 放在/home/gateman/Programs/ 下 1. proxy.py 入面有1个 proxy.py 文件 放在/home/gateman/Programs/goagent/local/ 入面 2.breakwall.sh 我在 proxy.p
其实我想讲的是 cp -L关于-L参数的解释:-L, --dereference always follow symbolic links in SOURCE意思是如果复制目标是1个软链接,则复制链接的目标 不是链接本身做个例子: 例如 ~/tmp/fo1 入面有1个c.txt 文件 和 指向他的软
原地址:http://www.rjgc.net/control/content/content.php?nid=4418 1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/do
chroot,即 change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录结构都是以 `/`,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为 `/` 位置。实例:用live CD ubuntu假设你的
简单解析下, stdin就是标准输入, stdout就是标准。举个例子, 在当前我要打包1个文件夹 /var/log/ 到当前目录下,并用zip压缩,那么我们可以分步执行#tar -cvf log.tar /var/log/#zip -r log.tar.zip log.tar#rm -rf log
转自:http://man.ddvip.com/linux/Mandrakelinuxref/process-priority.html系统中运行的每个进程都有一个优先级(亦称“nice 值”),其范围从 -20 (最高优先级)到 19 (最低优先级)。默认情况下,进程的优先级是 0 (“基本”调度
str="/home/gateman" if [ ${str:0:1} = "/" ]; then echo "yes'fi ${str:0:1} 中0表示从第几个字符开始,1表示截取多长
转自:http://kwokchivu.blog.51cto.com/1128937/694347 在RedHat系统下用usermod 命令可把某用户添加进多个附属组,默认情况下,一次性添加多个附属组可用以下方式来添加: usermod -G 附属组1,附属组2,...,附属组X 用户名 但在添加
有个文件 test.txt 内容如下:bash-3.00$ cat test.txt user user user_hiuser #注:呢行系空行T JGATEMANGATTTTTEMANGABBEMANAAABbash-3.00$下面介绍下常用的通配符 配合grep 命令:1. ".&q
linux系统为每1个文件都分配有i索引节点(inode),系统根据呢d节点从磁盘找出数据。 一般来讲,每1个文件名(包含全路径)实际上都链接住1个i索引节点。inode实际上系乜咧? 其实可以算系1个指向磁盘具体位置(柱面,扇区之类)的指针, 系统分析某个文件的inode,得出磁盘柱面,扇区等数据
grep 可以立即为筛选, 一般的用法系 grep + 要查询的字段 + 文件(或者内容 例如| 传递既内容)1.grep + 要查询的字段 + 文件gateman@GPC:~/shell/SQL_GSI$ grep OID a.sqlWHERE OID=@BuildNOWHERE OID INWH
原文转自:http://www.ibm.com/developerworks/cn/linux/l-cn-vimcolumn/index.html开始之前人类大脑对文字的处理是平面式的,所以我们浏览文章、查找资料或者重构代码,要么是横向读,要么是纵向读,要么使用搜索功能,将文字作为一个平面整体。而在
PS:偶很喜欢用scp这个命令来传输数据。scp命令跟cp命令类似,只不过cp命令是在同一台机器上用的,scp是在两台机器上复制传输数据的命令。scp实质相当于利用SSH协议来传输数据的cp命令。 用法举例: 1、复制远程服务器的文件到本地: scp -P888 root@120.18.50.33:
打开终端,进入/bin/ls 一下会见到 bash sh 呢两个文件。其实距地系两个唔同既shell 解析器。如果在脚本a.sh 开头写入#!/bin/sh那么执行./a.sh 时候 就相当于 sh a.sh同理 开头写入#!/bin/bash执行./a.sh 时候 就相当于 bash a.sh如果
find查找文件的时候排除某个或几个文件或目录转自:http://www.cnblogs.com/starspace/archive/2008/10/20/1315380.html比如要在/usr/sam目录下查找不在dir1子目录之内的所有文件find /usr/sam -path "/
假设有变量 var=http://www.google.com/test.htm一 # 号截取,删除左边字符,保留右边字符。echo ${var#*//}其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.goog
转自: http://edyfox.codecarver.org/html/_vimrc_for_beginners.htmlVIM 中可供用户定制的选项非常非常多,作为初学者,我们没有必要了解这么多东西。下面,滇狐简单列出了一些最常用的配置项,大家可以根据自己的需要将这些内容添加到自己的 .vim
转自:http://www.einit.com/user1/11/archives/2006/3603.htmlUnix/Linux下一般想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mysql/bin/mysq
首先, mount是类unix系统, 挂载设备到1个文件夹的操作命令, 注意系设备阿正常来讲,mount 是不能挂在文件夹到文件夹的。例如, 在我的~/tmp/ 目录中有两个文件夹fo1 fo2其中fo1 中有3个文件a.txt b.txt c.txt fo2 有4个 e.txt d.txt e.t