RAID磁盘阵列

文章目录

一、基本概念

raid磁盘阵列:也是可以用不同的硬盘分区,组成一个逻辑硬盘

高可用 冗余

raid:高可用

磁盘的组成方式不同也是不同的raid级别

raid0:条带化存储;数据分散在多个物理磁盘的存储方式。利用多个磁盘并行读取和写入。存储性能和读写性能是最好的(不足没有冗余能力)坏了一块盘数据就会丢失 :使用场景高吞吐和低延时的应用场景。视频大数据处理raid 最少要一块

硬盘利用率是100%

raid1:镜像存储两两复制,数据会保存在所有硬盘上,需要磁盘数N(偶数)可以提高读的性能,可以提供读性能,写的性能相对较低,数据在每个磁盘都要备份,可以提供冗余。磁盘利用率50%

raid5:条带 数据是分散存储,根据校验机制。循环均衡储存(有冗余)如果有热备份可以再坏一块盘,读写性能 ,读的性能好,写的性能相对较差,磁盘利用率(n-1)/n 66% raid

raid6:奇偶校验可以坏两块盘需要四块盘N>=4 磁盘利用率n-2/n 有冗余,奇偶校验,每个数据盘上数据一致,循环按照奇数偶数写入磁盘,最多可以坏两块盘,读性能和raid5差不多,比raid强,比raid5强 比raid1 低一些 写性能最差。可靠性安全性是做高的。对数据的完整性要求很高,选择raid6

raid10:最少需要四块,盘数必须是偶数,先做镜像在做条带(有冗余)可以坏两块,每个两两复制的硬盘当中可以坏一块(一组各坏一块)利用率n/2 50%。读写性能高,读性能和raid0差不多,稍低一些,写性能和raid1差不多,比raid1稍等

raid级别 使用硬盘数量 磁盘利用率 冗余能力 读写性能
raid0 N 100% 读写性能是最好的
raid1 N(偶数) 50% 坏一块 读性能好,写相对较差
raid5 N>=3 n-1/n 坏一块 读性能好,写性能一般
raid6 N>=4 n-2/n 坏两块 读性能好,写性能差
raid10 N>=4(N是整数) 50% 每个组中可以各坏一个 读性能好,写性能一般

一般情况下raid5用的比较多

有四个硬盘你会怎么选择

raid0

raid1

raid5:经济实惠

raid6:可以坏两个

raid10:虽然是可以坏两个,但是磁盘利用率只有50%

当前条件raid5是比较合适的选择

还可以做热备盘

热备份:当阵列中,有一块硬盘坏了,热备份份盘可以随时顶替,相当于磁盘的最后一道保险。

工作原理:热备份相当于给raid又做了一个备份,raid当中坏了一块硬盘,热备盘在顶替过程中,利用校验算法,把阵列当中的数据同步过来

冷:固定

热:活动

二、实验

创建raid5

bash 复制代码
# mdadm -C -v /dev/md5 -l5 -n3 /dev/sdb1 /dev/sdc1 /dev/sdd1 -x1 /dev/sde1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 10476544K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.

创建好后创建文件系统

bash 复制代码
# mkfs.xfs /dev/md5
meta-data=/dev/md5               isize=512    agcount=16, agsize=327296 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5236736, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, r

设置挂载点

bash 复制代码
# mount /dev/md5 /data
# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        38G  5.2G   32G   14% /
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G  9.8M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  179M  836M   18% /boot
/dev/mapper/centos-home xfs        19G   33M   19G    1% /home
tmpfs                   tmpfs     379M     0  379M    0% /run/user/0
tmpfs                   tmpfs     379M   12K  379M    1% /run/user/42
/dev/md5                xfs        20G   33M   20G    1% /data

这里,模拟磁盘损坏

bash 复制代码
# mdadm /dev/md5 -f /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md5

输入命令查看热配盘是否启用

bash 复制代码
输入命令产查看:mdadm -D /dev/md5
3       8       65        0      active sync   /dev/sde1
       1       8       33        1      active sync   /dev/sdc1
       4       8       49        2      active sync   /dev/sdd1

       0       8       17        -      faulty   /dev/sdb1  这里显示热配盘已经自动顶上了

raid10

bash 复制代码
# mdadm -C -v /dev/md10 -l10 -n4 /dev/sdb2 /dev/sdc2 /dev/sdd2 /dev/sde2 -x1 /dev/sdf  这里创建raid10
mdadm: layout defaults to n2
mdadm: layout defaults to n2
mdadm: chunk size defaults to 512K
mdadm: size set to 10475520K
mdadm: largest drive (/dev/sdf) exceeds size (10475520K) by more than 1%
Continue creating array? 
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md10 started.

​ 创建文件系统

bash 复制代码
# mkfs.xfs /dev/md10
meta-data=/dev/md10              isize=512    agcount=16, agsize=327296 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5236736, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

设置挂载点

bash 复制代码
# mkdir /data1
# mount /dev/md10 /data1
# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        38G  5.2G   32G   14% /
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G  9.8M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  179M  836M   18% /boot
/dev/mapper/centos-home xfs        19G   33M   19G    1% /home
tmpfs                   tmpfs     379M     0  379M    0% /run/user/0
tmpfs                   tmpfs     379M   12K  379M    1% /run/user/42
/dev/md5                xfs        20G   33M   20G    1% /data
/dev/md10               xfs        20G   33M   20G    1% /data1

模拟磁盘损坏

bash 复制代码
# mdadm /dev/md10 -f /dev/sdb2
mdadm: set /dev/sdb2 faulty in /dev/md10
# mdadm -D /dev/md10 

4       8       80        0      active sync set-A   /dev/sdf
       1       8       34        1      active sync set-B   /dev/sdc2
       2       8       50        2      active sync set-A   /dev/sdd2
       3       8       66        3      active sync set-B   /dev/sde2

       0       8       18        -      faulty   /dev/sdb2

显示热备盘已经启用了

相关推荐
进击的女IT2 分钟前
SpringBoot上传图片实现本地存储以及实现直接上传阿里云OSS
java·spring boot·后端
Miqiuha9 分钟前
lock_guard和unique_lock学习总结
java·数据库·学习
一 乐1 小时前
学籍管理平台|在线学籍管理平台系统|基于Springboot+VUE的在线学籍管理平台系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·学习
数云界2 小时前
如何在 DAX 中计算多个周期的移动平均线
java·服务器·前端
阑梦清川2 小时前
Java继承、final/protected说明、super/this辨析
java·开发语言
limengshi1383922 小时前
通信工程学习:什么是TFTP简单文件传输协议
网络·网络协议·学习·信息与通信
快乐就好ya3 小时前
Java多线程
java·开发语言
IT学长编程3 小时前
计算机毕业设计 二手图书交易系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·课程设计·毕业论文·计算机毕业设计选题·二手图书交易系统
CS_GaoMing4 小时前
Centos7 JDK 多版本管理与 Maven 构建问题和注意!
java·开发语言·maven·centos7·java多版本
艾伦~耶格尔4 小时前
Spring Boot 三层架构开发模式入门
java·spring boot·后端·架构·三层架构