安装程序实现软件RAID代替硬件RAID的方法,今天再进一步谈谈手动创建软RAID和日常维护的方法。 mdadm使用的也是md驱动,由于其拥有多种模式,而且单一工具,不依赖任何配置文件,是替代raidtools的好工具。目前几乎所有发行版本使用的都是该工具。

RAID 是冗余磁盘阵列(Redundant Array of Inexpensive Disk)的简称。它是把多个磁盘组成一个阵列,当作单一磁盘使用。它将数据以分段(striping)的方式分散存储在不同的磁盘中,通过多个磁盘的同 时读写,来减少数据的存取时间,并且可以利用不同的技术实现数据的冗余,即使有一个磁盘损坏,也可以从其他的磁盘中恢复所有的数据。简单地说,其好处就 是:安全性高、速度快、数据容量大。

RAID 0 全称叫做Striped Disk Array without Fault Tolerance( 没有容错设计的条带磁盘阵列)。图中一个圆柱就是一块磁盘(以下均是),它们并联在一起。从图中可以看出,RAID 0在存储数据时由RAID 控制器(硬件或软件)分割成大小相同的数据条,同时写入阵列中的磁盘。如果发挥一下想象力,你会觉得数据象一条带子横跨过所有的阵列磁盘,每个磁盘上的条带深度则是一样的。

至于每个条带的深度则要看所采用的RAID 类型,在NT 系统的软RAID 0等级中,每个条带深度只有64KB 一种选项,而在硬RAID 0等级,可以提供8、16、32、64 以及128KB 等多种深度参数。Striped 是RAID 的一种典型方式,在很多RAID 术语解释中,都把Striped 指向RAID 0。在读取时,也是顺序从阵列磁盘中读取后再由RAID 控制器进行组合

这样,数据就等于并行的写入和读取,从而非常有助于提高存储系统的性能。对于两个硬盘的RAID 0系统,提高一倍的读写性能可能有些夸张,毕竟要考虑到也同时缯加的数据分割与组合等与RAID 相关的操作处理时间,但比单个硬盘提高50% 的性能是完全可以的。

不过,RAID 0还不能算是真正的RAID,因为它没有数据冗余能力。由于没有备份或校验恢复设计,在RAID 0阵列中任何一个硬盘损坏就可导致整个阵列数据的损坏,因为数据都是分布存储的。

对比RAID 0等级,存储工程师能发现硬盘的内容是两两相同的。这就是镜像――两个硬盘的内容完全一样,这等于内容彼此备份。比如阵列中有两个硬盘,在写入时,RAID 控制器并不是将数据分成条带而是将数据同时写入两个硬盘。这样,其中任何一个硬盘的数据出现问题,可以马上从另一个硬盘中进行恢复。注意,这两个硬盘并不是主从关系,也就是说是相互镜像/恢复的。

RAID 1 已经可以算是一种真正的RAID 系统,它提供了强有力的数据容错能力,但这是由一个硬盘的代价所带来的效果,而这个硬盘并不能增加整个阵列的有效容量

RAID 0磁盘阵列的数据映射 上图显示了RAID 0磁盘阵列的虚拟设备是如何映射到单个的成员磁盘的,一般情况下,虚拟设备的容量是成员磁盘容量的总和。

假如RAID 0磁盘阵列的磁盘失败,那么,数据将彻底丢失。为了在RAID 0磁盘阵列情况下恢复数据,唯一的办法是使用磁带备份或者镜像拷贝。

典型的RAID 0使用独立访问的方法将数据分块,然后发送给成员磁盘,而不是使用并行访问方法,它能实现多个I / O操作同时并行地处理。因为RAID 0不需要计算校验,因而,它是所有类型的阵列中吞吐量最快的。

创建软RAID

在红旗Linux服务器中是通过mdadm工具来创建和维护软RAID的,mdadm在创建和管理软RAID时非常方便,而且很灵活。mdadm常用的参数有如下:

  • --create或-C:创建一个新的软RAID,后面接raid设备的名称。例如,/dev/md0,/dev/md1等。

  • --assemble或-A:加载一个已存在的阵列,后面跟阵列以及设备的名称。

  • --detail或-D:输出指定RAID设备的详细信息。

  • --stop或-S:停止指定的RAID设备。

  • --level或-l:设置RAID的级别,例如,设置“--level=5”则表示创建阵列的级别是RAID 5。

  • --raid-devices或-n:指定阵列中活动磁盘的数目。

  • --scan或-s:扫描配置文件或/proc/mdstat文件来搜索软RAID的配置信息,该参数不能单独使用,只能配置其它参数才能使用。

  • -a 记住,一般在系统中有md0这个设备,但是没有md1,md3等其他设备,所以在创建md1或者其他raid 的时候要加上参数 -a  yes,否则会报错没有这个文件

下面将通过一个实例来讲述通过mdadm如何实现软RAID的功能。

-c, --chunk=:  Specify chunk size of kibibytes. RHEL 6.X或和CentOS 6.X缺省为512KB

chunk-size是一个重要的参数,决定了一次向阵列中每个磁盘写入数据的量

Chunk:可以理解为raid分储数据时每个数据段的大小(通常为32/64/128/256/512等这类数字大小);合理的选择chunk大小非常重要,若chunk过大可能一块磁盘上的带区空间就可以满足大部分的I/O操作,使得数据的读写只局限于一块硬盘上,这便不能充分发挥RAID并发的优势;如果chunk设置过小,任何很小的I/O指令都 可能引发大量的读写操作,不能良好发挥并发性能,占用过多的控制器总线带宽,也影响了阵列的整体性能。所以,在创建带区时,我们应该根据实际应用的需要,合理的选择带区大小。

chunk 表示的是给每个盘一次写这么多数据

stride=size of  chunk /size of block 表示的是在一个磁盘上每次写这么多数据 步幅

配置raid 0

[root@mail ~]# fdisk -l|grep  ^\/dev/
/dev/sda1   *           1          38      305203+  83  Linux
/dev/sda2              39        3790    30137940   83  Linux
/dev/sda3            3791        3916     1012095   82  Linux swap / Solaris
/dev/sdb1               1        1305    10482381   83  Linux
/dev/sdc1               1        1305    10482381   83  Linux
/dev/sdd1               1         130     1044193+  83  Linux
/dev/sde1               1         261     2096451   83  Linux
/dev/sdf1               1         261     2096451   83  Linux
/dev/sdg1               1         652     5237158+  83  Linux

[root@mail ~]# mdadm -C  /dev/md0  -l 0  -n 2 --chunk=64  /dev/sdb1 /dev/sdc1 
mdadm: /dev/sdb1 appears to contain an ext2fs file system
   size=10482380K  mtime=Thu Jan  1 08:00:00 1970
mdadm: /dev/sdc1 appears to contain an ext2fs file system
   size=10482380K  mtime=Thu Jan  1 08:00:00 1970
Continue creating array? yes
mdadm: array /dev/md0 started.

[root@mail ~]# mkfs.ext3  /dev/md0

[root@mail ~]# mount /dev/md0  /os/


本文转自陈仲阳0 51CTO博客,原文链接:http://blog.51cto.com/wolfword/1221203

软raid的详细配置讲解 raid 0相关推荐

  1. 利用软raid程序来配置实现“RAID1+0”阵列

    内容预知 1.实验目的 2.实验前准备 2.1  外部准备 2.2  内部准备(自身对命令的准备) 3.实验的具体操作 第一步:创建并定义RAID设备 第二步:用文件系统对每个RAID设备进行格式化 ...

  2. 浪潮服务器NF5280m5 raid硬盘驱动 配置,raid和系统

    一台服务器浪潮服务器NF5280m5 .用u盘装系统,一开始就找不到硬盘,对于服务器0概念的新手来说太难弄了, 服务器情况: 2张机械硬盘 总结:先进入bios->advance ->cs ...

  3. 电脑同时访问外网和内网?双路由的详细配置及讲解

    电脑同时上外网和内网?双路由的详细配置讲解 一.准备工作 1.要有两张网卡 电脑要有两张网卡. 一般笔记本电脑都有有线网卡和无线网卡:当然外置接usb的有线/无线网卡也是可以的.有些台式机可能会只有1 ...

  4. dell r630 配置raid_DELL服务器硬件 配置RAID磁盘阵列 iDRAC配置

    硬盘热插拔 iDRAC远程管理接口 内部结构无螺丝 一组风扇(风是前进后出) CPU内存组,纵向插 电源 双路电源 内存  双通道内存必须成对出现(也有三通道内存) 电池也对raid供电的 配置硬件r ...

  5. RAID磁盘阵列详解and软阵列(raid0,raid1,raid5,raid1+0 热备盘)配置实验

    文章目录 前言 一:RAID磁盘阵列详解 1.1:RAID 0磁盘阵列介绍 1.2:RAID容错对比表 二:阵列卡介绍 2.1:阵列卡介绍 2.2:RAID卡的接口类型 2.3:阵列卡的缓存 三. 软 ...

  6. perc s100 linux,DELL服务器集成raid卡PERC S100_S300详细配置手册

    DELL服务器集成raid卡PERC S100_S300详细配置手册 分享到: 作者来源: 未知       发布时间:2014-09-26 此文档为自行整理,非官方提供资料,仅供参考.疏漏之处敬请反 ...

  7. Linux之RAID介绍、软RAID5实操配置(失望攒够了就放手,不打扰是我最后的温柔)

    目录 一.什么是RAID(独立冗余磁盘阵列) 二.RAID物理分类 2.1 硬RAID 2.2 软RAID 三.RAID逻辑分类 3.1 RAID0 3.2 RAID1 3.3 RAID5 3.4 R ...

  8. linux配置磁盘阵列raid 0、raid1 、raid5 、raid6 、raid10、raid50、raid60原理

    linux配置磁盘阵列raid 0.raid1 .raid5 .raid6 .raid10.raid50.raid60原理 1 raid0的特性: 2 raid1的特性: 3 raid10的特性: 4 ...

  9. RAID技术详细解答之一:入门基础篇

    本文所要讲解的RAID技术起初主要应用于服务器高端市场,但是随着个人用户市场的成熟和发展,正不断向低端市场靠拢,从而为用户提供了一种既可以提升硬盘速度,又能够确保数据安全性的良好的解决方案.IDE 磁 ...

最新文章

  1. 可视化LassoCV的最佳alpha值
  2. Ubuntu中update-alternatives命令(版本切换)
  3. linux screen 进程,screen 命令使用
  4. Angular应用只执行指定单元测试的小技巧
  5. 微信公众号支付php demo,200行代码实现微信支付-公众号支付,不再踩坑,附:demo...
  6. 前端学习(3326):闭包的形式1
  7. java rsaprivatekey_用ssh-keygen生成的公钥和私钥如何在java中转为RSAPublicKey和RSAPrivateKey...
  8. 【SpringCloud】服务注册之 Consul
  9. nginx的反向代理和负载均衡的区别
  10. zabbix监控nginx连接数
  11. 数据分列将数字转换成文本格式
  12. 如何生成希尔伯特矩阵
  13. weblogic异常之 [Security:090303]Authentication Failed: User weblogic weblogic.security.providers.authen
  14. Docker的卸载与安装(阿里云)
  15. 让ADB识别未知设备...
  16. PHP后端入门(一):实现前后端交互
  17. 【数学建模】(五):MATLAB程序设计与积分
  18. 今日恐慌与贪婪指数为15 恐慌程度小幅上升
  19. Windows 10创建用户
  20. 红米note10和红米k40的区别 哪个好

热门文章

  1. 因果分析,PC算法(PC Algorithm)
  2. mysql5.7 1045 pc,解决MySQL5.7报错ERROR 1045 (28000): Access denied for user
  3. 深度优先搜索(模板使用)
  4. 计算机专业教育教学理论,【计算机教育论文】谈中职院校计算机专业理论教学策略(共2887字)...
  5. 趋势策略-三均线利剑
  6. MySQL InnoDB Cluster
  7. RHEL6系统的安装
  8. Goolge让一切变得简单
  9. 工作量管理方法——COSMIC
  10. 宝塔linux数据盘不够用如何处理,帝国cms使用Linux系统数据盘扩容后宝塔控制面板数据盘大小不变的解决方法...