首页 > 其他分享 >raid 磁盘冗余阵列

raid 磁盘冗余阵列

时间:2024-02-05 17:45:08浏览次数:27  
标签:raid mdadm 阵列 dev lamp 241 md0 root 冗余

什么是raid 磁盘冗余阵列

这是由多块独立磁盘(多为硬盘)组合的一个超大容量磁盘组。

大白话的解释
磁盘冗余阵列,就是将很多块硬盘组合成一个整体,不同的RAID级别,可以实现不同的功能
如加速数据读写、如实现数据备份。

raid技术的作用

- 提高IO能力,磁盘并行读写 
- 提高耐用性,磁盘冗余算法来实现
- 具备冗余功能,节约成本

raid级别的作用、以及区别

- raid0

  最小磁盘数: 2 
  优点:性能提升(写入和读取速度)。数据分别存入两个不同的磁盘
  缺点:没有数据冗余。数据不安全
  业务用途:直播,IPTV,VOD边缘服务器

- raid1

  最小磁盘数: 2 
  优点:容错和简单的数据恢复。提高了读取性能。实现了数据的备份
  缺点:可用容量较低。写入速度变慢。
  业务用途:标准应用服务器,其中数据冗余和可用性很重要。

- Raid5

  最小磁盘数: 3 
  优点:容错和IO性能提升(低于RAID 0)
  缺点:由于奇偶校验开销导致服务器执行大量写操作,性能降低。
  理想用途:文件存储服务器和应用服务器。

- Raid6

  最小磁盘数: 4 
  优点:比RAID 5更高的冗余。提高了读取性能。
  缺点:由于奇偶校验开销,服务器执行大量写操作会降低性能。
  理想用途:大型文件存储服务器和应用服务器。

- raid10

  最小磁盘数: 4 
  优点:性能非常高。容错。
  缺点:可用容量较低/成本较高。有限的可扩展性
  理想用途:高度利用的数据库服务器/服务器执行大量写入操作

- RAID级别的区别主要是读写速度的不同,以及容错性能和搭建成本不同

raid0

至少需要两块磁盘
数据==条带化==分布到磁盘,==高的读写性能==,100%==高存储空间利用率==
数据==没有冗余策略==,一块磁盘故障,数据将无法恢复
应用场景:
对性能要求高但对数据安全性和可靠性要求不高的场景,比如音频、视频等的存储

raid1

至少需要2块磁盘
数据==镜像备份==写到磁盘上(工作盘和镜像盘),==可靠性高==,磁盘利用率为50%
读性能可以,但写性能不佳,写入数据要同步,因此速度很慢。
一块磁盘故障,不会影响数据的读写,因为是镜像盘,冗余性好,只要有一块是好的,数据还是玩转的。
RAID 1应用场景:
对数据安全可靠要求较高的场景,比如邮件系统、交易系统等。

raid10

RAID10特点:

RAID10是raid1+raid0的组合
至少需要4块磁盘
两块硬盘为一组先做raid1,再将做好raid1的两组做raid0
兼顾==数据的冗余==(raid1镜像)和==读写性能==(raid0数据条带化)
磁盘利用率为50%,成本较高

只要坏的不是同一个组中,所有的硬盘,就算坏掉一半硬盘都不会丢数据。

因此raid10是最实用的方案。

总结raid级别

硬raid、软raid区别

硬RAID使用磁盘阵列卡实现RAID功能,更稳定,不依赖于操作系统。

软RAID使用软件模拟RAID功能,因为功能实现依赖软件以及操作系统,所以性能不如硬件RAID稳定

软Raid 10实战

(1)环境准备
添加4块硬盘,搭建raid 10磁盘冗余阵列。

[root@mini ~]#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   18G  0 lvm  /
  └─centos-swap 253:1    0    1G  0 lvm  [SWAP]
sdd               8:48   0   10G  0 disk 
sde               8:64   0   10G  0 disk 
sdf               8:80   0   10G  0 disk 
sdg               8:96   0   10G  0 disk 
sr0              11:0    1  4.4G  0 rom  

# sdd sde sdf sdg为新添加磁盘

(2)安装mdadm(实现软RAID功能)
mdadm命令用于建设,管理和监控软件RAID阵列

[root@lamp-241 ~]# yum install mdadm -y

参数

(3)创建RAID10磁盘阵列

# 1. 命令说明
mdadm -Cv /dev/md0  -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde

-C		表示创建RAID阵列卡
-v		显示创建过程
/dev/md0   指定raid阵列的名字
-a  yes	自动创建阵列设备文件
-n 4	参数表示用4块盘部署阵列
-l 10 	代表指定创建raid 10级别
        最后跟着四块磁盘设备名
		   
# 2. 创建RAID10
[root@mini ~]#mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdd /dev/sde /dev/sdf /dev/sdg
mdadm: layout defaults to n2
mdadm: layout defaults to n2
mdadm: chunk size defaults to 512K
mdadm: size set to 10476544K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

(4)查看RAID10信息

[root@mini ~]#fdisk -l /dev/md0

Disk /dev/md0: 21.5 GB, 21455962112 bytes, 41906176 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 524288 bytes / 1048576 bytes

# 4块盘分别为10G,总结40G,因RAID10只能利用磁盘50%的空间,所以此处显示为21.5GB空间

(5)创建分区及文件系统

这里就不分区了
[root@lamp-241 ~]# mkfs.xfs /dev/md0
meta-data=/dev/md0               isize=512    agcount=16, agsize=654720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=10475520, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=5120, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

(6)挂载分区并写入数据

    mount /dev/md0 /md0_disk/
查看挂载后的磁盘使用情况
    df -h

写入数据

[root@lamp-241 ~]# ls /yuchao-linux/
[root@lamp-241 ~]#
[root@lamp-241 ~]# touch /yuchao-linux/超哥带你学linux.txt
[root@lamp-241 ~]#
[root@lamp-241 ~]# ls /yuchao-linux/
超哥带你学linux.txt

查看raid 10信息

[root@lamp-241 ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Thu Mar  3 04:20:20 2022
        Raid Level : raid10
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Thu Mar  3 04:25:12 2022
             State : clean
    Active Devices : 4
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 0

            Layout : near=2
        Chunk Size : 512K

Consistency Policy : resync

              Name : lamp-241:0  (local to host lamp-241)
              UUID : 8b05fda8:ea9f56df:d639157c:bf00d883
            Events : 21

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync set-A   /dev/sdb
       1       8       32        1      active sync set-B   /dev/sdc
       2       8       48        2      active sync set-A   /dev/sdd
       3       8       64        3      active sync set-B   /dev/sde
[root@lamp-241 ~]#

加入开机自动挂载

[root@lamp-241 ~]# tail -1 /etc/fstab
/dev/md0 /yuchao-linux xfs defaults 0 0

剔除一块硬盘

[root@lamp-241 ~]# mdadm /dev/md0 -f /dev/sdd
mdadm: set /dev/sdd faulty in /dev/md0

检查raid 10信息

[root@lamp-241 ~]# mdadm /dev/md0 -f /dev/sdd
mdadm: set /dev/sdd faulty in /dev/md0
[root@lamp-241 ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Thu Mar  3 04:20:20 2022
        Raid Level : raid10
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Thu Mar  3 04:28:33 2022
             State : clean, degraded
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 1
     Spare Devices : 0

            Layout : near=2
        Chunk Size : 512K

Consistency Policy : resync

              Name : lamp-241:0  (local to host lamp-241)
              UUID : 8b05fda8:ea9f56df:d639157c:bf00d883
            Events : 23


可以看到/dev/sdd硬盘被移除了,faulty翻译是有故障的

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync set-A   /dev/sdb
       1       8       32        1      active sync set-B   /dev/sdc
       -       0        0        2      removed
       3       8       64        3      active sync set-B   /dev/sde

       2       8       48        -      faulty   /dev/sdd

不影响raid 10的使用

[root@lamp-241 ~]# touch /yuchao-linux/天气确实不错.txt
[root@lamp-241 ~]#
[root@lamp-241 ~]# ls /yuchao-linux/
天气确实不错.txt  超哥带你学linux.txt

重新加入/dev/sdd硬盘

RAID10磁盘阵列,挂掉一块硬盘并不影响使用,只需要购买新的设备,替换损坏的磁盘即可

1.先取消RAID10阵列的挂载,注意必须没有人在使用挂载的设备
[root@lamp-241 ~]# umount /dev/md0

2.重启机器
reboot

3.重新添加新的磁盘加入raid 10

[root@lamp-241 ~]# mdadm /dev/md0 -a /dev/sdd
mdadm: added /dev/sdd
[root@lamp-241 ~]#
[root@lamp-241 ~]#
[root@lamp-241 ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Thu Mar  3 04:20:20 2022
        Raid Level : raid10
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Thu Mar  3 04:47:07 2022
             State : clean, degraded, recovering
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : near=2
        Chunk Size : 512K

Consistency Policy : resync

    Rebuild Status : 6% complete  # 默认会有一个修复的过程,这里是进度条

              Name : lamp-241:0  (local to host lamp-241)
              UUID : 8b05fda8:ea9f56df:d639157c:bf00d883
            Events : 38

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync set-A   /dev/sdb
       1       8       32        1      active sync set-B   /dev/sdc
       4       8       48        2      spare rebuilding   /dev/sdd
       3       8       64        3      active sync set-B   /dev/sde
[root@lamp-241 ~]#


最终修复完毕

[root@lamp-241 ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Thu Mar  3 04:20:20 2022
        Raid Level : raid10
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Thu Mar  3 04:48:45 2022
             State : clean
    Active Devices : 4
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 0

            Layout : near=2
        Chunk Size : 512K

Consistency Policy : resync

              Name : lamp-241:0  (local to host lamp-241)
              UUID : 8b05fda8:ea9f56df:d639157c:bf00d883
            Events : 54

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync set-A   /dev/sdb
       1       8       32        1      active sync set-B   /dev/sdc
       4       8       48        2      active sync set-A   /dev/sdd
       3       8       64        3      active sync set-B   /dev/sde
[root@lamp-241 ~]#

删除软件raid

1.卸载磁盘
[root@lamp-241 ~]# umount /dev/md0

2.停止raid服务
[root@lamp-241 ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0

3.卸载raid中所有硬盘
[root@lamp-241 ~]#
[root@lamp-241 ~]# mdadm --misc --zero-superblock /dev/sdb
[root@lamp-241 ~]# mdadm --misc --zero-superblock /dev/sdc
[root@lamp-241 ~]# mdadm --misc --zero-superblock /dev/sdd
[root@lamp-241 ~]# mdadm --misc --zero-superblock /dev/sde

4.删除raid配置文件
rm -f /etc/mdadm.conf

5.删除开机自动挂载配置
修改/etc/fstab 
/dev/md0 /yuchao-linux xfs defaults 0 0  #删除    没弄开机自启就不用弄

或者在可以创建分区,创建文件系统


标签:raid,mdadm,阵列,dev,lamp,241,md0,root,冗余
From: https://www.cnblogs.com/btcm409181423/p/18008555

相关文章

  • CRC冗余检测计算与FCS帧检验序列
    差错检测1.奇偶校验漏检率大,不建议使用2.CRC冗余检测CRC循环冗余校验是一种常用的检错方法,而FCS是添加在数据后面的用来校验的冗余码。优点:漏检率低,运算速度快等这里别的博主已经讲得十分详细CRC与FCS计算原理CRC的种类与算法实现3.纠错码计算较为复杂,参考纠错码的......
  • 不搜索,无问题。冗余、上下界剪枝
    公众号:编程驿站1.搜索算法本文和大家聊聊搜索算法,计算机解决问题的抽象流程是,先搜索,或完全搜索后得到答案,或边搜索边找答案。所以,对给定的数据集进行搜索是解决问题的前置条件。不搜索,无问题。搜索算法无非就是线性、二分、深度、广度搜索算法。其它的搜索算法的底层逻辑也是建......
  • 【服务器数据恢复】DELL EqualLogic存储中RAID5多块磁盘出现坏道离线,上层虚拟机不可用
    服务器数据恢复环境&故障:某公司IT部门一台某品牌EqualLogicPS6100系列存储在运行过程中突然崩溃。服务器管理员对故障服务器存储进行初步检查,经过检测发现导致该服务器存储无法正常工作的原因是该存储中raid5磁盘阵列内有2块硬盘出现故障离线,导致上层虚拟机不可用。由于该存储......
  • Raid
    1、Raid概念磁盘阵列(RedundantArraysofIndependentDisks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。磁盘阵列是由很多磁盘,以硬件(RAID卡)或软件(MDADM)形式组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成......
  • 服务器数据恢复—EVA存储raid5硬盘性能不稳定离线的数据恢复案例
    服务器数据恢复环境:某品牌EVA某型号存储,底层是RAID5阵列,划分了若干lun。服务器故障&分析:该存储设备中raid5阵列有两块硬盘掉线,存储中的lun丢失。将故障服务器存储中的所有磁盘编号后取出,硬件工程师检测后发现掉线硬盘不存在物理故障,也没有发现坏道,都可以正常读取数据。掉线硬......
  • raid级别及应用场景
    最少几块硬盘安全冗余可用容量性能使用场景举例Raid01最低所有硬盘容量的和读写最快不要求安全,只要求速度数据库从库、存储从库Raid1只能有2块100%一半(两块硬盘容量之和)写入速度慢,读取还可以只追求安全性,对速度没要求系统盘、监控服务器Raid5......
  • pbootcms程序升级新增清理冗余图片清理
    pbootcms程序升级新增清理冗余图片功能调取方法PBOOTCMS最近升级了新的版本,增加了清理冗余图片的功能,但是各位站长更新完后发现后台并没有这个功能。今天微站就教大家如何把这个功能展现出来!看教程。操作教程第一步:打开后台自定义菜单。然后点击菜单新增。<ignore_js_op>......
  • 存储进阶:RAID简介
    一、什么是RAID磁盘阵列(RedundantArraysofIndependentDisks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。也就是说把多个磁盘组合起来,组合一个磁盘阵列组,使得性能大幅提高。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效......
  • CRC循环冗余校验码
    循环冗余校验"冗余"为什么能检验?数据传输过程中不能保证所有的位数都是正确的,由于电磁干扰会产生错误,假设传输过程中最多只有1位是传输错误的,并且不需要检验出具体哪一位出现错误,只需要考虑检验数据存在错误即可不添加校验码最简单的情况是发送方只发送了一位数据,接......
  • (五十二)C#编程基础复习——C#点阵列
    在C#中,点阵列类用来管理一个紧凑型的位值数组,数组中的值均为布尔类型,其中true(1)表示此位为开启,false(0)表示此位为关闭。当你需要存储位(英文名“bit”数据存储的最小单位,也可称为比特),但事先又不知道具体位数时,就可以使用点阵列。当需要访问点阵列中的元素时,可以使用整型索引从点阵......