linux软RAID

一、RAID简介

独立磁盘冗余阵列(RAID,redundant array of independent disks)是把相同的数据存储在多个硬盘的不同的地方(因此,冗余地)的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错。

二、条带化存储技术

条带化技术就是一种自动的将 I/O 的负载均衡到多个物理磁盘上的技术,条带化技术就是将一块连续的数据分成很多小部分并把他们分别存储到不同磁盘上去。这就能使多个进程同时访问数据的多个 不同部分而不会造成磁盘冲突,而且在需要对这种数据进行顺序访问的时候可以获得最大程度上的 I/O 并行能力,从而获得非常好的性能。很多操作系统、磁盘设备供应商、各种第三方软件都能做到条带化。

三、RAID级别和机制

条带机制

RAID 0                  (读速度提高了,写的数据慢了)

磁盘镜像机制

RAID 1

效验码机制

RAID 4                 (读写都提高了,效验码盘存储压力大成为性能瓶颈)

RAID 0+1(先做条带,然后再把各个条带组成RAID1)

RAID 1+0(先两两镜像,然后RAID0)

RAID 5       (RAID 6   两块效验盘)

JBOD  (磁盘堆叠,多块盘组成一个容量大的盘,hadoop建议使用JBOD ,hadoop 机制HDFS可以实现JBOD冗余,JBOD本身没有冗余功能)

RAID实现的方式:

外接式磁盘阵列,通过扩展卡通过适配能力

内核式RAID:主板集成RAID控制器

software RAID

RAID配置命令和查看命令

centos6上的软件RAID的实现结合了内核中的md(multi devices)
命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>
支持的RAID级别:LINEAR,RAID0,RAID1,RAID4,RAID5,RAID6,RAID10;

[mode]

创建模式:
    -C
        -n #使用#个块设备来创建此RAID
        -l #指明要创建的RAID的级别
        -a {yes|on}自动创建目标RAID设备的设备文件
        -c CHUNK_SIZE:指明CHUNK大小
        -x #指明空闲盘的个数

装配模式(装配能扫描RAID上的元数据,常用于装系统后,重新装配使用)
    -A
管理模式
    -f标记指定磁盘为损坏
    -a添加磁盘
    -r移除磁盘

<raiddevice>:/dev/md#

<component-devices>:任意块设备,可以是磁盘,可以是分区。

显示RAID的详细信息
mdadm -D /dev/md5\

查看MD的状态
 cat /proc/mdstat

实例创建RAID5:

1,分区设置分区ID fd

[[email protected] /]# fdisk -l |grep "^/dev/sd[a-g]"
/dev/sda1   *           1          26      204800   83  Linux
/dev/sda2              26        7859    62914560   8e  Linux LVM
/dev/sdb1               1         654     5253223+  fd  Linux raid autodetect
/dev/sdb2             655        1308     5253255   fd  Linux raid autodetect
/dev/sdb3            1309        1962     5253255   fd  Linux raid autodetect
/dev/sdc1               1         654     5253223+  fd  Linux raid autodetect
[[email protected] /]#

2,创建RAID5

[[email protected] testmd5]# mdadm -C /dev/md5 -a yes -n 3 -l 5 -x 1 /dev/sd[b,c][1-3]
mdadm: /dev/sdb1 appears to be part of a raid array:
       level=raid5 devices=3 ctime=Wed Aug 26 17:28:15 2015
mdadm: /dev/sdb2 appears to be part of a raid array:
       level=raid5 devices=3 ctime=Wed Aug 26 17:28:15 2015
mdadm: /dev/sdb3 appears to be part of a raid array:
       level=raid5 devices=3 ctime=Wed Aug 26 17:28:15 2015
mdadm: /dev/sdc1 appears to be part of a raid array:
       level=raid5 devices=3 ctime=Wed Aug 26 17:28:15 2015
Continue creating array?             
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.

3,查看md的状态

[[email protected] testmd5]# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md5 : active raid5 sdb3[4] sdc1[3](S) sdb2[1] sdb1[0]
      10498048 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
      [============>........]  recovery = 61.8% (3246400/5249024) finish=1.0min speed=30693K/sec
      
unused devices: <none>

4,查看RAID信息

[[email protected] testmd5]# mdadm -D /dev/md5
/dev/md5:
        Version : 1.2
  Creation Time : Wed Aug 26 18:42:00 2015
     Raid Level : raid5
     Array Size : 10498048 (10.01 GiB 10.75 GB)
  Used Dev Size : 5249024 (5.01 GiB 5.38 GB)
   Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent

Update Time : Wed Aug 26 18:43:27 2015
          State : clean
 Active Devices : 2
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 2

Layout : left-symmetric
     Chunk Size : 512K

Rebuild Status : 43% complete

Name : localhost.localdomain:5  (local to host localhost.localdomain)
           UUID : 7c6efc4f:5f6e0b0d:f6e56836:3556ec3f
         Events : 7

Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       18        1      active sync   /dev/sdb2
       4       8       19        2      spare rebuilding   /dev/sdb3

3       8       33        -      spare   /dev/sdc1
5,格式化挂载。

[[email protected] testmd5]# mkfs.ext4 /dev/md5 
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
657072 inodes, 2624512 blocks
131225 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2688548864
81 block groups
32768 blocks per group, 32768 fragments per group
8112 inodes per group
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[[email protected] testmd5]# mkdir -pv /testmd5
[[email protected] testmd5]# mount -t ext4 /dev/md5 /testmd5/
[[email protected] testmd5]# mount |tail -1
/dev/md5 on /testmd5 type ext4 (rw)
[[email protected] /]# cd testmd5/
[[email protected] testmd5]# ls
lost+found
[[email protected] testmd5]#

6,测试RAID冗余

[[email protected] testmd5]# /bin/cp -fr /etc /testmd5/
[[email protected] testmd5]# du -sh /testmd5/
38M /testmd5/

[[email protected] testmd5]# mdadm /dev/md5 -f /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md5
[[email protected] testmd5]# mdadm -D /dev/md5
/dev/md5:
        Version : 1.2
  Creation Time : Wed Aug 26 18:42:00 2015
     Raid Level : raid5
     Array Size : 10498048 (10.01 GiB 10.75 GB)
  Used Dev Size : 5249024 (5.01 GiB 5.38 GB)
   Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent

Update Time : Wed Aug 26 18:55:41 2015
          State : clean, degraded, recovering 
 Active Devices : 2
Working Devices : 3
 Failed Devices : 1
  Spare Devices : 1

Layout : left-symmetric
     Chunk Size : 512K

Rebuild Status : 23% complete

Name : localhost.localdomain:5  (local to host localhost.localdomain)
           UUID : 7c6efc4f:5f6e0b0d:f6e56836:3556ec3f
         Events : 23

Number   Major   Minor   RaidDevice State
       3       8       33        0      spare rebuilding   /dev/sdc1
       1       8       18        1      active sync   /dev/sdb2
       4       8       19        2      active sync   /dev/sdb3

0       8       17        -      faulty   /dev/sdb1
[[email protected] testmd5]#

7,观察md的状态

[[email protected] ~]# watch -n 3 "cat /proc/mdstat"

8,再指定一块损坏,让其工作在降级模式。

注意:级别仅代表磁盘组织方式不同,没有上下之分。

时间: 2024-10-13 23:01:52

linux软RAID的相关文章

raid基础及linux软raid之dmadm

RAID  0 : 条带         性能提升:读,写  n         冗余能力(容错能力):无         空间利用率: nS         至少2块磁盘    1 : 镜像         性能提升:写性能有所下降,读性能提升         冗余能力:有         空间利用率: 1/2         至少2块磁盘  2 :   3 :   4 :   5 :          性能表现:读写提升         冗余能力:有         空间利用率:(n-1)/

LINUX &nbsp; 软RAID和硬RAI及软RAID的实现

一.RAID简介 RAID是"Redundant Array of Independent Disk"的缩写,中文意思是独立冗余磁盘阵列,早期称为廉价磁盘阵列.简单地解释,就是将N台硬盘通过RAID Controller(分Hardware,Software)结合成虚拟单台大容量的硬盘使用.RAID技术大致分为两种:基于硬件的RAID技术和基于软件的RAID技术. 二.RAID术语 RAID0 raid0: 读.写性能提升,无容错能力,空间n*disk RAID1 raid1: 写性能

Linux软RAID配置

RAID卡一般分为硬RAID卡和软RAID卡两种,通过用硬件来实现RAID功能的就是硬RAID,独立的RAID卡,主板集成的RAID芯片都是硬RAID.通过软件并使用CPU的RAID卡是指使用CPU来完成RAID的常用计算,软件RAID占用CPU资源较高,绝大部分服务器设备是硬件RAID. 一:Raid级别 raid0: 多个磁盘的容量大小相加.最后的容量就是多个磁盘容量的大小. 优点:扩大了磁盘的空间容量 缺点:没有数据冗余,一块磁盘坏掉,导致所有数据无法正常访问,此时就丢失了一个磁盘的数据量

Linux软RAID基本操作介绍

RAID全称是 "A Case for Redundant Arrays of Inexpensive Disks (RAID)",称为"廉价磁盘冗余阵列",由加州大学伯克利大学在1987年发表的论文中而来.RAID的主要思想就是把若干小容量物理磁盘组成一个大容量虚拟存储设备,以提高磁盘存储的读.写效率,并提供冗余以提高数据存储的安全性. 根据应用方向的不同,RAID也分为不同级别,常用的有RAID-0.RAID-1.RAID-5.RAID-10. RAID-0也称

Linux 软Raid创建方法:

一.Raid 0 创建 # mdadm -C /dev/md0 -n 2 -a yes -l 0 -x /dev/sdb1 /dev/sdb2 /dev/sdb3[创建Raid 0 ,其中-C 创建, -n 指定磁盘块数, -a  You haven't given enough devices (real or missing) to create this array, -x 指定空闲盘个数] 2. 查看 #mdadm -D /dev/md0 #cat /proc/mdstat 3. 模拟磁

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

网易视频云是网易倾力打造的一款基于云计算的分布式多媒体处理集群和专业音视频技术,提供稳定流畅.低时延.高并发的视频直播.录制.存储.转码及点播等音视频的PAAS服务,在线教育.远程医疗.娱乐秀场.在线金融等各行业及企业用户只需经过简单的开发即可打造在线音视频平台.现在,网易视频云的技术专家给大家分享一则技术文:linux软raid的bitmap分析. 在使用raid1,raid5等磁盘阵列的时候,对于数据的可靠性有很高的要求,raid5在写的时候需要计算校验并写入,raid1则写源和镜像来保证数

Linux软RAID操作与实现学习笔记

定义:RAID(Redundant Array of Inexpensive Disks)称为廉价磁盘冗余阵列.RAID 的基本想法是把多个便宜的小磁盘组合到一起,成为一个磁盘组,使性能达到或超过一个容量巨大.价格昂贵的磁盘. 目前RAID技术大致分为两种:基于硬件的RAID技术和基于软件的RAID技术.其中在Linux下通过自带的软件就能实现RAID功能. RAID的级别: 随着RAID技术经过不断的发展,现已有RAID 0 到 RAID 6 七种基本的RAID 级别,同时还有RAID 0和R

【Linux管理】Linux软Raid的管理

************************************************************************   ****原文:blog.csdn.net/clark_xu 徐长亮的专栏 ************************************************************************ 创建软raid mdadm –create /dev/md0 –level=5 –raid-devices=3 /dev/sdb1

linux软raid练习

创建一个空间大小为10G的raid5,要求其chunk为1024k,格式为ext4文件系统,开机可自动挂载至/backup目录,并支持acl功能: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62