ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux:raid技术及软raid管理命令mdadm详解

2021-03-16 22:01:17  阅读:126  来源: 互联网

标签:... RAID 创建 raid 及软 Linux 磁盘 mdadm


RAID技术及软raid管理mdadm详解

RAID是什么,常见的RAID有哪些?

RAID:

磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。
磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
磁盘阵列还能利用同位检查(Parity Check)的观念,当数组中任意一个硬盘发生故障时,仍可读出数据。在数据重构时,可将数据经计算后重新置入新硬盘中。

功能:
RAID技术主要有以下三个基本功能:
(1)通过对磁盘上的数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,提高了数据存取速度。
(2)通过对一个阵列中的几块磁盘同时读取,减少了磁盘的机械寻道时间,提高数据存取速度。
(3)通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。

RAID级别:

级别:level
RAID-0:0, 条带卷,strip;
RAID-1: 1, 镜像卷,mirror;
RAID-2

RAID-5:
RAID-6
RAID10
RAID01

	RAID-0: 
		读、写性能提升;
		可用空间:N*min(S1,S2,...)
		无容错能力
		最少磁盘数:2, 2+

	RAID-1:
		读性能提升、写性能略有下降;
		可用空间:1*min(S1,S2,...)
		有冗余能力
		最少磁盘数:2, 2+

	RAID-4:
		1101, 0110, 1011

	RAID-5:
		读、写性能提升
		可用空间:(N-1)*min(S1,S2,...)
		有容错能力:1块磁盘
		最少磁盘数:3, 3+

	RAID-6:
		读、写性能提升
		可用空间:(N-2)*min(S1,S2,...)
		有容错能力:2块磁盘
		最少磁盘数:4, 4+

	
	混合类型
		RAID-10:
			读、写性能提升
			可用空间:N*min(S1,S2,...)/2
			有容错能力:每组镜像最多只能坏一块;
			最少磁盘数:4, 4+
		RAID-01:

		RAID-50、RAID7

		JBOD:Just a Bunch Of Disks
			功能:将多块磁盘的空间合并一个大的连续空间使用;
			可用空间:sum(S1,S2,...)

	常用级别:RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD

RAID实现方式:

		硬件实现方式
		软件实现方式 

		CentOS 7上的软件RAID的实现:
			结合内核中的md(multi devices)

			mdadm:模式化的工具
				命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>
					支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10; 

				模式:
					创建:-C
					装配: -A
					监控: -F
					管理:-f, -r, -a

				<raiddevice>: /dev/md#
				<component-devices>: 任意块设备


				-C: 创建模式
					-n #: 使用#个块设备来创建此RAID;
					-l #:指明要创建的RAID的级别;
					-a {yes|no}:自动创建目标RAID设备的设备文件;
					-c CHUNK_SIZE: 指明块大小;
					-x #: 指明空闲盘的个数;

					例如:创建一个10G可用空间的RAID5;

				-D:显示raid的详细信息;
					mdadm -D /dev/md#

				管理模式:
					-f: 标记指定磁盘为损坏;
					-a: 添加磁盘
					-r: 移除磁盘

				观察md的状态:
					cat /proc/mdstat

				停止md设备:
					mdadm -S /dev/md#

			watch命令:
				-n #: 刷新间隔,单位是秒;

				watch -n# 'COMMAND'

软RAID实现,mdadm创建RAID实操

案例:一块20G硬盘,划分4个分区,每个分区为5G,其实三个分区做RAID5,另外一个分组做备用盘。

1、先使用fdisk命令划分好分区,并将分区格式改为fd格式,如下:
在这里插入图片描述
2、使用mdadm命令开始创建raid
ps:在创建之前 ,如果系统默认没有mdadm命令,可以使用yum自行安装,安装完成之后,可以先查看当前系统是否存在raid设备
cat /proc/mdstat
在这里插入图片描述
接下来,正式开始创建raid:
mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sdb{5,6,7,8}
在这里插入图片描述
再使用cat /proc/mdstat查看状态:
在这里插入图片描述
创建完成之后,开始格式化、挂载,完成之后即可使用:
在这里插入图片描述
在这里插入图片描述

查看raid5中各磁盘的详细信息:
在这里插入图片描述

接下来模拟raid5中,某块磁盘损坏,再查看raid5是否还能够正常工作:(将/dev/sdb5标记为损坏)
在这里插入图片描述
接下来,再查看raid此时的详情情况:
在这里插入图片描述

如果此时,再损坏一块磁盘,raid5,还是能够正常工作,但是会处于降级模式工作:
在这里插入图片描述
在这里插入图片描述

此时,可以将损坏的磁盘给移除,待重新更换或者修复硬盘,再添加到此Raid:
在这里插入图片描述
添加新的磁盘到此raid中:
在这里插入图片描述
在这里插入图片描述
再次查看raid详细情况,已经修复完成,正常工作:
在这里插入图片描述

标签:...,RAID,创建,raid,及软,Linux,磁盘,mdadm
来源: https://blog.csdn.net/weixin_43305348/article/details/114870668

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有