[Linux实用命令]-9-磁盘阵列(RAID)实例详解

  • 时间:2022-03-15 15:08 作者:晴刃 来源: 阅读:492
  • 扫一扫,手机访问
摘要:引言这篇文章详情几种常用的磁盘阵列技术(Raid0、Raid1、Raid4、Raid5、Raid10、Raid01),演示如何在CentOS7环境下使用mdadm命令去创立和维护磁盘阵列;RAID又称“廉价磁盘冗余阵列”,可以使用硬件和软件两种方式来实现,硬件RAID可以参考购买硬件时附带的参考手册

引言

这篇文章详情几种常用的磁盘阵列技术(Raid0、Raid1、Raid4、Raid5、Raid10、Raid01),演示如何在CentOS7环境下使用mdadm命令去创立和维护磁盘阵列;RAID又称“廉价磁盘冗余阵列”,可以使用硬件和软件两种方式来实现,硬件RAID可以参考购买硬件时附带的参考手册,设置方法与软件RAID有差异;现如今软件RAID大多用作研究和熟习RAID的工作方式。

文章目录

  • 0×1.Raid(磁盘阵列)级别详情
  •    a.Raid0
  •    b.Raid1
  •    c.Raid4
  •    d.Raid5
  •    e.Raid10
  •    f.Raid01
  • 0×2.Linux创立磁盘阵列实例
  •   a.试验环境详情
  •   b.创立磁盘阵列Raid10
  •   c.配置开机自启动磁盘阵列
  •   d.将磁盘阵列挂载到目录使用
  • 0×3.创立冗余磁盘阵列
  • 0×4.删除磁盘阵列

0×1.Raid(磁盘阵列)级别详情

Raid有"廉价磁盘冗余阵列"的意思,就是利用多块廉价的硬盘组成磁盘组,让数据分部储存在这些硬盘里面,从而达到读取和写入加速的目的;也可以用作数据的冗余,当某块硬盘损毁后,其余硬盘可以通过冗余数据计算出损坏磁盘的数据,这样就提高了数据储存的安全性。

a.Raid0

Raid0数据储存方法如下(假设有两块硬盘D1、D2):


Raid0数据储存

特点:数据被并行写入每个磁盘,每个磁盘都保存了完整数据的一部分,读取也采用并行方式,磁盘数量越多,读取和写入速度越快。由于没有冗余,一个硬盘坏掉一律数据丢失。至少两块硬盘才能组成Raid0阵列。

容量:所有硬盘之和。

b.Raid1

Raid1数据储存方法如下(假设有两块硬盘D1、D2):


Raid1数据储存

特点:有数据冗余,可靠性强,D1、D2被写入相同的数据,其中D2可以作为D1的完整备份。读取时,从两块硬盘上并行读取,写入慢,读取快。任何一块硬盘坏掉不会丢失数据,至少两块硬盘并且两块硬盘大小相等才能组成Raid1阵列。

容量:所有硬盘容量之和的一半(一半写数据,一半用来做备份)。

c.Raid4

Raid4数据储存方法如下(假设有三块硬盘D1、D2、D3):


Raid4数据储存

特点:有数据冗余校验,可靠性强。其中任何一块硬盘坏掉都不会引起数据丢失,D1丢失时,D3根据校验和以及D2的数据进行逆运算,计算出D1的数据。但当写入大量数据时校验盘D3会是一个数据瓶颈,导致写入慢。只有当两块磁盘同时丢失时,数据才无法恢复。至少三块硬盘并且磁盘大小应该相等才能组成Raid4阵列(不常用)。

容量:所有硬盘容量之和减去其中一块硬盘的容量。

d.Raid5

Raid5数据储存方法如下(假设有三块硬盘D1、D2、D3):


Raid5数据储存

特点:采用奇偶校验,可靠性强,磁盘校验和被散列到不同的磁盘里面,添加了读写速率。只有当两块磁盘同时丢失时,数据才无法恢复,至少三块硬盘并且硬盘大小应该相等才能组成Raid5阵列。

容量:所有硬盘容量之和减去其中一块硬盘的容量,被减去的容量被分配到三块硬盘的不同区域用来存放数据校验信息。

e.Raid10

Raid10(Raid1+Raid0)是现在比较常用的一种磁盘阵列级别,它的容错好,读写数据效率较高,但经费相对也较高。
Raid10数据储存方法如下(假设有四块硬盘D1、D2、D3、D4):


Raid10数据储存

特点:备份和并发式存取数据,可靠性强。D1、D2组成一个阵列Raid1,其中D1是数据盘,D2是备份盘;D3、D4也组成一个Raid1,其中D3是数据盘,D4是备份盘;在这个基础上将D1、D2作为一个整体,将D3、D4也作为一个整体,这两个整体之间再组成一个Raid0阵列。这样不仅仅读取数据会非常快,并发写入的速度也会随着磁盘的增多而变快。至少四块硬盘并且每块硬盘大小应该相等才能组成Raid10阵列。

容量:所有硬盘容量之和的一半(一半写数据,一半用来备份数据)。

f.Raid01

Raid01数据储存方法如下(假设有四块硬盘D1、D2、D3、D4):


Raid01数据储存

特点:D1、D2组成一个阵列Raid0,D3、D4也组成一个阵列Raid0,D1、D2和D3、D4再组成一个Raid1。D1和D2作为数据盘阵列,D3和D4作为数据备份阵列,这种方式并不常用,至少四块硬盘并且每块硬盘大小应该相等才能组成Raid01阵列。

容量:所有硬盘容量之和的一半。

0×2.Linux创立磁盘阵列实例

这一部分通过Linux上的mdadm命令来实现Raid10磁盘阵列。

a.试验环境详情

试验环境为一台安装了5块硬盘的计算机,操作系统是CentOS7,除系统所在硬盘(/dev/sda)外,其他四块20G的硬盘盘符分别为(/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde);

主要用到的命令:mdadm;

CentOS7中mdadm默认已安装,假如没有安装,可以使用yum在线安装,如下:

#首先确保已经连接到互联网,搜索一下yum服务器上能否存在mdadmqing@qingsword.com:~$ sudo yum search mdadm#根据搜索结果和系统环境选择对应的版本安装qing@qingsword.com:~$ sudo yum install mdadm.x86_64#安装需要root权限,请确保普通客户可用sudo或者切换到root权限操作

到这里,试验的准备工作完成。

b.创立磁盘阵列Raid10

#参数详解:# 磁盘阵列创立需要root权限;# -C 创立一个新的RAID起名为md0;# -a yes 自动创立对应设施;# -l 指定RAID级别,本例是10;# -n 活动的磁盘数量(备份盘除外);# 由于RAID10最少需要4块硬盘,后面的sd[b-e]都被增加到md0中;# 假如要创立其余级别的RAID,只要要更改-l参数后的级别,并根据所需要的硬盘的数量更改-n参数后面的数量就可;qing@qingsword.com:~$ sudo mdadm -C /dev/md0 -a yes -l 10 -n 4 /dev/sd[b-e]Continue creating array? (y/n)  y #输入y继续#假如每块硬盘容量都很大,RAID的创立不是瞬间完成的,通过查看下面这个文件,可以看到一个创立进度,确保一律完成后再进行下一步qing@qingsword.com:~$ cat /proc/mdstatPersonalities : [raid10][====>................]  resync = 24.0%#只有这个到达100%才算完成#查看刚才创立的磁盘阵列md0详细信息qing@qingsword.com:~$  sudo mdadm -D /dev/md0

c.配置开机自启动磁盘阵列

新创立的磁盘阵列默认是不能开机自启动的,需要手动创立一个配置文件,让系统在启动的时候自动启动Raid(经过测试,CentOS7并不需要创立这个配置文件,假如重启后磁盘阵列没有随机启动,请使用下面的方法配置一次):

#这个配置文件的创立需要root权限才可进行,切换到rootqing@qingsword.com:~$ su root #将mdadm信息写入配置文件root@qingsword.com:~# mdadm -D --scan > /etc/mdadm.conf

d.将磁盘阵列挂载到目录使用

#挂载前先需要对磁盘阵列格式化qing@qingsword.com:~$ sudo mkfs.ext4 /dev/md0#挂载,本例挂载到/mnt目录qing@qingsword.com:~$ sudo mount /dev/md0 /mnt#查看已经挂载的设施,可以看到/dev/md0可使用的大小是40G,上面已经详情过,Raid10可用大小是活动硬盘总和的一半qing@qingsword.com:~$ sudo df -hFilesystem                   Size  Used Avail Use% Mounted on.../dev/md0                     40G   176M   38G  1%  /mnt

0×3.创立冗余磁盘阵列

可以在创立RAID的时候指定有几块冗余磁盘,当工作磁盘出现故障的时候,冗余磁盘自动启动,顶替出现故障的磁盘继续工作,请看下面的实例:

#假设有6块硬盘,前面4块用作RAID10,后面两块将被用作冗余(参数-x 2表示有2块硬盘用作冗余)qing@qingsword.com:~$ sudo mdadm -C /dev/md0 -a yes -l 10 -n 4 -x 2 /dev/sd[b-g]#查看磁盘阵列详细详细qing@qingsword.com:~$ sudo mdadm -D /dev/md0...Raid Level : raid10...Raid Devices : 4 #参加磁盘阵列硬盘数4Total Devices : 6 #总硬盘数6...Active Devices : 4 #正在工作的硬盘4Working Devices : 6 #能够工作的硬盘6个Failed Devices : 0  #故障硬盘数0Spare Devices : 2 #空闲硬盘数2Number 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  4  8  80   -   spare   /dev/sdf #两个冗余磁盘  5  8  96   -   spare   /dev/sdg

下面手动将一块磁盘标记为故障,看看冗余盘能否起作用:

#将md0中sdc标记为故障qing@qingsword.com:~$ sudo mdadm /dev/md0 -f /dev/sdcmdadm: set /dev/sdc faulty in /dev/md0qing@qingsword.com:~$ sudo mdadm -D...Active Devices : 4Working Devices : 5#还有5个能工作的磁盘(包括剩下冗余的1个)Failed Devices : 1 #坏掉1个Spare Devices : 1 #空闲1个Number Major Minor RaidDevice State  0  8  16  0  active sync set-A  /dev/sdb  5  8  96  1  active sync set-B  /dev/sdg  2  8  48  2  active sync set-A  /dev/sdd  3  8  64  3  active sync set-B  /dev/sde  1  8  32  -  faulty  /dev/sdc  4  8  80  -  spare  /dev/sdf

如果/dev/sdc经过测试后发现没有问题,想要重新加入md0使用,可以在系统重启后,使用"mdadm /dev/md0 -a /dev/sdc"命令将它重新(增加)启用。

假如以后,想要加入一块新硬盘到这个raid10里作为备份盘,这块新硬盘需要和其余硬盘(或者分区)保持相同的大小,而后使用下面的命令增加:

#增加后,就会在备份列表中看到/dev/sdh这块硬盘了qing@qingsword.com:~$ sudo mdadm /dev/md0 --add /dev/sdh #或者简写命令如下,效果同上qing@qingsword.com:~$ sudo mdadm /dev/md0 -a /dev/sdh

0×4.删除磁盘阵列

要想彻底清理RAID以及数据,请使用下面的方法:

#1.假如已经挂载,先卸载qing@qingsword.com:~$ sudo umount /dev/md0#2.关闭RAIDqing@qingsword.com:~$ sudo mdadm -S /dev/md0#3.将磁盘sdb至sdf中的所有数据一律用0填充(创立时有多少块硬盘,这里就写多少块,例如上面创立了冗余是从b-g,那么这里就写/dev/sd[b-g])qing@qingsword.com:~$ sudo mdadm --zero-superblock /dev/sd[b-f]#4.删除启动配置文件(假如有)qing@qingsword.com:~$ sudo rm -rf /etc/mdadm.conf
  • 全部评论(0)
最新发布的资讯信息
【系统环境|】2FA验证器 验证码如何登录(2024-04-01 20:18)
【系统环境|】怎么做才能建设好外贸网站?(2023-12-20 10:05)
【系统环境|数据库】 潮玩宇宙游戏道具收集方法(2023-12-12 16:13)
【系统环境|】遥遥领先!青否数字人直播系统5.0发布,支持真人接管实时驱动!(2023-10-12 17:31)
【系统环境|服务器应用】克隆自己的数字人形象需要几步?(2023-09-20 17:13)
【系统环境|】Tiktok登录教程(2023-02-13 14:17)
【系统环境|】ZORRO佐罗软件安装教程及一键新机使用方法详细简介(2023-02-10 21:56)
【系统环境|】阿里云 centos 云盘扩容命令(2023-01-10 16:35)
【系统环境|】补单系统搭建补单源码搭建(2022-05-18 11:35)
【系统环境|服务器应用】高端显卡再度登上热搜,竟然是因为“断崖式”的降价(2022-04-12 19:47)
手机二维码手机访问领取大礼包
返回顶部