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

显示热备盘已经启用了

相关推荐
码老白4 分钟前
【老白学 Java】Warshipv2.0(二)
java·网络
苹果酱05675 分钟前
前端面试vue篇:Vue2 和 Vue3 在设计和性能上有显著区别
java·spring boot·毕业设计·layui·课程设计
安迁岚5 分钟前
【SQL Server】华中农业大学空间数据库实验报告 实验三 数据操作
运维·服务器·数据库·sql·mysql
HackKong14 分钟前
小白怎样入门网络安全?
网络·学习·安全·web安全·网络安全·黑客
万琛16 分钟前
【java-Neo4j 5开发入门篇】-最新Java开发Neo4j
java·neo4j
vmlogin虚拟多登浏览器24 分钟前
虚拟浏览器可以应对哪些浏览器安全威胁?
服务器·网络·安全·跨境电商·防关联
澜世34 分钟前
2024小迪安全基础入门第三课
网络·笔记·安全·网络安全
Bald Baby35 分钟前
JWT的使用
java·笔记·学习·servlet
魔道不误砍柴功40 分钟前
实际开发中的协变与逆变案例:数据处理流水线
java·开发语言