Linux基础知识:独立磁盘冗余阵列RAID分级及实现方式

计算机网络技术的高速发展对存储性能数据可靠性的要求不断提高。在企业环境中,当公司服务器同时有3000+的用户同时访问时,并且用户同时进行不同的文件读写的操作时,单个硬盘的读写性能有限,容易出现性能瓶颈。常见的并行接口硬盘中如早期的IDE硬盘最高只到达133Mbps,SCSI小型计算机系统接口硬盘的最高传输速率是320Mbps,目前主流的串行接口硬盘SATA接口硬盘中SATA1传输速率是300Mbps,SATA2传输速率是600Mbps,目前SATA3接口最高可以到达6Gbps。为了解决性能问题,早期使用SLED技术即Single Large Expensive Disk,但是由价格昂贵,在企业中无法大面积应用。1987年美国加州大学伯克分校Patterson,Gibson和Katz发表了一篇论文《A Case for Redundant Arrays of Inexpensive Disks(RAID)》,自此廉价磁盘冗余阵列的概念产生,但是在企业的实际应用中发现这种技术还是需要花费大量金钱支持,所以更名为Redundant Arrays of Independent Disks即独立磁盘冗余阵列。

Linux基础知识:独立磁盘冗余阵列RAID分级及实现方式

【1】RAID的优势:
RAID在容量和管理上的优势
易于灵活的进行容量扩展
虚拟化”使可管理性极大地增强
RAID在性能上的优势
“磁盘分块”技术带来性能的提高
RAID在可靠性和可用性上的优势
通过冗余技术和热备、热换提升了可靠性
【2】镜像冗余的概念:
镜像冗余使用了磁盘镜像技术;
磁盘镜像是一个简单设备虚拟化技术,每个I/O操作都会两个磁盘上执行,两个磁盘看起来就像一个磁盘一样;
镜像冗余可以提高磁盘的读性能。
【3】校验冗余的概念:
根据冗余算法计算阵列中成员磁盘上数据的校验信息,将校验信息保存在其他磁盘资源上;
保证数据可靠性;
和镜像冗余相比较,校验冗余的开销更小。
【4】RAID级别:
不同的RAID级别代表不同的存储性能,不同的数据可靠性,不同的存储成本
RAID0的工作原理
RAID0是以条带的形式将数据均匀的分布在阵列的各个磁盘上,数据存储单位是CHUNK(条带),默认大小是64K。
性能表现:读写性能均提升
冗余能力:无
空间利用率:100%
至少2块磁盘

Linux基础知识:独立磁盘冗余阵列RAID分级及实现方式

RAID1的工作原理
RAID1以镜像为冗余方式,对虚拟磁盘上的数据做多份的拷贝,放在成员磁盘上。
性能表现:写性能下降,读性能提升
冗余能力:有
空间利用率:50%
至少2块磁盘

Linux基础知识:独立磁盘冗余阵列RAID分级及实现方式

RAID5的工作原理:
RAID5采用独立存取的阵列方式,校验信息被均匀的分散在磁盘的各个磁盘上。
性能表现:读写性能均提升
冗余能力:有
空间利用率:(n-1)/n
至少3块磁盘

Linux基础知识:独立磁盘冗余阵列RAID分级及实现方式

RAID10的工作原理:
RAID10采用先镜像,后条带化的方式组织阵列。
性能表现:读写性能均提升
冗余能力:有
空间利用率:50%
至少4块盘

Linux基础知识:独立磁盘冗余阵列RAID分级及实现方式

除此之外常用的还有RAID50,JBod两种阵列,不常用的有RAID2、RAID3、RAID4等。
【5】RAID配置命令
在企业中一般使用硬件RAID存储数据,不过Linux系统本身也提供RAID能力,这里我们以软件RAID的实现方式做相关演示
创建一个2G的RAID0设备示例:
#fdisk /dev/sda
解释:创建磁盘分区
n(新建分区)
+1G
n
+1G
t(调整分区类型)
5
fd(设置分区类型为RAID类型)
t
6
fd
w(保存退出)
#partprobe /dev/sda
解释:同步分区数据
#cat /proc/partitions
解释:查看分区是否同步成功
#mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda{5,6}
解释:-C表示进入创建模式,-a表示是否为其自动创建设备文件,-n表示设备个数,-l表示设置的RAID的级别
#cat /proc/mdstat
解释:查看当前系统所有启用的设备
#mke2fs -j /dev/md0
解释:高级格式化,将md0创建为ext3类型的文件系统
#mount /dev/md0 /mnt
解释:将RAID0挂载到/mnt的目录中,就可以开始使用这个设备了
#cd /mnt
解释:进入到/mnt的目录下,如果有看到lost+found文件,说明挂载成功
创建一个2G的RAID1设备示例:
#fdisk /dev/sda
解释:开始创建磁盘分区
n(新建)
+2G
n
+2G
n
+2G
t(调整类型)
7
fd(调整为RAID类型)
t
8
fd
t
9
fd
w(保存退出)
#partprobe /dev/sda
解释:同步磁盘分区信息
#cat /proc/partitions
#mdadm -C /dev/md1 -a yes -n 2 -l 1 /dev/sda7 /dev/sda8
解释:创建一个类型为RAID1,自动创建设备文件,并且设备的个数为2个的RAID1类型分区md1
#cat /proc/mastat
解释:显示当前系统所有启用的设备
#mke2fs -j /dev/md1
解释:高级格式化,将md1的文件系统类型设置为ext3
#mount /dev/md1 /media
解释:将md1的设备文件挂载到/media的目录下
模拟RAID1设备磁盘损坏示例:
#cp /etc/inittab /media/
解释:复制/etc下的一个文件到/media目录下
#mdadm -D /dev/md1
解释:查看RAID阵列的详细信息
#mdadm /dev/md1 -f /dev/sda8
解释:-f模拟磁盘损坏,将md1阵列中的sda8损坏
#mdadm /dev/md1 -r /dev/sda8
解释:将阵列md1中的磁盘-r删除
#mdadm /dev/md1 -a /dev/sda9
解释:添加新的硬盘sda9,可以看到sda9里信息会在一段时间后同步为sda7的数据
#mdadm /dev/md1 -f /dev/sda7
解释:将sda7磁盘模拟损坏
#umount /media
解释:卸载/media文件目录
#mdadm -S /dev/md1
解释:停止md1阵列
#rm /dev/mad1
解释:删除md1阵列后就彻底消失了
#mdadm -A /dev/md1 /dev/sda7 /dev/sda9
解释:重新装配sda7和sda9磁盘,组成md1阵列,但是由于sda7是坏的,所以md1中只有一个sda9磁盘
模拟RAID1设备热备、热换示例:
此时md1中只有一个磁盘sda9
#mdadm /dev/md1 -a /dev/sda8
#mdadm /dev/md1 -a /dev/sda7
解释:sda7进入阵列后显示的是空闲磁盘的状态
#mdadm /dev/md1 -f /dev/sda9
解释:模拟损坏磁盘sda9,之后sda7磁盘会自动顶上sda9的位置
#watch ‘cat /proc/mdstat’
解释:周期性的执行指定命令,并以全屏方式显示结果
自动装配文件,无需指定磁盘:
#mdadm -D –scan > /etc/mdadm.conf
解释:将当前RAID信息保存至配置文件,以便以后进行装配
#mdadm -A /dev/md1
解释:无需再指定具体磁盘如sda7、sda9等

本文永久更新链接地址:https://www.linuxidc.com/Linux/2018-04/151918.htm

Linux基础知识:独立磁盘冗余阵列RAID分级及实现方式

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

栗子博客 软件 Linux基础知识:独立磁盘冗余阵列RAID分级及实现方式 https://www.lizi.tw/soft/8731.html

常见问题
  • 1、杰齐1.7仅适用于PHP5.2 2、需Zend支持 3、尽量使用宝塔面板 4、尽量使用Windows 系统,关关对Linux支持不太友好。
查看详情

相关文章

评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务

Linux基础知识:独立磁盘冗余阵列RAID分级及实现方式-海报

分享本文封面