RAID详解
服务器硬件及RAID配置实战RAIDRAID磁盘阵列介绍RAID 磁盘阵列详解RAID0(条带化存储)RAID 1(镜像存储)RAID 5RAID6RAID1 0磁盘阵列阵列卡介绍:列阵卡的缓存生产中配置RAIDRAIDRAID磁盘阵列介绍是Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组
服务器硬件及RAID配置实战
RAID
引言:
在生产中,因为各个公司对于数据存储的环境要求不同,所以出现了各种存储方式
一.RAID磁盘阵列介绍
是Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术组成磁盘阵列的不同方式称为RAID级别(RAID Levels)
常用的RAID级别: RAID0,RAID1,RAID5,RAID6,RAID1+0等
1.RAID 磁盘阵列详解
1.1 RAID0(条带化存储)
RAID 0连续以位或字节为单位进行分割数据,将数据分段存储在各个硬盘中,n块硬盘并行读/写数据,因此具有很高的数据传输率,可以达到单个硬盘的N倍,但它没有数据冗余;
RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据,因此并不能算真正的RAID结构;(N块硬盘并行组成一个新的逻辑组)
RAID 0不能应用于数据安全性要求高的场合
特点:
1.最少需要两块磁盘
2.数据条带分分布式
3.没有冗余,性能最佳(不存储镜像、校验信息)
4.不能应用于对数据安全性要求高的场合
1.2 RAID 1(镜像存储)
通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据;
当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1 可以提高读取性能;
RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时, 系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。(N(偶数)块硬盘组成镜像,容量为N/2)
特点:
1.最少两块磁盘
2.提供数据冗余
3.性能好
1.3 RAID 5
N (N>=3) 块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储
N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高;
(N-1) /N磁盘利用率(有一块是用来校验的);
可靠性高,允许坏1块盘,不影响所有数据
特点:
1.最少三块磁盘
2.数据条带式分布
3.以奇偶效验做冗余
4.适合多读少写的场景,是性能与数据冗余最佳的折中方案
1.4 RAID6
N (N>=4) 块盘组成阵列,(N-2) /N容量利用率;
与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块;
两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用;
需要更大的磁盘空间,相对于RAID 5有更大的“写损失"因此写性能较差。
1.5 RAID1 0
N (偶数,N>=4)块盘两两镜像后,再组合成一个RAID 0;
N/2磁盘利用率,使用率低;
N/2块盘同时写入,N块盘同时读取;
性能高,可靠性高。
特点:
1.最少四块磁盘
2.先按RAID0 分成两组,再分别对两组RAID1方式镜像
3.兼顾冗余(提供镜像存储)和性能(数据条带形分布)在实际应用中较为常见
二.磁盘阵列
2.1阵列卡介绍:
1.阵列卡是用来实现RAID功能的板卡
2.通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列组件构成的
3.不同的RAID卡支持的RAID功能不同
列如支持RAID0、RAID1、RAID5、RAID1 0等
4.RAID卡的接口类型:
IDE接口(并行接口,价格低廉,兼容性强)
SCSI接口(串行接口,是小型计算机系统接口,广泛应用于小型机上的高速数据传输技术,支持热拔插,CPU占用率低,但是价格高)
SATA接口(串行接口)
和SAS接口(新一代scsi接口,向下兼容SATA)
2.2列阵卡的缓存
1.缓存(Cache)是RAID卡与外部总线交换数据的场所, RAID卡先将数据传送到缓存,再由缓存和外边数据总线交换数据
2.缓存的大小与速度是直接关系到RAID卡的实际传输速度的重要因素
3.不同的RAID卡出厂时配备的内存容量不同,一般为几兆到数百兆容量不等
三.生产中配置RAID
3.1 需求:公司扩大生产,服务器内存不够
1.为Linux服务器添加4块SCSI硬盘
2.使用mdadm软件包,构建RAID5磁盘阵列,提磁盘存储的性能和可靠性
3.2 步骤说明:
1.检查是否安装mdadm,准备用于RAID阵列的分区
2.为Linux服务器添加4块SCSI硬盘,并使用fdisk工具各划分出一块2GB的分区,依次为:/dev/sdb1、/dev/sdc1./dev/sdd1、/devsde1
3.将其类型ID更改为“fd",对应为“Linux raidautodetect”,表示支持用于RAID磁盘阵列创建RAID设备
3.3 步骤:
1.检查是否已安装mdadm软件包(有就不用管,没有就用yum安装)
rpm -q mdadm ##检查软件包
yum install mdadm -y ##安装软件包
2.在虚拟机上安装四块SCSI硬盘(安装完之后重启虚拟器)
3.使用fdisk,工具将新的磁盘设备/dev/sdb/ ,/dev/sdc/,/dev/sdd/,/dev/sde/划分出主分区sdb1,sdc1,sdd1,sde1并且把分区类型ID标记号改为“fd”
fdisk /dev/sdb ##创建分区sdb1
fdisk /dev/sdc ##创建分区sdc1
4.创建完后刷新并查看分区
partprobe /dev/sdb1 ##刷新分区表
lsblk ##查看分区表
5.创建RAID设备
mdadm -C -v /dev/md0 -l5 -n3 /dev/sd[bcd]1 -x1 /dev/sde1
其中参数表示:
-C:表示新建
-v:显示创建过程中的详细信息
/dev/md0:创建ARID5的名称
-l:指定RAID的级别,l5表示创建RAID5
-n:指定使用几块硬盘创建RAID,n3表示使用3块硬盘创建RAID
-/dev/sd[bcd]1:指定使用这三块磁盘分区去创建RAID
-x:指定几块空闲硬盘做RAID的热备用盘,x1表示保留1块空闲的硬盘作备用盘
/dev/sde1:指定使用这块磁盘作备用盘
6.查看创建的阵列
ls -l /dev/md0 ##查看阵列信息
7.创建文件格式
mkfs.ext4 /dev/md0 ##格式化分区,并写入ext4文件格式
8.手动挂载
mkdir /mdata ##创建目录
mount /dev/md0 /mdata/ ##将设备挂载到目录下
mount -a ##扫描挂载
df -h ##显示挂载
注:生产中应使用vim编辑器进行永久挂载
9.模拟故障
cp /etc/fstab /etc/fastab.bak ##数据备份
mdadm /dev/md0 -f /dev/sdb1 ##模拟sdb1损坏
mdadm -D /dev/md0 ##查看
四.RAID的阵列管理及恢复
扫描或查看磁盘阵列信息
启动/停止RAID阵列
设备恢复操作 模拟阵列设备故障 更换故障设备,并恢复数据
4.1 mdadm命令其他常用选项:
选项 | 说明 |
---|---|
-r | 移除设备 |
-a | 添加设备 |
-S | 停止RAID |
-A | 启动RAID |
-f | 模拟故障 |
示例:
mdadm /dev/md0 -f /dev/sdd1 — 将指定磁盘设为故障
mdadm /dev/md0 -r /dev/sdd1 — 移除指定磁盘
mdadm /dev/md0 -a /dev/sdd1 — 添加指定磁盘
1.建立文件并将mdadm插卡信息复制进去
mdadm -vDs >/etc/mdadm.conf ##创建文件
vim /etc/mdadm.conf ##进入文件编辑内容
wq ##保存并退出
2.启停实验
umount /dev/md0 ##解除挂载
mdadm -S /dev/md0 ##停止RAID
mdadm -A /dev/md0 ##开启 RAID
总结 : RAID在不同的生产环境中应用不同的类型,已达到生产的所需的数据读写与保存要求
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)