Linux 独立冗余磁盘阵列介绍

RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损 失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。RAID可以充分发 挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会 受到损坏硬盘的影响。

常用raid介绍

raid 0

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

使用:以2块盘为例子,数据存储各一半
优点:写入读取快,适合保存非重要数据
可用空间:num*min(device)


raid 1

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

使用:以2块盘为例子,数据各一份
优点:读性能提升,数据冗余
缺点:写性能略有下降
可用空间:1*min(device)


raid 4

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

使用:以3块盘为例子,一块校验盘,用户还原数据,2块数据盘
优点:有冗余能力,读、写性能提升,允许坏一块盘
缺点:校验盘压力过大
可用空间:(N-1)*min(device)


raid 5

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

使用:以3块盘为例子,1块轮流做校验盘和2块轮流存储盘
优点:相比radi4,降低校验盘压力
缺点:只能坏一块盘
可用空间:(N-1)*min(device)


raid 6

RAID6技术是在RAID 5基础上,为了进一步加强数据保护而设计的一种RAID方式,实际上是一种扩展RAID 5等级。与RAID 5的不同之处于除了每个硬盘上都有同级数据XOR校验区外,还有一个针对每个数据块的XOR校验区。当然,当前盘数据块的校验数据不可能存在当前盘而是交错存储的,这样一来,等于每个数据块有了两个校验保护屏障(一个分层校验,一个是总体校验),因此RAID 6的数据冗余性能相当好。但是,由于增加了一个校验,所以写入的效率较RAID 5还差,而且控制系统的设计也更为复杂,第二块的校验区也减少了有效存储空间。

使用:以4块盘为例子,二块校验盘,用户还原数据,2块数据盘
优点:容错比raid 5好
缺点:写入没raid 5 好
可用空间:(N-2)*min(device)


raid 10

Raid 10是一个Raid 1与Raid0的组合体,它是利用奇偶校验实现条带集镜像,所以它继承了Raid0的快速和Raid1的安全。我们知道,RAID 1在这里就是一个冗余的备份阵列,而RAID 0则负责数据的读写阵列。其实,右图只是一种RAID 10方式,更多的情况是从主通路分出两路,做Striping操作,即把数据分割,而这分出来的每一路则再分两路,做Mirroring操作,即互做镜像。

使用:以4块盘为例子,分2对 raid 1,2对raid为raid 0
优点:提升读写,有冗余,每对raid1能坏一块


虚拟实现raid 5

mdadm 常用选项说明

支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10;
模式:
-C: 创建模式
|--- -n #: 使用#个块设备来创建此RAID;
|--- -l #:指明要创建的RAID的级别;
|--- -a {yes|no}:自动创建目标RAID设备的设备文件;
|--- -c CHUNK_SIZE: 指明块大小;
|--- -x #: 指明空闲盘的个数;
-D:管理模式 显示raid的详细信息;
-f: 标记指定磁盘为损坏;
-a: 添加磁盘
-r: 移除磁盘

实验先创建4个1G的分区,用2块存储数据,1块存储校验,1块备用,创建raid 5,

#创建4块分区,注意格式是fd
[[email protected] sh]# fdisk /dev/sdb

命令(输入 m 获取帮助):t
分区号 (1-7,默认 7):5
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”

  设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    16779263     8388608    5  Extended
/dev/sdb5            4096     2101247     1048576   fd  Linux raid autodetect
/dev/sdb6         2103296     4200447     1048576   fd  Linux raid autodetect
/dev/sdb7         4202496     6299647     1048576   fd  Linux raid autodetect
/dev/sdb8         6301696     8398847     1048576   fd  Linux raid autodetect

查看本机虚拟raid

[[email protected] sh]# cat /proc/mdstat
Personalities :
unused devices: <none>

创建

 [[email protected] sh]# mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sdb{5,6,7,8}
#-x 1 一块是空闲备份   -l 5 raid5 -n 3块使用盘
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

再次查看

 [[email protected] sh]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdb7[4] sdb8[3](S) sdb6[1] sdb5[0]
      2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>
#active  活动状态,可以使用

挂载

 [[email protected] sh]# mke2fs -t ext4 /dev/md0

[[email protected] sh]# mount /dev/md0 /mnt/t2
[[email protected] sh]# df -h /mnt/t2/      #2g可以用设备
文件系统        容量  已用  可用 已用% 挂载点
/dev/md0        2.0G  6.0M  1.9G    1% /mnt/t2

详细信息查看:

[[email protected] t2]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Mon Apr 23 03:14:26 2018
        Raid Level : raid5
        Array Size : 2095104 (2046.00 MiB 2145.39 MB)
     Used Dev Size : 1047552 (1023.00 MiB 1072.69 MB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Mon Apr 23 03:20:48 2018
             State : clean
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : 24dec4a5:d57dbe03:f9aa2729:b2997a05
            Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       21        0      active sync   /dev/sdb5
       1       8       22        1      active sync   /dev/sdb6
       4       8       23        2      active sync   /dev/sdb7

       3       8       24        -      spare   /dev/sdb8    空闲状态

手动标记一块错误盘

[[email protected] t2]# mdadm  /dev/md0 -f /dev/sdb6
mdadm: set /dev/sdb6 faulty in /dev/md0

[[email protected] t2]# cat /proc/mdstat   #这个阶段可以观察数据恢复  直到active
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdb7[4] sdb8[3] sdb6[1](F) sdb5[0]
      2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>

再次观察

[[email protected] t2]# mdadm -D /dev/md0
#会发现
 1       8       22        -      faulty   /dev/sdb6      #损坏盘   而8已经从空闲到正常使用
 #如果在移掉一个
 State : clean也会变化成clean,degrade降级状态

手动移除坏的分区

 [[email protected] t2]# mdadm  /dev/md0 -r /dev/sdb6
mdadm: hot removed /dev/sdb6 from /dev/md0

再次添加

[[email protected] t2]# mdadm  /dev/md0 -a /dev/sdb6
mdadm: added /dev/sdb6

移除raid 5

[[email protected] mnt]# umount /mnt/t2
[[email protected] mnt]# mdadm -S /dev/md0
mdadm: stopped /dev/md0

原文地址:http://blog.51cto.com/marvin89/2106891

时间: 2024-08-23 12:31:54

Linux 独立冗余磁盘阵列介绍的相关文章

RAID独立冗余磁盘阵列

概述 RAID(Redundant Array of Independent Disks ,独立冗余磁盘阵列)是一种将多块物理磁盘,按照一定的方式组合成具有冗余能力的一个逻辑硬盘,从而提高整体的性能和提供数据的安全备份的技术,在磁盘阵列中的某个或某些磁盘出现故障时仍能从其他磁盘读取数据. RAID级别 RAID有不同的级别,每种级别有不同的磁盘阵列组织结构. RAID 0 (条带化存储)使用条带化技术(Data Stripping),将至少两块磁盘组合起来形成一个大容量的磁盘阵列.RAID 0存

RAID(独立冗余磁盘阵列)与LVM(逻辑卷管理器)

RAID(独立冗余磁盘阵列)RAID 0:数据依次写入不同的硬盘,提升速度,但不具备数据备份和错误修复功能.RAID 1:将同一个数据分别写入2个硬盘(一个作为在用,一个作为备份),提升安全性,成本加大,速度不变.RAID 5:将硬盘设备的数据奇偶校验信息保存到其他硬盘设备中,出问题后通过再其他盘的parity重建损坏数据.成本有所增加,安全性提升,速度有所提升.RAID 10:通过RAID1和RAID0组合,采用4个硬盘组成,每2个盘组成一个RAID1,然后用组成的RAID1,组成RAID10

RAID(独立冗余磁盘阵列)技术浅析

引言 如果我们有一个需要很大容量,一块硬盘存储不了的数据,只能存储到多个硬盘上,最简单的思维是:一块硬盘一块硬盘的读取/存储. 很显然,这样单纯的堆积法虽然解决了容量的问题,但是也带来的浪费,因为一次只是从一块硬盘上进行读/写,同时,单块硬盘的读取速度,也是整个磁盘组合的读取速度. 因为CPU和缓存的速度远远大于磁盘的读取数据,因此我们可以将CPU数据读/取请求按照顺序给不同的磁盘,让磁盘“同时”读/写数据,也就是下面的RAID 0. RAID 0 将连续的数据拆分成block,分散将数据blo

RAID:独立冗余磁盘阵列

部署逻辑卷1:使硬盘具备LVM技术 pvcreate2:把硬盘加入到VG里 vgcreate3:切割VG成需要的LV lvcreate4:将切好的LV格式化 mkfs.ext45:挂载 自动挂载 mount6:使用 vi 格式化阵列.挂载部署逻辑卷:扩容逻辑卷:1:卸载LV umount2:扩容LV lvextend3:检查LV e2fask resize2fs4:挂载 mount5:使用 vi缩小逻辑卷:1:卸载LV umount2:检查LV e2fask3:缩小LV resize2fs4:挂

Linux中创建磁盘阵列Raid1+0

RAID磁盘阵列: RAID是英文Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列.简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术. 实验要求: 实验环境: 最少四块硬盘 实验步骤: 一.创建两个磁盘阵列Raid1 二.将两个Raid1做成一个Raid0 实验内容: 一.添加四块硬盘 二.创建两个磁盘阵列Raid1 1.创建磁盘修改磁盘

Linux下做磁盘阵列和各种热备份

磁盘阵列分为: 具有冗余功能的阵列:raid0 raid4 raid5 raid6 raid10 raid01.... 读写速度优势的阵列:raid1 raid4 raid5 raid6 raid10 raid01.... 怎么制作磁盘阵列呢,分别列举: 1.具有冗余功能的阵列raid0 1.1至少需要两块磁盘,sdb和sdc,从两个磁盘中分别划出一个分区分别为:sdb1和sdc1, 1.2在分区的时候需要改变分区号-fd,然后w退出. 1.3制作raid0,在制作该磁盘阵列之前,需要安装mda

VIM命令解释总结;冗余磁盘阵列的挂载使用及冗余备份磁盘的设置

VIM命令解释总结 在Linux系统中配置应用服务,实际上就是在修改它的配置文件(配置文件可能有多个,其中包含不同的参数)这些都要通过文本编辑器来完成.所以文本编辑器就非常必要了,vim文本编辑器,是vi编辑器的升级版. Vim能够得到这么多厂商与用户的认可,原因就是在Vim编辑器中有三种模式——命令模式.末行模式和编辑模式,分别又有多种不同的命令快捷键组合,很大的提高了工作效率,用习惯后会觉得非常的顺手.要想在文本操作时更加高效率,我们必需先搞清Vim编辑器的三种模式的操作不同与切换方法. 命

Linux及文件系统基本介绍

Linux及文件系统基本介绍 1   互联网行业现状 在服务器端市场: 超级计算机 2014年11月的数据显示前500系统中的485个系统都在运行着 Linux 的发布系统,而仅仅只有一台运行着 Windows 系统 截止到目前,运行 Linux 系统的处理器有 22,851,693 个之多,而 windows 系统仅仅只有 30,720 云计算 2014年 Linux 基金会撰写了一个报告,研究发现 75% 的大公司在使用 Linux 系统作为他们的主要平台,相对的使用 Windows 系统的

linux系统原始版本介绍

*/--> pre.src {background-color: Black; color: White;} linux系统原始版本介绍 linux正式对外公布是在1991年 0.11 正是向外公布的内核版本 0.95加入虚拟文件系统思想 0.96加入网络支持和虚拟文件系统VFS 0.97 加入对新的SCSI驱动程序的支持 0.98 改善了对TCP/IP网络的支持 0.99重新设计对内存使用情况的使用分配,每个进程有4GB线性空间