磁盘阵列管理技术.doc
《磁盘阵列管理技术.doc》由会员分享,可在线阅读,更多相关《磁盘阵列管理技术.doc(20页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第7章 磁盘阵列现今企业对存储设备的需求越来越大,相对的要求也越来越高。企业把越来越多的数据数字化后,存储设备的效率、安全性显然成为当今系统管理人员必须面对的问题。有什么方法可以提高存储设备的效率并确保其完整性?有,那就是磁盘阵列系统。7.1 磁盘阵列的介绍磁盘阵列(Redundant Array of Independent Disks,RAID)是把多个磁盘设备合并成为一个磁盘空间。7.1.1 磁盘阵列的功能一般来说,磁盘阵列可以提供3个功能。1整合闲置的磁盘空间你可以通过磁盘阵列,把原本闲置、不具经济价值的磁盘,整合成为一个新的磁盘空间。例如,把3个2GB的磁盘合并成为一个6GB大小的磁
2、盘空间,这样就可以更方便地存储数据。2提高磁盘读取的效率当磁盘阵列在写入数据时,会把数据拆解成若干等份,同时写入到各个磁盘中;在读取数据时,又会从各个磁盘中同时读出所需的数据。因为磁盘阵列具备如此的读取特性,让我们可以加快读取的速度,提高磁盘的效率。假设一个磁盘读写100MB数据需花费1分钟的时间,如果我们使用两个磁盘创建磁盘阵列时,同样的100MB大小的数据写入磁盘阵列时,由于每一个磁盘只负责存储50MB的数据,因此,磁盘阵列只需花费半分钟的时间,就可完成写入的动作。3提供容错性磁盘阵列的第3个好处,就是具备容错性(Fault Tolerance)。由于存储在磁盘阵列上的数据,实际上是分散在
3、不同的磁盘中的,所以,当某一个磁盘发生故障时,磁盘阵列便可以从其他正常的磁盘中读取文件数据;另外,磁盘数组还允你加入新的磁盘来重建先前损坏的那个磁盘上的数据。7.1.2 磁盘阵列的等级磁盘阵列依照合并的方式不同,定义出磁盘阵列的等级(RAID Level)。目前已经定义的磁盘阵列等级包括RAID-5、RAID-1、RAID-2、RAID-3、RAID-4、RAID-5、RAID-10、RAID1+0等。不同等级的磁盘阵列,提供的功能、运行原理与特性也都不尽相同。以下仅介绍几种常见的磁盘阵列等级。1RAID-0RAID-0 俗称等量模式(Striping Mode)。RAID-0 可以由2个以上
4、的磁盘合并成一个磁盘空间,它会将存入的数据切割成n份(n为磁盘的数量),然后把每一份数据分别存储至每一个磁盘的区段(Chunk)中。例如,把一份12KB大小的数据,写入到由两个磁盘组成,区段(Chunk)为 4KB的磁盘阵列时,磁盘阵列会以下列的方式写入磁盘。第一个4KB数据,写入到第一个磁盘的第一个区块。第二个4KB数据,写入到第二个磁盘的第一个区块。第三个4KB数据,写入到第一个磁盘的第二个区块。由于资料会被拆成若干等份存储在不同的组成磁盘中,因而可以加快读取的速度;组成的磁盘数量越多,速度就越快,而且还可以充分使用每一个磁盘的空间,提供更大的磁盘空间。然而,RAID-0也有其缺点。它的最
5、大缺点就是缺乏容错性,因为数据同时被存储在不同的磁盘中,所以只要其中一个磁盘出故障,则整个RAID-0的磁盘空间都将无法继续使用。2RAID-1RAID-1可以由2个(甚至更多)磁盘合并成为一个磁盘空间。当你把一份数据存储到RAID-5的磁盘阵列时,RAID-1磁盘阵列会把数据复制一份,存储到其他的磁盘中;由于每一个磁盘中的数据都一模一样,就像照镜子一样,所以RAID-1俗称镜像模式(Mirroring Mode)。由于数据在每一个磁盘中都有一份,因此,其中一块磁盘出故障,另外一块还会保存一份相同的内容,RAID-1会自动从正常的磁盘中继续读取数据。等到你修复故障的磁盘后,RAID-1也会把正
6、常磁盘的数据自动地同步到新加入的磁盘中。RAID-1可以提供下列的好处。可提供容错:即使其中一个磁盘出故障,RAID-1磁盘阵列还可以让你读取数据。可加快读取的速度:因为RAID-1磁盘阵列会在不同磁盘存储相同的数据;因此便可以同时从不同的磁盘读取相同的数据,因而提高读取的效率。RAID-1也有其缺点,其的缺点如下。较浪费磁盘空间:因为数据需复制存储到其他磁盘,因此整个RAID-5磁盘阵列可用空间为整个磁盘空间的 1/n(n为磁盘的数量)。无法提高写入的效率:因为RAID-1磁盘阵列必须负责同步每一个磁盘中的资料,因此在写入数据到RAID-1磁盘阵列时,无法提高写入的效率。一般来说,RAID-
7、1的磁盘成本会高于其他等级的磁盘阵列,通常只用在需要高容错性的环境中。3RAID-5RAID-5试图结合RAID-0与RAID-1的好处,同时避免它们的缺点。RAID-5磁盘阵列由3个以上大小相同的磁盘组成。这与RAID-5类似,不过,不是RAID-5的每一个区段(Chunk)都可以存储资料,因为RAID-5会在某些区段中存储同位检查码(Parity)。拥有n个磁盘的RAID-5磁盘阵列,会把第n个区段用来存储同位检查码。当你把数据写入RAID-5的磁盘时,RAID-5磁盘会把数据切割成若干等份,然后写入到不同的组成磁盘中;接着计算出每一份数据的同位检查码,再把同位检查码写入到其他磁盘中。值得
8、注意的是,同位检查不是集中存储在同一个磁盘中的,而是分散存储在每一个磁盘里 。 当RAID-5磁盘阵列的某一个磁盘出故障时,RAID-5会从其他正常的磁盘中取出故障磁盘数据的同位检查码,然后计算出故障磁盘的那一段数据。通过此技巧,让RAID-5可以提供容错性。而且RAID-5会把资料同时存储于多个磁盘里,又可以提高读取的效率。但RAID-5 磁盘阵列也有缺点,由于RAID-5得计算出同位检查码,因此如果使用的是由 Linux 内核提供的软件磁盘阵列,那么在每次读取数据时,都得使用电脑的 CPU 进行计算同位检查码的工作,这对于一台忙碌的Red Hat Enterprise Linux 来说,会
9、降低系统的效率。上述3个等级的磁盘阵列的差异,如表7-1所示。表7-1 磁盘阵列差异表RAID-0RAID-1RAID-5俗称等量模式(Stripe)镜射模式(Mirror)具同位检查功能的等量模式(Stripe Set With Parity)组成磁盘数量2个以上2个以上3个以上组成磁盘大小可以不用一样大需大小相同需大小相同可用空间所有磁盘空间的总和单一磁盘大小(N-1)*SN为磁盘数量;S为每一个磁盘的大小优点 读取快 写入快 增加可用空间 具备容错 读取快 读取快 具备容错 增加可用空间缺点 无容错 写入普通 浪费磁盘空间 写入慢 需更高的计算能力7.1.3 RHEL的磁盘阵列Red H
10、at Enterprise Linux 支持两种磁盘阵列设备。硬件的磁盘阵列(Hardward RAID)通过磁盘阵列控制卡(RAID Controller Card)提供磁盘阵列的功能。要使用硬件的磁盘阵列,必须采购支持 Red Hat Enterprise Linux 的磁盘阵列控制卡,可能 需正确安装驱动程序,才能让 Red Hat Enterprise Linux 顺利使用硬件磁碟数组的设备。软件磁盘阵列(Software RAID)这是由 Linux 内核仿真磁盘阵列的功能,你无须安装额外的硬设备,只要你的Linux 内核有支持,就可以直接使用。由于硬件磁盘阵列的功能是由磁盘阵列控制
11、卡提供计算工作的,因而效率大大高于由Linux 内核的软件磁盘阵列;但硬件磁盘阵列得购买额外的设备,其成本会比软件磁盘阵列高出许多。虽然硬件磁盘阵列的成本比较高,但效率较好;如果是重要服务器,我还是建议你优先采用硬件磁盘阵列。虽然硬件磁盘阵列可以带来较高的效率,除了成本较高之外,还有一些问题得考虑。要在Red Hat Enterprise Linux系统中使用硬件磁盘阵列的设备,你必须正确地安装该磁盘设备驱动程序。如果 Red Hat Enterprise Linux没有提供该硬件磁盘阵列的驱动程式,那就得安装厂商提供的驱动程序才行。如果连厂商都未提供驱动程序,那只能望卡而叹了;即使提供了驱动
12、程序,但往往厂商提供的驱动程序都只适合某一个版本的内核,未来升级了内核,旧版的驱动程序就无法正常运行了。再者,硬件磁盘数组设备厂商通常会提供其专属的管理工具,你得学会该工具的使用方法,否则将无法顺利使用该设备。7.2 硬件磁盘阵列虽然说硬件磁盘阵列在使用上如此不便,但其效率却是远远高于软件磁盘阵列的。因此,硬件磁盘阵列系统在企业应用领域中,一直都扮演着重要的角色。尤其这几年许多厂商纷纷开发价格低廉的硬件磁盘控制卡,更证明了其重要性。为了让 Red Hat Enterprise Linux的用户可以更方便地使用硬件磁盘系统,有人致力于开发dmraid 软件,让我们用一致的方式,使用各种硬件磁盘阵
13、列设备。虽然 dmraid 可以提供标准的方式读取各种硬件磁盘阵列,但截至目前为止,dmraid 仍在开发中,也许会有一些Bug损坏磁盘与宝贵的资料。因此,我暂时还不建议你应用 dmraid 于重要服务器的Red Hat Enterprise Linux系统。本节将介绍如何通过 dmraid 来建立与管理硬件磁盘阵列系统。7.2.1 dmraid 的介绍dmraid 全名为设备对应器磁盘阵列(Device Mapper RAID),利用Linux内核提供的设备对应器(Device Mapper)机制 ,为多种磁盘阵列设备提供磁盘阵列的设备文件,让用户可以在 Red Hat Enterprise
14、 Linux系统中使用硬件磁盘阵列设备。dmraid 是由服务于Red Hat的 Heinz Mauelshagen设计与开发的一个软件。如果你打算取得完整的dmraid信息,或想与作者联系,请登录其官方网站:http:/people.Red H7.2.2 建立硬件磁盘阵列首先,来研究如何利用 dmraid建立硬件磁盘阵列,此步骤又包含几个动作。查看 dmraid 是否支持磁盘阵列设备。通过硬件磁盘阵列提供的设置工具设置磁盘阵列。启用硬件磁盘阵列设备。以下是对上述动作的详细讲解。1查看支持的硬件与模式由于dmraid仅支持部分硬件磁盘阵列的设备,而且不同版本的dmraid软件与 Linux 内
15、核支持的硬件磁盘阵列设备种类也可能不相同。因此,在开始使用dmraid来建立硬件磁盘阵列前,你必须先检查dmraid是否支持你的硬件磁盘阵列设备。要查看你使用的 dmraid 支持哪些硬件磁盘阵列设备,请使用 dmraid -l 命令。rootlinux # dmraid -lasr : Adaptec HostRAID ASR(0,1,10) ddf1: SNIA DDF1(0,1,4,5,linear) hpt37x : Highpoint HPT37X(S,0,1,10,01) hpt45x : Highpoint HPT45X(S,0,1,10)Isw : Intel Software
16、 RAID(0,1)jmicron: JMicron ATARAID(S,0,1)lsi : LSI Logic MegaRAID(0,1,10)nvidia : NVidia RAID(S,0,1,10,5)pdc : Promise FastTrack(S,0,1,10)sil : Silicon Image(tm) Medley(tm)(0,1,10)via : VIA Software RAID(S,0,1,10)dos : DOS partitions on SW RAIDsrootlinux #上述的输出结果里,每一行代表支持的某一种硬件磁盘阵列设备,以及支持的磁盘阵列等级。以下列
17、这行为例:nvidia : NVidia RAID(S,0,1,10,5)该硬件磁盘阵列设备的详细信息如表7-2所示。表7-2 硬件磁盘阵列设备的详细信息项目说明 设备代号NVIDIA全名NVIDIA RAID支持的等级SPAN、RAID-0、RAID-1、RAID-1+0 与RAID-5 2设置磁盘阵列接着,请你利用硬件磁盘阵列设备所提供的配置方法,来建立磁盘阵列。这个部分的动作,会因为磁盘阵列设备的不同而有不同的配置方式。我计算机中Silicon Image磁盘阵列控制卡是通过计算机开机的BIOS阶段,来进行配置工作的。至于你使用的磁盘阵列设备如何建立磁盘阵列,请详细参阅其管理手册。3启动
18、磁盘阵列设备最后,请使用 dmraid -a y 来启动磁盘阵列设备。启动后,Red Hat Enterprise Linux会在/dev/mapper/目录中,产生该硬件磁盘阵列的设备文件。dmraid产生的设备文件,以下列的格式命名:/dev/mapper/TYPE_UNIQUENAME其中的TYPE是硬件磁盘设备的代号,以硬件磁盘阵列的代号作为TYPE的内容;而UNIQUENAME 则是该硬件设备的唯一识别码,通常由不规则的文字组成。以下是使用dmraid启动磁盘阵列设备的示范。rootlinux # ls /dev/mapper/control ? rootlinux # dmraid
19、 -a y rootlinux # ls /dev/mapper/control sil_aiadcdadagbj ? rootlinux # 目前 /dev/mapper/ 中,只有一个名为 control 的设备文件。 现在使用 dmraid 启动硬件磁盘阵列设备。 成功启动后,在 /dev/mapper/ 中便产生了该磁盘阵列的设备文件。7.2.3 使用硬件磁盘阵列设备启动磁盘阵列设备后,你可以把该设备文件当做一个磁盘使用,例如对该磁盘阵列设备产生分区、制作文件系统等。每一个由 dmraid 管理的磁盘阵列设备的分区,其设备文件名称为:/dev/mapper/TYPE_UNIQUENAM
20、EpNUMBER其中的TYPE_UNIQUENAME 就是硬件磁盘阵列设备的名称,而 NUMBER 则是分区的编号。不过,对硬件磁盘阵列设备执行管理分区动作时,我建议你使用 parted工具,而尽可能不要使用fdisk,这是因为根据我的测试结果 ,发现通过parted 新增或卸载分区后,Red Hat Enterprise Linux会自动产生正确的分区设备文件;但使用fdisk却无法正常地更新分区设备文件。以下是我使用 parted 管理分区的示范。rootlinux # ls /dev/mapper/control sil_aiadcdadagbj ?rootlinux # parted
21、/dev/mapper/sil_aiadcdadagbj mkpart p ext3 0 1024 orootlinux # parted /dev/mapper/sil_aiadcdadagbj printModel: Linux device-mapper(dm)Disk /dev/mapper/sil_aiadcdadagbj: 250GBSector size(logical/physical): 512B/512B Partition Table: msdosNumber Start End Size Type File system 旗标1 0.51kB 1024MB 1024MB
22、 主分区 ?信息: 如果必要,不要忘记更新 /etc/fstabrootlinux # ls /dev/mapper/control sil_aiadcdadagbj sil_aiadcdadagbjp1 ?rootlinux #现在/dev/mapper/只有硬件磁盘阵列的设备文件。我使用 parted 在sil_aiadcdadagbj设备中建立一个新的主要分区,作为ext3文件系统,其开始的位置为0 MB,结束的位置为 1024MB。完成后,利用parted查看 sil_aiadcdadagbj设备的磁盘分区数据表,此处可发现刚刚新增的磁盘分区数据。 使用parted产生新的分区后,会自
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 磁盘阵列 管理 技术
限制150内