欢迎来到天天文库
浏览记录
ID:18545045
大小:66.50 KB
页数:8页
时间:2018-09-19
《浅析linux之raid管理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、浅析LINUX之RAID管理1引言在存储技术飞速发展的今天,RAID技术为系统带来的存储高性能和数据高可靠是有目共睹的。经过了十几年发展的Linux操作系统现已进入更具理性、更重实效的应用时代,如何在Linux系统中高效有序地管理各种RAID设备成为人们越来越关注的主题之一。2RAID概述RAID(RedundantArrayofIndependentDisks)术语最早是由加州大学Berkeley分校于20世纪80年代提出,后被存储业界大力推广和研究,开发出为数众多的RAID产品,在以后的发展中,又加入了新的分级,成为现今最流行的存储标准。常用的R
2、AID级别有:RAID0、RAID1、RAID3、RAID4、RAID5、RAID6、RAID10、RAID50、LinearMode、JBOD等。造成RAID流行的三个主要原因:lRAID在容量和管理上的优势RAID系统可以组合多个单盘,而呈现在系统中的可以是单一的地址或LUN,不占用更多的系统总线插槽,还能解决RAID出现之前不得不将应用扩展到多个服务器而造成的管理困难和增加失效几率等问题。lRAID的性能优势RAID的一个最重要的概念是磁盘分条。其思想是:通过将I/O操作分散到所有成员磁盘中,使主机I/O控制器能够处理更多的操作,这是在单个磁盘
3、驱动器下所不能达到的。[1]lRAID的可靠性和可用性优势由于采用了冗余算法,可以保证:即使在个别磁盘失效的情况下,数据仍能维持一致性。常用的冗余算法包括镜像和校验。校验算法是利用“异或”操作之逆操作是其本身的特点,来实现数据保护的功能。如下所示。A⊕B⊕C=D=>A⊕B⊕D=C假设A、B、C为分条数据,D为校验数据。当C所在的磁盘失效时,可利用剩余分条数据A、B和校验数据D重新生成数据C,系统并未因盘坏而导致数据丢失,仍可继续工作,但处于降级状态(Degraded)。不同级别RAID在降级时的表现不同,一般来说,系统的存储性能和数据保护都将大打折扣
4、,尽管某些级别的RAID可以容忍多个磁盘的失效。3Linux中各种RAID实现在Linux系统中,根据RAID在I/O路径上的位置不同,可分为:3.1基于主机系统软件的RAID即通常所说的软RAID,RAID算法由Linux内核执行和管理,由主机CPU提供处理周期,也占用系统带宽和I/O总线,如图1所示。因争用系统资源,在CPU繁忙时,软RAID的性能会降低许多,这在单处理器系统中尤为严重。图1基于内核管理的软RAIDLinux的源码开放性降低了软RAID用户受RAID软件不够完善而引入Bug的困扰的机会,因为用户可自行修补,也可将问题送至开发者或相
5、关团队解决。3.1.1内核支持Linux内核支持5种RAID级别:RAID0、RAID1、RAID4、RAID5和线性模式。对于不支持RAID功能的老版本内核,需重新编译。编译之前,无论使用何种方式来配置内核,都应在内核配置文件的Multipledevicesdriversupport(RAIDandLVM)子段中选择。[*]Multipledevicesdriversupport(RAIDandLVM)<*>RAIDsupport<*>Linear(append)mode<*>RAID-0(striping)mode<*>RAID-1(mirror
6、ing)mode<*>RAID-4/RAID-5modeMultipathI/OsupportRAID选项可以静态编译至内核,也可作为动态装载模块编译至内核。2.4内核之后,不再需要以上操作,因RAID代码已包含在标准内核中。3.1.2Linux软RAID实现与管理Linux中的软RAID是在实际的块设备(如/dev/sdb)之上建立虚拟设备(/dev/md0~255)。至于发到虚拟设备的数据如何在块设备上进行分撒和校验,由Linux内核的RAID模块完成。在虚拟设备之上可创建任何文件系统。Linux提供两种工具来管理和配置软RAID:raid
7、tools和mdadm[2]lraidtoolsraidtools是Linux中传统而经典的软RAID管理工具包。使用之前,需先创建配置文件/etc/raidtab,此文件指定了构成软RAID的所有信息包括成员设备(/dev/sdb)、md文件、RAID级别、校验算法、chunk大小等。raidtools常用命令有:mkraid在块设备之上依照/etc/raidtab的定义创建RAID设备。lsraid检查各个成员设备、诊断问题、恢复丢失的配置文件raidstart/raidstop启动/停止已创建好的阵列raidhotadd/raidhotremo
8、ve在正在运行的RAID设备中插入/去除一个块设备。用于替换RAID中的失效盘。raidreconf重新配置
此文档下载收益归作者所有