RAID磁盘阵列详解与RAID组的创建

RAID磁盘阵列详解与RAID组的创建

  • RAID磁盘阵列详解
    • RAID 0
    • RAID 1
    • RAID 5
    • RAID 6
    • RAID 10
    • RAID 50
    • 常见RAID级别的对比
    • RAID的应用场景
    • 热备盘
  • RAID组的创建(软RAID)
    • 1.yum安装mdadm
    • 2.虚拟机中添加两块硬盘并进行分区
    • 3.准备完磁盘后,检查磁盘是否正确定义RAID
    • 4.创建RAID0(/dev/md0)
    • 5.查看RAID组状态
    • 6.针对RAID组进行文件系统创建
    • 7.创建挂载目录并进行永久挂载
    • 8.保存RAID组配置
    • 9.使用RAID组

RAID磁盘阵列详解

RAID是英文Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),提高了硬盘的读写性能和数据安全性。根据不同的组合方式可以分为不同的RAID级别。

RAID 0

无差错校验的分条RAID,不提供数据保护,以连续位或字节为单位进行数据分割,将数据分段存储于各个硬盘中并进行读/写数据,因此有很高的数据传输率,但它没有数据冗余,所以不能应用于数据安全性要求高的场合。
RAID磁盘阵列详解与RAID组的创建_第1张图片

RAID 1

镜像结构的RAID,通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。
RAID磁盘阵列详解与RAID组的创建_第2张图片

RAID 5

分布式奇偶校验码的独立硬盘结构,N(N>=3)块盘组成阵列,一份数据产生N-1个条带,同时还有一份校验数据,共N份数据在N块盘上循环均衡存储。
N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高。
磁盘利用率为(N-1)/N容量,相当于一块磁盘的容量空间用于存储奇偶校验信息。
可靠性高,允许坏1块盘,不影响所有数据。
RAID磁盘阵列详解与RAID组的创建_第3张图片

RAID 6

RAID 6采用双重校验技术,在RAID 5的技术上增加了第二个独立的奇偶校验信息块,两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用,进一步加强了对数据的保护。
N(N>=4)块盘组成阵列,(N-2)/N容量 (相当于2块磁盘的容量空间用于存储奇偶校验信息)。
RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此写性能较差。
RAID磁盘阵列详解与RAID组的创建_第4张图片
RAID磁盘阵列详解与RAID组的创建_第5张图片
RAID磁盘阵列详解与RAID组的创建_第6张图片

RAID 10

RAID 10是RAID 1和RAID 0的结合,先做镜像,再做条带
兼顾了RAID 1的容错能力与RAID 0的条带化读写数据的优点,性能好,可靠性高。属于混合型RAID
N(偶数,N>=4)块盘两两镜像后,在组合成一个RAID 0,最多允许所有磁盘基组中的磁盘各损坏一个,但是不允许同一基组中的磁盘同时有坏的。
磁盘的利用率为N/2,
N/2块盘同时写入数据,N快盘同时读取数据
RAID磁盘阵列详解与RAID组的创建_第7张图片

RAID 50

RAID磁盘阵列详解与RAID组的创建_第8张图片

常见RAID级别的对比

RAID磁盘阵列详解与RAID组的创建_第9张图片

RAID的应用场景

RAID磁盘阵列详解与RAID组的创建_第10张图片

热备盘

RAID磁盘阵列详解与RAID组的创建_第11张图片

RAID组的创建(软RAID)

1.yum安装mdadm

mdadm常用模式:

  • Assemble:装配模式,将原来属于一个阵列的每个块设备组装为阵列

  • Build:创建一个不需要元数据的阵列(超级块),没个设备没有元数据块

  • Create:创建一个新的阵列,每个设备都有超级块
    –create == -C 创建一个新的阵列
    –level == -l 设置RAID组级别
    –raid-devices == -n 设置设备活动个数
    –spare-devices == -x 设置备用盘的个数
    –chunk == -c chunk默认64K

  • Monitor:监控模式,监控RAID状态,可以实现全局热备
    –follow ==-F 选择监控模式
    –syslog == -y 事件日志记录
    –delay == -d 设置raid轮循,默认时间60s
    –test == -t 生成警告信息

  • Incremental Assembly:添加一个设备带阵列中

  • Misc:报告或者修改阵列中相关设备信息
    –query==-Q 查询一个RAID或者RAID组件设备信息
    –detail == -D 查看RAID组详细信息
    –stop==—S 停止RAID组

  • Auto-detect:要求在linux内核启动时自动检测阵列

2.虚拟机中添加两块硬盘并进行分区

fdisk /dev/sdc 
		Command (m for help): t
		Selected partition 1
		Hex code (type L to list all codes): fd       #改变分区类型为fd#
		Changed type of partition 'Linux' to 'Linux raid autodetect'

		Command (m for help): p

		Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors
		Units = sectors of 1 * 512 = 512 bytes
		Sector size (logical/physical): 512 bytes / 512 bytes
		I/O size (minimum/optimal): 512 bytes / 512 bytes
		Disk label type: dos
		Disk identifier: 0xe2b54778

		   Device Boot      Start         End      Blocks   Id  System
		/dev/sdc1            2048    41943039    20970496   fd  Linux raid autodetect

		Command (m for help): w
		The partition table has been altered!

3.准备完磁盘后,检查磁盘是否正确定义RAID

	[root@localhost ~]# mdadm --examine /dev/sd[b-c]
	/dev/sdb:
	   MBR Magic : aa55
	Partition[0] :     41940992 sectors at         2048 (type fd)
	/dev/sdc:
	   MBR Magic : aa55
	Partition[0] :     41940992 sectors at         2048 (type fd)
	[root@localhost ~]# mdadm --examine /dev/sd[b-c]1
	mdadm: No md superblock detected on /dev/sdb1.
	mdadm: No md superblock detected on /dev/sdc1.
	[root@localhost ~]# 

4.创建RAID0(/dev/md0)

[root@localhost ~]# mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sd[bc]1  #mdadm -C /dev/md0  -l raid0 -n 2 /dev/sd[b-c]1
	mdadm: Defaulting to version 1.2 metadata
	mdadm: array /dev/md0 started.
[root@localhost ~]# 

5.查看RAID组状态

[root@localhost ~]# cat /proc/mdstat 
	Personalities : [raid0] 
	md0 : active raid0 sdc1[1] sdb1[0]
	      41939968 blocks super 1.2 512k chunks
	      
	unused devices: 
[root@localhost ~]# 

6.针对RAID组进行文件系统创建

[root@localhost ~]# mkfs -t xfs /dev/md0 

7.创建挂载目录并进行永久挂载

[root@localhost ~]# mkdir /mnt/raid0
	[root@localhost ~]# mount /dev/md0 /mnt/raid0/
	[root@localhost ~]# df -hT

永久挂载:
	[root@localhost ~]# vim /etc/fstab 
	[root@localhost ~]# cat /etc/fstab 

		#
		# /etc/fstab
		# Created by anaconda on Wed Jul  4 21:57:46 2018
		#
		# Accessible filesystems, by reference, are maintained under '/dev/disk'
		# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
		#
		/dev/mapper/rhel-root   /                       xfs     defaults        1 1
		UUID=cce16428-f4df-48c8-96a4-1e7e68e9343b /boot                   xfs     defaults        1 2
		/dev/mapper/rhel-swap   swap                    swap    defaults        0 0    
		/dev/md0	/mnt/raid0	xfs	defaults	0 0    #添加此行#
		[root@localhost ~]# mount -a    #重新挂载#

8.保存RAID组配置

[root@localhost ~]# mdadm --detail --scan  --verbose >> /etc/mdadm.conf
[root@localhost ~]# cat /etc/mdadm.conf 
	ARRAY /dev/md0 level=raid0 num-devices=2 metadata=1.2 name=localhost.localdomain:0 UUID=da3e0615:320a0e62:6115b620:3775dce4
	   devices=/dev/sdb1,/dev/sdc1
[root@localhost ~]# 

9.使用RAID组

[root@localhost ~]# echo "这是一个RAID0阵列测试文件" > /mnt/raid0/test.conf

你可能感兴趣的:(Linux基础,linux)