RAID:

old   Redundant Arrays of Inexpensive Disks (廉价磁盘冗余阵列)
new Redundant Arrays of Independent Disks (独立磁盘冗余阵列)
Berkeley: A case for Redundent Arrays of Inexpensive Disks RAID

功能: 提高IO能力:磁盘并行读写; 提高耐用性:磁盘冗余来实现。但是raid不能取代数据备份,raid只是减少磁盘对于数据的影响。人为操作数据无法恢复。

级别:多块磁盘组织在一起的工作方式有所不同;

RAID实现的方式: 外接式磁盘阵列:通过扩展卡提供适配能力 内接式RAID:主板集成RAID控制器 Software RAID:

级别:level

RAID-0:0, 条带卷,strip;
RAID-1: 1, 镜像卷,mirror;
RAID-2
..
RAID-5:
RAID-6
RAID10
RAID01
  • RAID-0: 读、写性能提升; 可用空间:N*min(S1,S2,...)(所有磁盘中的最小值,下同) 无容错能力 最少磁盘数:2, 2+

  • RAID-1: 读性能提升、写性能略有下降; 可用空间:1*min(S1,S2,...) 有冗余能力 最少磁盘数:2, 2+

  • RAID-4: 1101, 0110, 1011 (对应位做亦或计算,相同得0,相反得1) 第三块做校验盘。 如果一块坏了,那就是降级进行使用。缺陷:单块盘做检验盘,该盘压力过大,是性能瓶颈。 改进方案:使用一块盘做空闲盘,热备

  • RAID-5: 读、写性能提升。 可用空间:(N-1)*min(S1,S2,...) 有容错能力:1块磁盘 最少磁盘数:3, 3+, 原理同raid4,也可有热备盘,与raid4区别,三块盘轮流做检验盘,有左对称和右对称方案; 多块盘做亦或运算,结果存放到校验盘,X1亦或X2亦或X3亦或X4

  • RAID-6: 读、写性能提升 可用空间:(N-2)*min(S1,S2,...) 有容错能力:2块磁盘 循环校验 最少磁盘数:4, 4+

  • RAID-10: 读、写性能提升 可用空间:N*min(S1,S2,...)/2 有容错能力:每组镜像最多只能坏一块; 最少磁盘数:4, 4+
  • RAID-01: 先做raid0,在做raid1,容错性没有raid10好。
  • RAID-50,先做raid5再做raid0,最小磁盘数和raid5划分有关。
  • RAID7:商业公司自己开发的,性能不错价格昂贵
  • JBOD:Just a Bunch Of Disks 功能:将多块磁盘的空间合并一个大的连续空间使用,可以存放大型单个文件。可用空间:sum(S1,S2,...)
  • 常用级别:RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD
  • 选择Raid级别:RAID 012345 到底哪一种适合你,不只是成本问题,容错功能和传输性能的考虑以及未来之可扩充性都应该符合应用的需求。

实现方式:

  • 硬件实现方式

  • 软件实现方式

    CentOS 6上的软件RAID的实现:结合内核中的md(multi devices)
    mdadm:模式化的工具
    命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>
    支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10;
    模式:
    创建:-C
    装配: -A
    监控: -F
    管理:-f, -r, -a <raiddevice>: /dev/md#
    <component-devices>: 任意块设备 -C: 创建模式
    -n #: 使用#个块设备来创建此RAID;
    -l #:指明要创建的RAID的级别;
    -a {yes|no}:自动创建目标RAID设备的设备文件;
    -c CHUNK_SIZE: 指明块大小;
    -x #: 指明空闲盘的个数;
  • 例如:创建一个6G可用空间的RAID5;

]# fdisk -l                     ##查看硬盘分区
新添加一块硬盘sdb
]# fdisk /dev/sdb ##进行硬盘分区,做raid5至少需要三块盘,热备需要第四块,分区完成后需要修改分区系统id,修改成软raid的id:fd。
]# partx /dev/sdb
# 1: 63- 6313544 ( 6313482 sectors, 3232 MB)
# 2: 6313545- 12627089 ( 6313545 sectors, 3232 MB)
# 3: 12627090- 18940634 ( 6313545 sectors, 3232 MB)
# 4: 18940635- 41929649 ( 22989015 sectors, 11770 MB)
# 5: 18940698- 25254179 ( 6313482 sectors, 3232 MB)
]# mdadm -C /dev/md0 -n 3 -l 5 -a yes /dev/sdb1 /dev/sdb2 /dev/sdb3
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
]# cat /proc/partitions ##创建完分区后可以再分区表中看到此分区。
major minor #blocks name 8 0 20971520 sda
8 1 512000 sda1
8 2 10240000 sda2
8 3 1048576 sda3
8 4 1 sda4
8 5 1048576 sda5
8 6 8119296 sda6
8 16 20971520 sdb
8 17 3156741 sdb1
8 18 3156772 sdb2
8 19 3156772 sdb3
8 20 1 sdb4
8 21 3156741 sdb5
9 0 6308864 md0
]# mke2fs -t ext4 /dev/md0 ##对此分区进行格式化
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
394352 inodes, 1577216 blocks
78860 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1619001344
49 block groups
32768 blocks per group, 32768 fragments per group
8048 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736 正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
]# mdadm -D /dev/md0 ##查看该raid详情
/dev/md0:
Version : 1.2
Creation Time : Sat Dec 10 09:50:50 2016
Raid Level : raid5 ##级别
Array Size : 6308864 (6.02 GiB 6.46 GB) ##阵列大小
Used Dev Size : 3154432 (3.01 GiB 3.23 GB) ##分区大小
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent Update Time : Sat Dec 10 09:52:48 2016
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0 Layout : left-symmetric ##左对称
Chunk Size : 512K ##Chunk(块)大小 Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : 13a8fd25:5be7dd96:4c771ae8:74ac609b
Events : 18 Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 18 1 active sync /dev/sdb2
3 8 19 2 active sync /dev/sdb3
-D:显示raid的详细信息;
mdadm -D /dev/md#
管理模式:
-f: 标记指定磁盘为损坏;
-a: 添加磁盘
-r: 移除磁盘
观察md的状态:
cat /proc/mdstat
停止md设备:
mdadm -S /dev/md#
]# mkdir /mydata
]# mount /dev/md0 /mydata/
]# cp /etc/fstab .
]# ls
fstab lost+found
]# mdadm /dev/md0 -f /dev/sdb3
mdadm: set /dev/sdb3 faulty in /dev/md0
]# cat /proc/mdstat ##可以看到有一块盘已经丢失
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdb3[3](F) sdb2[1] sdb1[0]
6308864 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] unused devices: <none>
]# cat /mydata/fstab ##发现文件依然可以访问 #
# /etc/fstab
# Created by anaconda on Sat Dec 10 05:24:03 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=c4bee2fc-f632-4c0d-ad60-a70097b85da1 / ext4 defaults 1 1
UUID=99a8652d-1f4d-4798-8054-443ffb502393 /boot ext4 defaults 1 2
UUID=62afe289-b0a8-4fdd-b6e2-9701f59f5d36 /home ext4 defaults 1 2
UUID=d7bfc5f4-5a4c-4432-ad7a-abe6ea722c32 /var ext4 defaults 1 2
UUID=2293a8a9-530c-42d4-a5c8-846f23ed69c7 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
]# mdadm /dev/md0 -a /dev/sdb5 ##添加一个分区
mdadm: added /dev/sdb5
]# cat /proc/mdstat ##正在恢复分区。
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdb5[4] sdb3[3](F) sdb2[1] sdb1[0]
6308864 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
[=====>...............] recovery = 25.5% (806924/3154432) finish=1.3min speed=28818K/sec

Raid 介绍以及软raid的实现的更多相关文章

  1. Liunx软Raid实现

    Liunx软Raid实现 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在配置软Raid之前,我们首先要了解一下什么是Raid,Raid又分哪几个系列?哪个又是最靠谱的组合?我们生 ...

  2. 硬RAID和软RAID

    RAID简介: RAID是 Redundant Array of Independent Disks的简写,意为独立磁盘冗余阵列,简称磁盘阵列.基本思想是把多个相对便宜的硬盘结合起来,称为一个磁盘阵列 ...

  3. CentOS 配置软raid

    v-box里面新建一个centos7.3的服务器 v-box中增加4块8GB容量的硬盘.(我增加的是nvme的ssd硬盘,普通硬盘也没有问题,容量大代表你需要等待的时间长,所以小点容量最好) 创建ra ...

  4. CentOS 6.3下配置软RAID(Software RAID)

    一.RAID 简介 RAID 是英文Redundant Array of Independent Disks 的缩写,翻译成中文意思是“独立磁盘冗余阵列”,有时也简称磁盘阵列(Disk Array). ...

  5. 网易视频云技术分享:linux软raid的bitmap分析

    网易视频云是网易倾力打造的一款基于云计算的分布式多媒体处理集群和专业音视频技术,提供稳定流畅.低时延.高并发的视频直播.录制.存储.转码及点播等音视频的PAAS服务,在线教育.远程医疗.娱乐秀场.在线 ...

  6. LINUX中软RAID的实现方案

    转自linux就该这么学 应用场景 Raid大家都知道是冗余磁盘的意思(Redundant Arrays of Independent Disks,RAID),可以按业务系统的需要提供高可用性和冗余性 ...

  7. (转)CentOS 6下配置软RAID图文详解

    CentOS 6下配置软RAID图文详解 原文:http://blog.51cto.com/hujiangtao/1929620 一.RAID 简介 RAID 是英文Redundant Array o ...

  8. Linux 常见 RAID 及软 RAID 创建

    RAID可以大幅度的提高磁盘性能,以及可靠性,这么好的技术怎么能不掌握呢!此篇介绍一些常见RAID,及其在Linux上的软RAID创建方法. mdadm 创建软RAID mdadm -C -v /de ...

  9. RAID、软RAID和硬RAID

    RAID(redundant array of inexpensive disks):独立的硬盘冗余阵列,基本思想是把多个小硬盘组合在一起成为一个磁盘组,通过软件或硬件的管理达到性能提升或容量增大或增 ...

随机推荐

  1. idea Error:java: Compilation failed: internal java compiler error

    idea 遇到Error:java: Compilation failed: internal java compiler error 是提示说你当前使用的编译器jdk版本不对. 按住Ctrl+Alt ...

  2. Linux Yum 安装JDK

    1.查看CentOS自带JDK是否已安装. 输入:yum list installed |grep java. 2.若有自带安装的JDK,如何卸载CentOS系统自带Java环境? 卸载JDK相关文件 ...

  3. HAProxy的安装与使用

    在互联网时代中,后台系统架构,经常可以听到高可用集群.负载均衡集群之类的系统架构解决方案,其中,负载均衡有基于硬件的F5.Big-IP等,也有基于软件的LVS(基于Linux操作系统实现,性能可以和基 ...

  4. .net学习笔记---tcp/udp/http/socket

    什么是TCP和UDP,以及二者区别是什么? TCP的全称为传输控制协议.这种协议可以提供面向连接的.可靠的.点到点的通信. UDP全称为用户数据报协议,它可以提供非连接的不可靠的点到多点的通信. 使用 ...

  5. 【转载】兼容php5,php7的cURL文件上传示例

    转载来自: http://www.huanlinna.com/2016/06/25/coding/php5-php7-upload-demo-via-curl.html https://segment ...

  6. js == 与 === 的区别

    1.对于string,number等基础类型,==和===是有区别的 1)不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等,===如果类型不同,其结果就是不等 2)同类型比较,直接进 ...

  7. android开发读书笔记

    第九章心得: HAL ( Hardware Abstraction Layer,硬件抽象腔,〉是建立在Linux驱动之上的一套翻字库.这套程序 j率并不属于 Linux 内核, 而是属于 Linux ...

  8. Javascript 构造函数原型继承机制

    我们先聊聊Js的历史,1994年Netscape公司发布了Navigator浏览器0.9班.这是历史上第一个比较成熟的网络浏览器.轰动一时.但是,这个版本的浏览器只能用来浏览,不具备交互功能,最主要的 ...

  9. 如何找出标有"App Store 精华","Essentials"的所有软件?

    如何找出标有"App Store 精华","Essentials"的所有软件? 中国区: +"App Store 精华" site:http ...

  10. hdu3534 树的直径变形

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=3534 题意:n 之后 n-1条边,l,r,w:求出树上的最长路径以及最长路径的条数. // ...