硬RAID管理(一)

摘要:
RAID1在磁盘阵列中具有最高的单位成本,但它提供了高数据安全性和可用性。RAID是由多个硬盘组成的冗余阵列。RAID5可以理解为RAID0和RAID1之间的折衷。同时,由于多个数据对应一个奇偶校验信息,RAID5比RAID1具有更高的磁盘空间利用率,其存储成本也相对较低。RAID5是目前广泛使用的解决方案。它是RAID5的扩展。它主要用于数据不会出错的情况。

一、开发理由:

  公司开发新的存储平台管理系统需要实现很多功能,硬RAID管理便是其一。

二、开发环境:

  并行存储系统采用的是GPFS、操作系统采用的是CentOS7.4、硬RAID管理采用的是Storcli

三、开发目标:

  实现各种RAID的新建、删除

四、知识储备:

  在这里介绍一下需要用到的各种知识:

    (一)、各种RAID:

      1 、raid0:RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能

      2、raid1:RAID 1通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互 为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据

      3、raid2:RAID 2是RAID 0的改良版,以汉明码(Hamming Code)的方式将数据进行编码后分割为独立的位元,并将数据分别写入硬盘中。因为在数据中加入了错误修正码(ECC,Error Correction Code),所以数据整体的容量会比原始数据大一些。

      4、raid3:RAID 3是把数据分成多个“块”,按照一定的容错算法,存放在N+1个硬盘上,实际数据占用的有效空间为N个硬盘的空间总和,而第N+1个硬盘上存储的数据 是校验容错信息,当这N+1个硬盘中的其中一个硬盘出现故障时,从其它N个硬盘中的数据也可以恢复原始数据,这样,仅使用这N个硬盘也可以带伤继续工作(如采集和回放素材),当更换一个新硬盘后,系统可以重新恢复完整的校验容错信息。由于在一个硬盘阵列中,多于一个硬盘同时出现故障率的几率很小,所以一般情况下,使用RAID3,安全性是可以得到保障的

      5、raid4:RAID是英文Redundant Array of IndependentDisks的缩写,中文简称为独立磁盘冗余阵列。RAID就是一种由多块硬盘构成的冗余阵列。虽然RAID包含多块硬盘,但是在操作系统下是作为一个独立的大型存储设备出现。RAID4即带奇偶校验码的独立磁盘结构,RAID4和RAID3很象。在独立访问阵列中,每个磁盘都是独立运转的,因此不同的I/O请求可以并行地满足

      6、raid5:RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 RAID 5可以理解为是RAID 0和RAID 1的折中方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案。

      7、RAID6:带有两种分布存储的奇偶校验码的独立磁盘结构。名字很长,但是如果看到图,大家立刻会明白是为什么,请注意p0代表第0带区的奇偶校验值,而pA代表数据块A的奇偶校验值。它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合。当然了,由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载。我想除了军队没有人用得起这种东西。

      8、RAID7:优化的高速数据传送磁盘结构。RAID7所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性,提高系统访问数据的速度;每个磁盘都带有高速缓冲存储器,实时操作系统可以使用任何实时操作芯片,达到不同实时系统的需要。允许使用SNMP协议进行管理和监视,可以对校验区指定独立的传送信道以提高效率。可以连接多台主机,因为加入高速缓冲存储器,当多用户访问系统时,访问时间几乎接近于0。由于采用并行结构,因此数据访问效率大大提高。需要注意的是 它引入了一个高速缓冲存储器,这有利有弊,因为一旦系统断电,在高速缓冲存储器内的数据就会全部丢失,因此需要和UPS一起工作。当然了,这么快的东西,价格也非常昂贵。

      9、RAID10:高可靠性与高效磁盘结构。这种结构无非是一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充,达到既高效又高速的目的。大家可以结合两种结构的优点 和缺点来理解这种新结构。这种新结构的价格高,可扩充性不好。主要用于数据容量不大,但要求速度和差错控制的数据库中。

      10、RAID53:高效数据传送磁盘结构。越到后面的结构就是对前面结构的一种重复和再利用,这种结构就是RAID3和带区结构的统一,因此它速度比较快,也有容错功能。但价格十分高,不易 于实现。这是因为所有的数据必须经过带区和按位存储两种方法,在考虑到效率的情况下,要求这些磁盘同步真是不容易。

    (二)、热备盘

热备盘相当于帮Raid阵列多做多个备份,如果Raid陈列里其中一个盘坏了,这个热备盘就会顶替Raid里的那个坏盘,同时利用异或校验算法,把坏盘上面的数据原样做出来并存储在热备盘中。这样一来就等于Raid没受到损坏,然后你再找个一个同样的盘把坏盘替换掉,Raid和热备盘的状态又正常了!

    (三)、外部配置

外部配置的来源是因为在创建了raid之后系统会在raid卡和硬盘中都保存raid信息,但是当raid卡中信息丢失,或者设备更换了新的raid卡,再或者在没有删除raid情况下将硬盘更换了设备,这是在raid卡中的raid信息和硬盘的raid信息是不匹配的,这种情况硬盘中的raid信息被称为外部配置

    (四)、预留缓存管理

在新建完raid后需要对raid进行读写,这些读写都是通过raid卡进行读写,所有信息都要经过raid处理,所以raid卡中会缓存数据的,当raid卡在对某个raid进行读写的时候该raid突然损坏无法使用,raid卡中的缓存信息就没有办法写入raid中,这是这些缓存信息便留在了raid卡中,被称为预留缓存

五、Storcli命令介绍:

  大部分命令可以在一下几个地方找到:

  http://blog.51cto.com/mofesi/1309251

  https://wenku.baidu.com/view/033080ca03d276a20029bd64783e0912a2167c1e.html

  接下来介绍用到的常用命令:

  storcli64 show:查看raid卡的信息

  storcli64 /c0/eall/sall show 查看所有的硬盘信息 (c0:第一个raid卡、eall:raid卡上连接的所有面板、sall:面板上所有的硬盘)
  storcli64 /c0/eall/sall show rebuild 查看所有的重构(rebuild)信息
  设置磁盘状态
  storcli64 /c0/ex/sx set good force 设置0:x:x硬盘状态为good
  storcli64 /c0/ex/sx set online 设置0:x:x硬盘状态为online
  storcli64 /c0/ex/sx set offline 设置0:x:x硬盘状态为offline
  storcli64 /c0/ex/sx set missing 设置0:x:x硬盘状态为missing
  storcli64 /c0/ex/sx set add hotsparedrive 设置0:x:x硬盘为热备盘
  storcli64 /c0/ex/sx set delete hotsparedrive 设置0:x:x硬盘解除热备

  磁盘定位

  storcli64 /c0/ex/sx start locate
  storcli64 /c0/ex/sx stop locate

  读取raid列表

  storcli64 /c0/vall show all

  storcli64 /c0/vall show init

  创建raid

  storcli64 /c0 add vd type=raid[0|1|5|6|10|50|60] size=all drives=133:0-1|drives=133:0,133:1 pdperarray=2

  storcli64 /c0/vx start init[full] force

  删除raid

  storcli64 /c0/v0 del force

  读取外部配置列表

  storcli64 /c0/fall show

  导入外部配置

  storcli64 /c0/fall show

  删除外部配置

  storcli64 /c0/fall delete

  读取预留缓存列表

  storcli64 /c0 show preservedcache

  删除预留缓存

  storcli64 /c0/vx delete preservedcache force

免责声明:文章转载自《硬RAID管理(一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Gentoo 包管理器: Emerge使用方法SVN使用教程总结下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

磁盘阵列

RAID1又称镜像阵列或磁盘镜像。他将相同的数据写入两个硬盘,两个硬盘互为镜像,当其中的一个发生故障时,另一个可以继续工作,并可在需要时重建阵列。这种类型具有较高的数据安全性,读取速度快,但写入速度慢,磁盘空间利用率低,适用于关键任务环境和对数据可靠性要求严格的场合 RAID5又称分布式奇偶校验阵列,至少需要三块硬盘,以数据的校验位来保证数据的安全,但它不...

在Dell XPS 13安装WIN10和ubuntu双系统

新入了Dell的XPS 13超级本,之所以买这个本子,就是看中它轻便且续航持久。这款本子也是为数不多的能够和苹果的13'' mac book air一较高下的本子。在重量上,占地面积和综合性价比上,还略胜一筹。 我买的本出场安装win10。还附赠1年office 2016 licence。只是鉴于本人的工作性质,以及DIY的偏好,自然微软的系统是不够折腾...

命名空间详解和分类

命名空间是什么 计算机科学领域中是通过名字来使用各种代码资源(变量和子程序)的,命名空间(namespace)则是组织这些资源的一组符号,例如目录树是就硬盘上文件们的命名空间。命名空间的设计目的是提供一种让一组名称与其他名称分隔开的方式。在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类的名称不冲突。 如果你还是无法获得命名空间的概念,你只要想...

用physdiskwrite在VMware虚拟机上安装m0n0wall【转】

在一台PC机上安装m0n0wall,相信大家都有经验。一般采用两种方法:1、在一台Windows XP或Windows 2000的PC上,下载physdiskwrite软件和m0n0wall映像文件(img文件),将一块硬盘(由于m0n0wall很小,因此很小容量的硬盘即可,1GB、2.1GB等均可;那种很老的210MB硬盘,只有是好的就能用)接入这台PC...

Hive 元数据库表信息

  Hive 的元数据信息通常存储在关系型数据库中,常用MySQL数据库作为元数据库管理。 1. 版本表   i) VERSION   -- 查询版本信息 2. 数据库、文件存储相关   i) DBS     -- 存储Hive中所有数据库的基本信息   ii) SDS    -- 存储Hive中文件存储的基本信息      3. 表、视图相关   i) ...

T420s成功加装固态硬盘(SSD)

目的 为了提升系统和经常使用工具的启动速度,ThinkPad T420s光驱位加一块固态硬盘。 操作步骤 购买:没做太多对照了解,初步计划是安装在光驱位,直接JD上买了SanDisk的128G和推荐的硬盘架。 拆卸光驱:光驱位背面有个锁标志的卡扣。推到开锁位置同一时候往光驱开口方向推旁边的开关,光驱非常easy就推出了。 安装SSD到硬盘架:将随硬盘...