RAID阵列基础知识

RAID阵列基础知识

独立硬盘冗余阵列RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列

RAID的种类

这里我们只介绍比较常用的RAID类型,详细可查看维基百科

RAID-0 (等量模式,stripe): 性能最佳

  • 这种模式如果使用相同型号与容量的磁盘来组成时,效果最佳。这种模式的RAID会将磁盘先切出等量的区块(举例来说:4KB),然后当一个文件要写入RAID时,该文件会依据块的大小切割好,之后再依序放到各个磁盘里面去。由于每个磁盘会交错存放数据,因此当你的数据要写入RAID时,数据会被等量放置在各个磁盘上面。

    例如:你有两块硬盘组成RAID-0,当你有100MB的数据要写入时,每个磁盘会被分配到50MB的存储量。RAID-0的示意图:

    这里写图片描述

  • RAID-0需要自行负责数据损毁的风险,由上图我们知道文件是被切割成为适合每块磁盘分区区块的大小,然后再依序放置到各个磁盘中,所以如果一个磁盘坏了,那么数据将缺少一块,此时这个文件就损毁了。由于每个文件都是这样存放,因此RAID-0只要任何一块磁盘损毁,在RAID-0上面的所有数据都会丢失而无法读取。

RAID-1 (镜像模式,mirror): 完整备份

  • 这种模式也是需要相同的磁盘容量的,最好是一模一样的磁盘。如果是不同容量的磁盘组成RAID-1时,那么总容量将以最小的那一块磁盘为主!这种模式主要是让同一份数据完整保存在两块磁盘上面。举例来说,如果有一个100MB的文件,且我仅有两块磁盘组成RAID-1时,那么这两块磁盘将会同步写入100MB到他们的存储空间去。因此,整体RAID的容量就几乎少了50%.

这里写图片描述

  • 由于两块磁盘内的数据一模一样,所以任何一块硬盘损毁时,你地数据还是可以完整保留下来。所以我们可以说,RAID-1最大的优点大概就是在于数据的备份。不过由于磁盘容量有一半用在备份,因此总容量会是全部磁盘容量的一半而已。RAID-1的写入性能不佳,不过读取的性能则是还可以。这是因为数据有两份在不同的磁盘上面,如果多个进程在读取同一条数据时,RAID会自行取得最佳的读取平衡。

RAID 0 + 1

  • RAID-0的性能佳但是数据不安全,RAID-1的数据安全但是性能不佳,那么能不能将这两者整合起来设置RAID呢?那就是RAID 0 + 1或RAID 1 + 0。所谓的RAID 0 + 1就是先让两块硬盘组成RAID-0,并且这样的设计有两组;然后将这两组RAID-0再组成一组RAID-1,这就是RAID 0 + 1,反过来说,RAID 1 + 0 就是先组成RAID-1再组成RAID-0的意思。
  • 下图中,Disk 0 + Disk 1组成第一组RAID 0,Disk 2 + Disk 3组成第二组RAID 0,然后这两组再整合成一组RAID-1。如果我有100MB的数据要写,则由于RAID 1的关系,两组RAID-0 都会写入100MB,但是由于RAID-0的关系,因此每块磁盘仅会写入50MB而已。如此一来,无论哪一组的RAID-0的磁盘损毁,只要另外一组RAID-0还存在,那么就能够通过RAID-1的机制来恢复数据。

这里写图片描述

  • 由于具有RAID-0的优点,所以性能得以提升,由于具有RAID-1的优点,所以数据得以备份。但是也由于RAID-1的缺点,所以总容量会少一半用来作为备份。

Raid 1 + 0

  • 下图Disk 0 + Disk 1先组成第一组RAID-1,Disk 2 + Disk 3再组成一组RAID-1,然后这两组再整合成为一组RAID-0。如果我有100MB数据要写,首先会将数据分割,那么有50MB的数据会写入第一组RAID-1中,另外50MB写入第二组RAID-1中,由于RAID-1的特点,Disk 0 和 Disk 1都会写入同样的50MB数据,另外一组RAID-1也是同样。因此,的那个我饿能其中一块硬盘坏掉是没有关系的,但是如果第一组RAID-1(disk 0 + Disk 1)两块硬盘全部损坏,那么数据将会丢失。再比如Disk 0 和Disk 2两块硬盘损坏,由于RAID-1所以数据还是可以恢复的。

这里写图片描述

Spare Disk: 预备磁盘的功能

  • 磁盘阵列的磁盘损坏时,就得将要坏的磁盘拔除,然后换上一块新的磁盘。换成新磁盘并且顺利启动磁盘阵列后,磁盘阵列就会开始重建原本坏掉的那块磁盘数据到新的磁盘中去,然后你磁盘阵列上的数据就复原了。这就是磁盘阵列的优点,不过我们还是要手动插拔磁盘,此时通常得要关机才能这么做。
  • 为了让系统可以实时地在坏掉硬盘时主动重建,因此就需要预备磁盘(spare disk)的辅助。所谓的spare disk就是一块或者多块没有包含原本磁盘阵列等级中的磁盘,这块磁盘平时并不会被磁盘阵列所使用,当磁盘阵列有任何一块磁盘损坏时,这块spare disk会被主动拉进磁盘阵列中,并将坏掉的那块磁盘移除磁盘阵列,然后重建数据系统。

硬阵列和软阵列

  • 硬件磁盘阵列(hardware RAID)
    硬磁盘阵列就是通过磁盘阵列卡来完成阵列的。磁盘阵列卡上面有一块专门的芯片处理RAID任务,因此在性能方面会比较好。并且目前中高等的磁盘阵列卡都支持热插拔,即在不关机的情况下更换损坏的硬盘。

  • 软件磁盘阵列(software RAID)
    软件磁盘阵列主要是通过软件来仿真硬件磁盘阵列,因此会损耗较多的系统资源,比如说CPU的运算于I/O总线的资源等,不过我们现在的计算机已经速度很快了,因此这些限制现可以忽略不计了。

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

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

相关文章

timeshift备份你的Linux系统

timeshift备份你的Linux系统 安装 打开终端(ctrl alt T)并逐个执行以下命令 sudo apt-add-repository -y ppa:teejee2008/ppa sudo apt-get update sudo apt-get install timeshift 创建 点击Create按钮 默认不能备份用户下的文件,所以…

Go语言vscode环境配置

Go语言vscode环境配置 此教程在GO已经安装成功的前提下。 安装vscode扩展 在vscode扩展里面搜索go,然后下载扩展。 安装go 插件 在$GOPATH目录下创建bin,pkg,src切换到$GOPATH/bin目录下,打开终端输入以下命令,不需要翻墙: go…

消息队列-Message Queue

消息队列-Message Queue 目前随着互联网的普及以及上网用户的增多,拥有一套 安全、稳定、低耦合、高性能的内部通信工具尤为重要。 什么是消息队列? 消息队列(英语:Message queue)是一种进程间通信或同一进程的不同线…

Angular 第一章 开始

第一章 开始 用 JavaScript 开发应用程序是一个很大的挑战。由于它的延展性和缺少类型检查,在 JavaScript 中构建一个适当大小的应用程序是很困难的。除此之外,我们对所有类型的处理都使用JavaScript,例如用户界面(UI),操作、客户端-服务器交互和业务处理/验证。因此,我们…

Typescript实现单例之父类调用子类

Typescript实现单例之父类调用子类 设计要求 在程序中,需要一个对象可以全局使用,并且只有一个实例Breakpoint 类是一个可以被继承的类,然后子类必须实现 updateView函数updateView 这个函数可以被自动调用,当窗口发生变化的时候构思 UML 图 Layout 是一个单例类,也就是全局只…

Angular性能优化之脏检测

Angular性能优化之脏检测 当我们在使用 Angular 框架搭建项目时,随着组件越来越多,页面也来越复杂,性能会越来越低,主要表现在 CPU 使用率 很高。所以我们要对项目做一定的优化。 Angular脏检查(Change Detection)机制 Angular 的脏检测主要是指 zone.js,这是一个开源的…

linux安装zsh终端

linux安装zsh终端 ZSH 已经被收录到了 Ubuntu 18.04 LTS 的官方软件包存储库中了 sudo apt install zshZSH Shell 安装好之后,可以使用如下命令查看其版本: zsh --version取代bash,设为默认shell sudo usermod -s /bin/zsh username也可以…

共享图片方案

共享图片方案 安装chrome插件 极简图床安装,链接地址 插件使用 使用阿里云 OSS 存储图片 阿里云 OSS 提供了安全、低成本、高可靠的云存储服务,极简图床针对阿里云 OSS 做了整合,通过简单的设置,即可方便地将图片上传到阿里…

javascript复制到黏贴板之完美兼容

javascript复制到黏贴板之完美兼容 很多时候我们需要给用户方便,提供一键复制的功能,但是在实现的过程中遇到各式各样的坑。 原生解决方案 document.execCommand()方法 MDN上的定义: which allows one to run commands to manipulate the contents of the edita…

制作windows启动盘-大于4GB镜像

制作windows启动盘-大于4GB镜像 制作一个 Windows 安装 U 盘是很容易的,使用 UltraISO 这样的刻录工具量产一个 iso 镜像文件到 U 盘即可。然而随着 Windows 10 版本号的提升,镜像变得越来越大,终于 FAT32 文件系统不再能够容纳得下安装镜像…

PC介绍之电脑组成

电脑组成 CPU cpu就是中央处理器,英文为central processing unit。 CPU一般我们需要知道以下几点即可: 主频 CPU的主频,即CPU内核工作的时钟频率(CPU Clock Speed),通常所说的某某CPU是多少兆赫的&#xff…

PC介绍之PCIE、总线、内存、电源

PC介绍之PCIE、总线、内存、电源 PCIE降速 PCI-E的总线性能 目前我们所使用的显卡是x16 走 PCIE 3.0,有些显卡虽然插在x16的插槽上,但是速度只有x8的速度,总的来说好的显卡目前都是x16。 主板一般会提供一条x16,x8, x1三个插槽&#xff0c…

PC介绍之显卡

PC介绍之显卡 一、什么是显卡? 显示接口卡(Video card,Graphics card)、显示器配置卡简称为显卡,是个人电脑基本组成部分之一。 用途是将计算机系统所需要的显示信息进行转换驱动,并向显示器提供信号&…

Sublime Text 3 无法输入中文解决方案

Sublime Text 3 安装及无法输入中文解决方案 安装sublime-text 3 如果是ubuntu系统终端输入: wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - sudo apt-get install apt-transport-https echo "deb https://download.…

Linux Server 安装 raid 1

Linux Server 安装 raid 1 两组以上的N个磁盘相互作镜像,在一些多线程操作系统中能有很好的读取速度,理论上读取速度等于硬盘数量的倍数,与RAID 0相同。另外写入速度有微小的降低。只要一个磁盘正常即可维持运作,可靠性最高。其原…

0-安装Vagrant和使用

0-安装Vagrant和使用 Vagrant 是一款软件,可以自动化虚拟机的安装和配置流程。用来管理虚拟机,如 VirtualBox、VMware、AWS等,主要好处是可以提供一个可配置、可移植和复用的软件环境,可以使用shell、chef、puppet等工具部署。所以…

什么是分布式系统的CAP理论?

什么是分布式系统的CAP理论? 2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想。2年后,麻省理工学院的Seth Gilbert和Nancy Lynch从理论上证明了CAP。之后,CAP理论正式成为分布式计算领域的公认定理。 …

1-docker 介绍

1-docker 介绍 由PaaS到Container 2013年2月,前Gluster的CEO Ben Golub 和 dotCloud 的 CEO Solomon Hykes 坐在一起聊天时,Solomon谈到想把 dotCloud 内部使用的Container容器技术单独拿出来开源,然后围绕这个技术开一家新公司提供技术支持…

3-docker 架构和底层技术简介

3-docker 架构和底层技术简介 Docker Platform Docker 是一个平台。 提供了一个开发、打包、运行app的平台把app和底层 infrastructure 隔离开来 根据上图我们可以看出 Docker Engine 把上层的 app 应用程序和底层的物理设备或虚拟设备进行了隔离,然后我们在 doc…

6-搭建一个私有registry

6-搭建一个私有registry docker hub 查找 registry docker hub registry 可以看到部署很简单,只有一条命令。 docker run -d -p 5000:5000 --restart always --name registry registry:2部署私有registry 找一台linux的服务器并安装好docker 在此服务器上部署re…