目录
一.Raid
1.Raid简介
利用虚拟化存储技术把多个硬盘组合起来,成为一个或多个硬盘阵列组,目的为提升性能或数据冗余,或是两者同时提升。
简单来说,RAID把多个硬盘组合成为一个逻辑硬盘,因此,操作系统只会把它当作一个实体硬盘。RAID常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。
RAID 层级不同,数据会以多种模式分散于各个硬盘,例如:RAID 0、RAID 1、RAID 5、RAID 6、RAID 7、RAID 01、RAID 10、RAID 50、RAID 60。 每种等级都有其理论上的优缺点,不同的等级在两个目标间获取平衡,分别是增加数据可靠性以及增加存储器群(读写性能)。
RAID功能实现
-
提高读写能力
-
提高耐用性
-
磁盘冗余备份
RAID实现的方式
-
外接式磁盘阵列:通过扩展卡提供适配能力
-
内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置
-
软件RAID:通过OS实现,比如:群晖的NAS存储
2.Raid 0
因为读写时都可以并行处理,所以在所有的级别中,RAID 0的速度是最快的。但是RAID 0既没有冗余功能,也不具备容错能力,如果一个磁盘(物理)损坏,所有数据都会丢失。
组成:大于等于两块磁盘
优点:提高了读写效率,利用率100%
缺点:无备份功能(无冗余)
2.Raid 1
也称为镜像, 两组以上的N个磁盘相互作镜像,在一些多线程操作系统中能有很好的读取速度,理论上读取速度等于硬盘数量的倍数,与RAID 0相同。另外写入速度有微小的降低。
组成:偶数块磁盘
优点:提升了读的效率,有冗余功能
缺点:降低了写的效率,利用率50%
3.Raid 5
对于RAID 5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。
组成:大于等于三块磁盘
优点:提升了读的效率,有冗余功能(只能坏一块磁盘)
缺点:降低了写的效率,利用率67%
4.Raid 1+0
越到后面的结构就是对前面结构的一种重复和再利用,因此它速度比较快,也有容错功能。
组成:四块及以上的偶数数量磁盘
优点:提高了读写效率,有冗余功能
缺点:利用率50%
5.Raid分类
软件Raid
使用基于主机的软件提供RAID功能,是在操作系统级上实现的,与硬件RAID相比,软件Raid具有成本低廉和简单直观的优点。但是,软件RAID有以下不足。
(1)性能:软件RAID会影响系统整体性能。这是因为软件RAID需要CPU来执行RAID计算。
(2)功能:软件RAID支持有限的Raid级别。
(3)兼容性:软件RAID与主机操作系统绑定,因此需要对软件RAID或操作系统升级进行兼容性验证,只有当RAID软件和操作系统兼容时,才能对其进行升级,这会降低数据处理环境的灵活性。
硬件Raid
包括基于主机的硬件RAID和基于阵列的硬件RAID。基于主机的硬件RAID通常是将专用RAID控制器安装在主机上,并且所有磁盘驱动器都与主机相连,有的制造商还将RAID控制器集成到主板上。但是基于主机的硬件RAID控制器在包含大量主机的数据中心环境下却不是高效的解决方案。而基于阵列的硬件RAID是使用外部硬件RAID控制器,它充当主机与磁盘之间的接口,将存储卷呈现给主机,主机将这些卷作为物理驱动器进行管理。硬件RAID控制器具有如下主要特点。
(1)管理与控制磁盘聚合。
(2)转换逻辑磁盘和物理磁盘之间的I/O请求。
(3)在磁盘出故障时重新生成数据。
二.硬Raid
开机自检完硬盘后按CTRL+R进入Raid卡界面
CTRL+P:上一页
CTRL+N:下一页
三.软Raid
mdadm工具:为软RAID提供管理界面,为空余磁盘添加冗余,结合内核中的md(multi devices)RAID设备可命名 为/dev/md0、/dev/md1、/dev/md2、/dev/md3等。
mdadm [mode] <raiddevice> [options] <component-devices>
命令 模式 阵列名字(md0) 选项 选择/dev/sdb /dev/sdd
mdadm -Cv /dev/md0 -l 10(raid) -n 4 -x 1 /dev/sd[bcde] {b,c,d,e,f}
选项 | 说明 |
-C | 创建模式 |
-A | 装配模式 |
-F | 监管模式 |
-n # | 使用#个块设备来创建此RAID |
-l # | 指明要创建的RAID的级别 |
-c CHUNK_SIZE | 指明块大小,单位k |
-x # | 指明空闲盘的个数 |
- D | 显示raid的详细信息 |
- f | 标记指定磁盘为损坏 |
- a | 添加磁盘 |
- r | 移除磁盘 |
#使用mdadm创建并定义RAID设备
mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}1
命令 raid名 级别 盘数 热备
#用文件系统对每个RAID设备进行格式化
mkfs.xfs /dev/md0
#使用mdadm检查RAID设备的状况
mdadm --detail /dev/md0
mdadm -D /dev/md0
#增加新的成员
mdadm -G /dev/md0 -n4 -a /dev/sdf1
#模拟磁盘故障
mdadm /dev/md0 -f /dev/sda1
#移除磁盘
mdadm /dev/md0 -r /dev/sda1
#在备用驱动器上重建分区
mdadm /dev/md0 -a /dev/sda1
#系统日志信息
cat /proc/mdstat
#生成配置文件
mdadm -D -s >> /etc/mdadm.conf
#停止设备(要先解挂载)
mdadm -S /dev/md0
#激活设备
mdadm -A -s /dev/md0
#强制启动
mdadm -R /dev/md0
#删除raid信息
mdadm --zero-superblock /dev/sdb1
1.建立Raid 5
#建立raid5
[root@localhost ~]#mdadm -Cv /dev/md0 -l 5 -n 3 /dev/sd{b,c,d}1 -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 20954112K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]#cat /proc/mdstat
#查看状态
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
[==>..................] recovery = 11.4% (2403328/20954112) finish=1.4min speed=218484K/sec
unused devices: <none>
[root@localhost ~]#watch -n 5 'cat /proc/mdstat'
#每5秒看一次
[root@localhost ~]#mdadm -D /dev/md0
#查看状态
[root@localhost ~]#mdadm /dev/md0 -r /dev/sdb
mdadm: hot remove failed for /dev/sdb: Device or resource busy
[root@localhost ~]#mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
[root@localhost ~]#mdadm /dev/md0 -r /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md0
[root@localhost ~]#mdadm -D /dev/md0
2.建立Raid 1+0
#创建RAID10 (先做镜象,再做条带)
mdadm -Cv /dev/md0 -l1 -n2 /dev/sd[bc]1
mdadm -Cv /dev/md1 -l1 -n2 /dev/sd[de]1
mdadm -Cv /dev/md10 -l10 -n2 /dev/md0/dev/md1