版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章磁盘阵列现今公司对存储设备的需求越来越大,相对的规定也越来越高。公司把越来越多的数据数字化后,存储设备的效率、安全性显然成为当今系统管理人员必须面对的问题。有什么方法可以提高存储设备的效率并保证其完整性?有,那就是磁盘阵列系统。7.1
磁盘阵列的介绍磁盘阵列(RedundantArrayofIndependentDisks,RAID)是把多个磁盘设备合并成为一个磁盘空间。7.1.1
磁盘阵列的功能一般来说,磁盘阵列可以提供3个功能。1.整合闲置的磁盘空间你可以通过磁盘阵列,把原本闲置、不具经济价值的磁盘,整合成为一个新的磁盘空间。例如,把3个2GB的磁盘合并成为一个6GB大小的磁盘空间,这样就可以更方便地存储数据。2.提高磁盘读取的效率当磁盘阵列在写入数据时,会把数据拆解成若干等份,同时写入到各个磁盘中;在读取数据时,又会从各个磁盘中同时读出所需的数据。由于磁盘阵列具有如此的读取特性,让我们可以加快读取的速度,提高磁盘的效率。假设一个磁盘读写100MB数据需花费1分钟的时间,假如我们使用两个磁盘创建磁盘阵列时,同样的100MB大小的数据写入磁盘阵列时,由于每一个磁盘只负责存储50MB的数据,因此,磁盘阵列只需花费半分钟的时间,就可完毕写入的动作。3.提供容错性磁盘阵列的第3个好处,就是具有容错性(FaultTolerance)。由于存储在磁盘阵列上的数据,事实上是分散在不同的磁盘中的,所以,当某一个磁盘发生故障时,磁盘阵列便可以从其他正常的磁盘中读取文献数据;此外,磁盘数组还允你加入新的磁盘来重建先前损坏的那个磁盘上的数据。7.1.2
磁盘阵列的等级磁盘阵列依照合并的方式不同,定义出磁盘阵列的等级(RAID
Level)。目前已经定义的磁盘阵列等级涉及RAID-5、RAID-1、RAID-2、RAID-3、RAID-4、RAID-5、RAID-10、RAID1+0等。不同等级的磁盘阵列,提供的功能、运营原理与特性也都不尽相同。以下仅介绍几种常见的磁盘阵列等级。1.RAID-0RAID-0俗称等量模式(StripingMode)。RAID-0可以由2个以上的磁盘合并成一个磁盘空间,它会将存入的数据切割成n份(n为磁盘的数量),然后把每一份数据分别存储至每一个磁盘的区段(Chunk)中。例如,把一份12KB大小的数据,写入到由两个磁盘组成,区段(Chunk)为4KB的磁盘阵列时,磁盘阵列会以下列的方式写入磁盘。第一个4KB数据,写入到第一个磁盘的第一个区块。第二个4KB数据,写入到第二个磁盘的第一个区块。第三个4KB数据,写入到第一个磁盘的第二个区块。由于资料会被拆成若干等份存储在不同的组成磁盘中,因而可以加快读取的速度;组成的磁盘数量越多,速度就越快,并且还可以充足使用每一个磁盘的空间,提供更大的磁盘空间。然而,RAID-0也有其缺陷。它的最大缺陷就是缺少容错性,由于数据同时被存储在不同的磁盘中,所以只要其中一个磁盘出故障,则整个RAID-0的磁盘空间都将无法继续使用。2.RAID-1RAID-1可以由2个(甚至更多)磁盘合并成为一个磁盘空间。当你把一份数据存储到RAID-5的磁盘阵列时,RAID-1磁盘阵列会把数据复制一份,存储到其他的磁盘中;由于每一个磁盘中的数据都一模同样,就像照镜子同样,所以RAID-1俗称"镜像模式(MirroringMode)"。由于数据在每一个磁盘中都有一份,因此,其中一块磁盘出故障,此外一块还会保存一份相同的内容,RAID-1会自动从正常的磁盘中继续读取数据。等到你修复故障的磁盘后,RAID-1也会把正常磁盘的数据自动地同步到新加入的磁盘中。RAID-1可以提供下列的好处。可提供容错:即使其中一个磁盘出故障,RAID-1磁盘阵列还可以让你读取数据。可加快读取的速度:由于RAID-1磁盘阵列会在不同磁盘存储相同的数据;因此便可以同时从不同的磁盘读取相同的数据,因而提高读取的效率。RAID-1也有其缺陷,其的缺陷如下。较浪费磁盘空间:由于数据需复制存储到其他磁盘,因此整个RAID-5磁盘阵列可用空间为整个磁盘空间的1/n(n为磁盘的数量)。无法提高写入的效率:由于RAID-1磁盘阵列必须负责同步每一个磁盘中的资料,因此在写入数据到RAID-1磁盘阵列时,无法提高写入的效率。一般来说,RAID-1的磁盘成本会高于其他等级的磁盘阵列,通常只用在需要高容错性的环境中。3.RAID-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磁盘会把数据切割成若干等份,然后写入到不同的组成磁盘中;接着计算出每一份数据的同位检查码,再把同位检查码写入到其他磁盘中。值得注意的是,同位检查不是集中存储在同一个磁盘中的,而是分散存储在每一个磁盘里。当RAID-5磁盘阵列的某一个磁盘出故障时,RAID-5会从其他正常的磁盘中取出故障磁盘数据的同位检查码,然后计算出故障磁盘的那一段数据。通过此技巧,让RAID-5可以提供容错性。并且RAID-5会把资料同时存储于多个磁盘里,又可以提高读取的效率。但RAID-5磁盘阵列也有缺陷,由于RAID-5得计算出同位检查码,因此假如使用的是由Linux内核提供的软件磁盘阵列,那么在每次读取数据时,都得使用电脑的CPU进行计算同位检查码的工作,这对于一台忙碌的RedHatEnterpriseLinux来说,会减少系统的效率。上述3个等级的磁盘阵列的差异,如表7-1所示。表7-1
磁盘阵列差异表RAID-0RAID-1RAID-5俗称等量模式(Stripe)镜射模式(Mirror)具同位检查功能的等量模式(StripeSetWithParity)组成磁盘数量2个以上2个以上3个以上组成磁盘大小可以不用同样大需大小相同需大小相同可用空间所有磁盘空间的总和单一磁盘大小(N-1)*SN为磁盘数量;S为每一个磁盘的大小优点•读取快•写入快•增长可用空间•具有容错•读取快•读取快•具有容错•增长可用空间缺陷•无容错•写入普通•浪费磁盘空间•写入慢•需更高的计算能力7.1.3
RHEL的磁盘阵列RedHatEnterpriseLinux支持两种磁盘阵列设备。硬件的磁盘阵列(HardwardRAID)通过磁盘阵列控制卡(RAIDControllerCard)提供磁盘阵列的功能。要使用硬件的磁盘阵列,必须采购支持RedHatEnterpriseLinux的磁盘阵列控制卡,也许需对的安装驱动程序,才干让RedHatEnterpriseLinux顺利使用硬件磁碟数组的设备。软件磁盘阵列(SoftwareRAID)这是由Linux内核仿真磁盘阵列的功能,你无须安装额外的硬设备,只要你的Linux内核有支持,就可以直接使用。由于硬件磁盘阵列的功能是由磁盘阵列控制卡提供计算工作的,因而效率大大高于由Linux内核的软件磁盘阵列;但硬件磁盘阵列得购买额外的设备,其成本会比软件磁盘阵列高出许多。虽然硬件磁盘阵列的成本比较高,但效率较好;假如是重要服务器,我还是建议你优先采用硬件磁盘阵列。虽然硬件磁盘阵列可以带来较高的效率,除了成本较高之外,尚有一些问题得考虑。要在RedHatEnterpriseLinux系统中使用硬件磁盘阵列的设备,你必须对的地安装该磁盘设备驱动程序。假如RedHatEnterpriseLinux没有提供该硬件磁盘阵列的驱动程式,那就得安装厂商提供的驱动程序才行。假如连厂商都未提供驱动程序,那只能望"卡"而叹了;即使提供了驱动程序,但往往厂商提供的驱动程序都只适合某一个版本的内核,未来升级了内核,旧版的驱动程序就无法正常运营了。再者,硬件磁盘数组设备厂商通常会提供其专属的管理工具,你得学会该工具的使用方法,否则将无法顺利使用该设备。7.2
硬件磁盘阵列虽然说硬件磁盘阵列在使用上如此不便,但其效率却是远远高于软件磁盘阵列的。因此,硬件磁盘阵列系统在公司应用领域中,一直都扮演着重要的角色。特别这几年许多厂商纷纷开发价格低廉的硬件磁盘控制卡,更证明了其重要性。为了让RedHatEnterpriseLinux的用户可以更方便地使用硬件磁盘系统,有人致力于开发dmraid软件,让我们用一致的方式,使用各种硬件磁盘阵列设备。虽然dmraid可以提供标准的方式读取各种硬件磁盘阵列,但截至目前为止,dmraid仍在开发中,也许会有一些Bug损坏磁盘与宝贵的资料。因此,我暂时还不建议你应用dmraid于重要服务器的RedHatEnterpriseLinux系统。本节将介绍如何通过dmraid来建立与管理硬件磁盘阵列系统。7.2.1
dmraid的介绍dmraid全名为设备相应器磁盘阵列(DeviceMapperRAID),运用Linux内核提供的设备相应器(DeviceMapper)机制,为多种磁盘阵列设备提供磁盘阵列的设备文献,让用户可以在RedHatEnterpriseLinux系统中使用硬件磁盘阵列设备。dmraid是由服务于RedHat的HeinzMauelshagen设计与开发的一个软件。假如你打算取得完整的dmraid信息,或想与作者联系,请登录其官方网站:H/heinzm/sw/dmraid/。7.2.2
建立硬件磁盘阵列一方面,来研究如何运用dmraid建立硬件磁盘阵列,此环节又包含几个动作。查看dmraid是否支持磁盘阵列设备。通过硬件磁盘阵列提供的设立工具设立磁盘阵列。启用硬件磁盘阵列设备。以下是对上述动作的具体讲解。1.查看支持的硬件与模式由于dmraid仅支持部分硬件磁盘阵列的设备,并且不同版本的dmraid软件与Linux内核支持的硬件磁盘阵列设备种类也也许不相同。因此,在开始使用dmraid来建立硬件磁盘阵列前,你必须先检查dmraid是否支持你的硬件磁盘阵列设备。要查看你使用的dmraid支持哪些硬件磁盘阵列设备,请使用dmraid-l命令。[root@linux~]#dmraid-l
asr
:AdaptecHostRAIDASR(0,1,10)ddf1
:SNIADDF1(0,1,4,5,linear)
hpt37x:HighpointHPT37X(S,0,1,10,01)hpt45x
:HighpointHPT45X(S,0,1,10)
Isw
:IntelSoftwareRAID(0,1)
jmicron:JMicronATARAID(S,0,1)
lsi
:LSILogicMegaRAID(0,1,10)
nvidia:NVidiaRAID(S,0,1,10,5)
pdc
:PromiseFastTrack(S,0,1,10)
sil
:SiliconImage(tm)Medley(tm)(0,1,10)
via
:VIASoftwareRAID(S,0,1,10)
dos
:DOSpartitionsonSWRAIDs
[root@linux~]#上述的输出结果里,每一行代表支持的某一种硬件磁盘阵列设备,以及支持的磁盘阵列等级。以下列这行为例:nvidia
:NVidiaRAID(S,0,1,10,5)该硬件磁盘阵列设备的具体信息如表7-2所示。表7-2
硬件磁盘阵列设备的具体信息项目说明设备代号NVIDIA全名NVIDIARAID支持的等级SPAN、RAID-0、RAID-1、RAID-1+0与RAID-52.设立磁盘阵列接着,请你运用硬件磁盘阵列设备所提供的配置方法,来建立磁盘阵列。这个部分的动作,会由于磁盘阵列设备的不同而有不同的配置方式。我计算机中SiliconImage磁盘阵列控制卡是通过计算机开机的BIOS阶段,来进行配置工作的。至于你使用的磁盘阵列设备如何建立磁盘阵列,请具体参阅其管理手册。3.启动磁盘阵列设备最后,请使用dmraid-ay来启动磁盘阵列设备。启动后,RedHatEnterpriseLinux会在/dev/mapper/目录中,产生该硬件磁盘阵列的设备文献。dmraid产生的设备文献,以下列的格式命名:/dev/mapper/TYPE_UNIQUENAME其中的TYPE是硬件磁盘设备的代号,以硬件磁盘阵列的代号作为TYPE的内容;而UNIQUENAME则是该硬件设备的唯一辨认码,通常由不规则的文字组成。以下是使用dmraid启动磁盘阵列设备的示范。[root@linux~]#ls/dev/mapper/
control?①
[root@linux~]#dmraid-ay②
[root@linux~]#ls/dev/mapper/
control
sil_aiadcdadagbj?③
[root@linux~]#①目前/dev/mapper/中,只有一个名为control的设备文献。②现在使用dmraid启动硬件磁盘阵列设备。③成功启动后,在/dev/mapper/中便产生了该磁盘阵列的设备文献。7.2.3
使用硬件磁盘阵列设备启动磁盘阵列设备后,你可以把该设备文献当做一个磁盘使用,例如对该磁盘阵列设备产生分区、制作文献系统等。每一个由dmraid管理的磁盘阵列设备的分区,其设备文献名称为:/dev/mapper/TYPE_UNIQUENAMEpNUMBER其中的TYPE_UNIQUENAME就是硬件磁盘阵列设备的名称,而NUMBER则是分区的编号。但是,对硬件磁盘阵列设备执行管理分区动作时,我建议你使用parted工具,而尽也许不要使用fdisk,这是由于根据我的测试结果,发现通过parted新增或卸载分区后,RedHatEnterpriseLinux会自动产生对的的分区设备文献;但使用fdisk却无法正常地更新分区设备文献。以下是我使用parted管理分区的示范。[root@linux~]#ls/dev/mapper/
control
sil_aiadcdadagbj?①
[root@linux~]#parted/dev/mapper/sil_aiadcdadagbj
mkpartpext301024o②
[root@linux~]#parted/dev/mapper/sil_aiadcdadagbjprint
Model:Linuxdevice-mapper(dm)
Disk/dev/mapper/sil_aiadcdadagbj:250GB
Sectorsize(logical/physical):512B/512BPartitionTable:msdos
Number
Start
End
Size
Type
Filesystem
旗标
1
0.51kB
1024MB
1024MB
主分区?③信息:假如必要,不要忘掉更新/etc/fstab[root@linux~]#ls/dev/mapper/
control
sil_aiadcdadagbj
sil_aiadcdadagbjp1④?
[root@linux~]#①
现在/dev/mapper/只有硬件磁盘阵列的设备文献。②
我使用parted在sil_aiadcdadagbj设备中建立一个新的重要分区,作为ext3文献系统,其开始的位置为0MB,结束的位置为1024MB。③
完毕后,运用parted查看sil_aiadcdadagbj设备的磁盘分区数据表,此处可发现刚刚新增的磁盘分区数据。④使用parted产生新的分区后,会自动产生该分区的设备文献。此处的sil_aiadcdadagbjp1就是刚刚新增的分区的设备文献。假如要体验硬件磁盘阵列提供的功能,请直接读取dmraid提供的设备文献(以上述例子为:/dev/sil_aiadcdadagbj),不要使用原有的磁盘机设备(例如/dev/sda)。7.2.4
管理硬件磁盘阵列建立完硬件磁盘阵列后,接着让我们来研究如何管理该磁盘阵列设备。1.读取磁盘阵列设备假如你想知道目前的某一个硬件磁盘阵列设备是由哪些磁盘驱动器组成的,你可以使用dmraid-r查看:dmraid-r[DEVICE...]其中的DEVICE为磁盘驱动器设备的设备文献名称,省略时代表读取所有磁盘设备。以下是我使用dmraid-r读取磁盘驱动器信息的范例。[root@linux~]#dmraid-r
/dev/sda:sil,"sil_aiadcdadagbj",mirror,ok,
sectors,data@0
/dev/sdb:sil,"sil_aiadcdadagbj",mirror,ok,
sectors,data@0
[root@linux~]#上述显示结果中,每一行代表一个磁盘设备与其硬件磁盘阵列的相关信息。以上述/dev/sda磁盘驱动器为例。属于sil硬件磁盘阵列设备。设备文献名称为sil_aiadcdadagbj。操作为RAID-5等级,也就是镜像模式(MirrorMode)。目前的配置为良好(ok)。共有扇区。数据位移(Offset)的大小为0。2.查看磁盘阵列配置此外一种查看硬件磁盘阵列设备的方法,则是运用dmraid-s:dmraid-s[RAID...]其中的RAID为dmraid提供的磁盘阵列设备的设备文献名称,省略时代表所有的磁盘设备。以下是我使用dmraid-s查看磁盘阵列设备状态的示范。[root@linux~]#dmraid-s
***ActiveSet
name
:sil_aiadcdadagbjsize
:
stride:0
type
:mirrorstatus:oksubsets:0
devs
:2
spares:0
[root@linux~]#3.停用磁盘阵列设备最后,假如打算停用硬件磁盘阵列的话,你可以使用dmraid命令:dmraid-an[RAID...]其中的RAID即是要停用的磁盘阵列设备的设备文献,假如没有指定RAID,则代表所有磁盘阵列设备。但是,假如该硬件磁盘阵列上仍有分区的话,dmraid将会返回错误信息。因此,请在停用硬件磁盘阵列设备之前,先卸载该磁盘设备上所有的分区。以下是我使用dmraid-an停用磁盘阵列设备的示范。[root@linux~]#dmraid-an
RAIDset"sil_aiadcdadagbj(null)1"isnotactive?①
[root@linux~]#ls/dev/mapper/
control
sil_aiadcdadagbj
sil_aiadcdadagbjp1②
[root@linux~]#parted/dev/mapper/sil_aiadcdadagbjrm1?③信息:假如必要,不要忘掉更新/etc/fstab[root@linux~]#ls/dev/mapper/
control
sil_aiadcdadagbj?④
[root@linux~]#dmraid-an?⑤
[root@linux~]#ls/dev/mapper/
control?⑥
[root@linux~]#①现在我使用dmraid停用硬件磁盘阵列,但dmraid却返回错误信息,代表执行失败。②这是由于我的sil_aiadcdadagbj硬件磁盘阵列设备上仍有其他分区。③所以,接着使用parted删除sil_aiadcdadagbj的第一个分区。④现在sil_aiadcdadagbjp1设备文献就消失了。⑤再次停用硬件磁盘阵列设备,这次就没有产生任何错误信息了。⑥成功地停用后,该磁盘设备的设备文献也跟着消失了。7.3
软件磁盘阵列软件磁盘阵列是由Linux内核提供的一项功能,只要你的Linux内核编译时有启动软件磁盘阵列功能,就可以享受磁盘阵列的好处,完全不需准备额外的硬设备,比起硬件磁盘阵列来说,是一个比较经济划算的解决方案。此外,软件磁盘阵列尚有一个更胜于硬件磁盘阵列的优点,即跨平台。RedHatEnterpriseLinux支持的软件磁盘阵列具有下列几项特性。由内核提供目前的软件磁盘阵列功能是由Linux内核提供的。假如Linux内核在编译的时候没有启用这项功能的话,就无法使用软件磁盘阵列。RedHatEnterpriseLinux已经把软件磁盘阵列功能编译到内置的内核中,因此,你不用重新编译内核,便可以直接在RedHatEnterpriseLinux中使用软件磁盘阵列提供的功能。以分区为组成单位RedHatEnterpriseLinux的软件磁盘阵列以分区为软件磁盘阵列的组成单元,你可以把多个分区组成软件磁盘阵列的设备。你可以使用mdadm工具,在RedHatEnterpriseLinux系统中,建立与管理软件磁盘阵列。本节中将介绍如何通过mdadm工具,来建立并管理软件磁盘阵列。7.3.1
建立软件磁盘阵列要在RedHatEnterpriseLinux建立软件磁盘阵列有3大环节。(1)产生组成单元。(2)设立/etc/mdadm.conf。(3)初始化多重磁盘设备。1.产生组成单元由于RedHatEnterpriseLinux中的软件磁盘阵列是由多个分区组成的,所以,RedHatEnterpriseLinux的软件磁盘阵列的组成单元就是分区。但与一般的分区不同样的是:软件磁盘阵列组成单元的分区的系统辨认码(SystemID)必须设立为"fd-Linuxraidautodetect"。RedHatEnterpriseLinux允许你使用同一个磁盘的不同分区产生磁盘阵列,也可以由多个磁盘的分区产生磁盘阵列;但前者无法提供容错性,也无法提高读取的效率。为了能享受磁盘阵列带来的容错性与高效率的好处,我强烈建议你尽量采用由不同磁盘的分区组成软件磁盘阵列。2.设立/etc/mdadm.conf/etc/mdadm.conf是mdadm默认的配置文献,当RedHatEnterpriseLinux启动时,会依据这个文献中的设立来启动多重磁盘设备,以及软件磁盘阵列监控服务。坦白说,这个环节其实是可以省略的。由于磁盘阵列的信息事实上是存储在磁盘分区的超级区块(Superblock)中的,而不是/etc/mdadm.conf文献里。但由于RedHatEnterpriseLinux启动过程的rc.sysinit时,会去检查有没有/etc/mdadm.conf这个文献。假如这个文献存在,才会去启用定义在/etc/mdadm.conf的软件磁盘设备;假如不存在,就不会自动启用软件磁盘设备了。所以,为了避免开机后RedHatEnterpriseLinux不会启用软件磁盘设备,建议你还是乖乖地完毕这个环节吧!RedHatEnterpriseLinux默认不会提供/etc/mdadm.conf,你得自己产生出来。最简洁的内容如下:DEVICE/DEV/HDA10/DEV/HDA11
ARRAY/DEV/MD0DEVICES=/DEV/HDA10,/DEV/HDA11其中的DEVICE参数用来指出系统中有哪些多重磁盘的组成单元;而ARRAY参数则用来定义每一个多重磁盘设备是由哪些磁盘设备组成的。关于/etc/mdadm.conf的语法,你可以读取mdam.conf(5)的手册页(manpage);此外,也可参阅/usr/share/doc/mdadm-VERSION/目录中的mdadm.conf-example这个范例文献。3.初始化多重磁盘设备最后一个环节就是初始化多重磁盘设备(MultipleDiskDevice,MD)。多重磁盘设备就是RedHatEnterpriseLinux软件磁盘阵列的磁盘设备,你可以将若干个组成单元建立成为一个多重磁盘设备。与其他设备同样,每一个多重磁盘设备都会有一个设备文献代表它。RedHatEnterpriseLinux的多重磁盘设备使用/dev/mdN的设备文献,其中的N范围为0~31,一共可以建立32个多重磁盘设备。要初始化多重磁盘设备,你必须使用mdadm--create命令:mdadm--createMD_DEVICE\
--level=LEVEL\
--raid-devices=N\
DEVICES...其中的MD_DEVICE就是多重磁盘的设备文献;而LEVEL则是你要建立的磁盘阵列等级;至于N则用来指出组成单元的数量;最后的DEVICES则是组成单元的设备文献名称。在初始化多重磁盘时,请注意以下两点。在初期的系统中,通过raidtools建立多重磁盘后,你必须手动启动多重磁盘装置;而在新版的RedHatEnterpriseLinux后,使用mdadm会自动启动新建立的多重磁盘。每一个多重磁盘设备只能被建立一次。假如你的命令有错,将导致该多重磁盘装置无法使用。如何删除多重磁盘设备?假如制作犯错误的多重磁盘设备,有没有办法重新来过?可以。你可以依照下列的环节,先删除错误的多重磁盘设备,然后重新再来一遍。(1)停用多重磁盘设备,请参考"启用与停用多重磁盘"的说明。(2)使用mdadm--zero-superblockDEVICE命令,清空每一个组成磁盘的超级区块(Superblock)。这样就可以重新建立多重磁盘设备了。以下是我将/dev/hda10与/dev/hda11以raid1的磁盘阵列等级产生/dev/md0多重磁盘设备的示范。
[root@linux~]#fdisk-l/dev/hda|grep'Linuxraid'
/dev/hda10
1158
1170
104391
fd
Linuxraidautodetect?①
/dev/hda11
1171
1183
104391
fd
Linuxraidautodetect
[root@linux~]#mdadm--verbose--create/dev/md0\
>--levelraid1\
>--raid-devices2\
>/dev/hda10/dev/hda11②
mdadm:sizesetto104320K
mdadm:array/dev/md0started.?③
[root@linux~]#①/dev/hda10与/dev/hda11是两个系统辨认码为"fd-Linux
raidautodetect"的分区,我将使用这两个分区来产生多重磁盘设备。②使用mdadm--create命令,建立/dev/md0这个多重磁盘设备,并指定RAID等级为raid1;其组成设备为/dev/hda10与/dev/hda11。③mdadm告诉我们,/dev/md0已经成功地建立出来了,并且会自动启动/dev/md0设备。这样一来你就可以把多重磁盘设备当做普通的分区使用了。7.3.2
管理软件磁盘阵列(1)在建立完软件磁盘阵列设备后,现在来研究如何管理多重磁盘设备。这里将介绍下列几项管理技术。如何查看多重磁盘设备的具体状况。如何解决多重磁盘设备故障的状况。如何模拟故障的状况。启用与停用多重磁盘设备。如何监控多重磁盘设备。1.查看多重磁盘具体状况查看多重磁盘设备的状况,有以下几种方式。通过/proc/mdstat文献直接读取/proc/mdstat就可以取得内核中所记录的多重磁盘设备的配置信息,但是,这是比较低档的方式,并不建议你使用。使用mdadm工具我们也可以通过mdadm--detailMD_DEVICE的命令,查询MD_DEVICE的具体状况信息。以下是我使用这两种方式,查看软件磁盘设备的配置的示范。
[root@linux~]#cat/proc/mdstat
Personalities:[raid1]
md0:activeraid1hda11[1]hda10[0]
104320blocks[2/2][UU]unuseddevices:<none>
[root@linux~]#mdadm--detail/dev/md0
/dev/md0:
Version:00.90.03
CreationTime:SatMar1518:46:142023
RaidLevel:raid1?①
ArraySize:104320(101.89MiB106.82MB)②
DeviceSize:104320(101.89MiB106.82MB)
RaidDevices:2?③
TotalDevices:2
PreferredMinor:0
Persistence:SuperblockispersistentUpdateTime:SatMar1518:46:272023
State:clean?④
ActiveDevices:2?⑤
WorkingDevices:2
FailedDevices:0?⑥
SpareDevices:0
UUID:54914f3aNumber
Major
Minor
RaidDevice①
这里告诉我们/dev/md0的RAID等级。②
磁盘阵列的大小。③
成单位数量。④
/dev/md0目前的配置。⑤
启用中的组成单位有几个。⑥
故障的组成单位数量。⑦
每一个组成单位的具体信息。当你使用mdadm--detail的方式查看多重磁盘的状况时,需注意下面的信息:Number
Major
这里告诉我们,我的多重磁盘设备共有两个组成单元,一个是/dev/hda10,此外一个则是/dev/hda11。这两个组成单元的状态都是启用中(active),并且正在同步其中的资料(sync),这表达我的/dev/md0目前是在正常的运营中。2.解决多重磁盘设备的故障假如有一天,你发现多重磁盘的配置出现例如下面的信息,那表达/dev/hda10出故障了。Number
Major
多重磁盘的磁盘出现故障,应当怎么办?假如是具有容错功能的多重磁盘(例如RAID-1、RAID-5……),你完全不需要紧张,由于RedHatEnterpriseLinux会依照磁盘阵列的定义,把数据存储到同一个磁盘数组的其他磁盘上,你还是可以继续读取多重磁盘上的文献数据。之后,你只需依照下列的环节,更换故障的磁盘,就可修复出现故障的多重磁盘了。(1)使用mdadmMD_DEVICE--removeDEVICE在线卸载出现故障的磁盘。(2)真正地卸载出故障的磁盘驱动器。(3)安装正常的磁盘驱动器后,再产生一个新的组成单元。(4)使用mdadmMD_DEVICE--addDEVICE在线加入新的组成单元。不管是在线卸载还是加入组成磁盘,都不需卸载文献系统。但在第二个环节中,假如你的计算机不支持热插拔(HotSwappable),则必须先关闭RedHatEnterpriseLinux才干卸载出现故障的磁盘;而在第三个环节中,你必须重新产生一个新的、正常的组成单元,才干进行之后的动作。以下是我卸载出现故障的/dev/hda10并加入/dev/hda12这个正常的分区的示范。
[root@linux~]#mdadm--detail/dev/md0|tail-n3
1
3
11
1
activesync
/dev/hda11
2
3
10
-
faultyspare
/dev/hda10?①
[root@linux~]#mdadm/dev/md0--remove/dev/hda10②
mdadm:hotremoved/dev/hda10
[root@linux~]#mdadm--detail/dev/md0|tail-n3
Number
Major
Minor
RaidDevice
State
0
0
0
0
removed?③
1
3
11
1
activesync
/dev/hda11
[root@linux~]#mdadm/dev/md0--add/dev/hda12?④
mdadm:added/dev/hda12
[root@linux~]#mdadm--detail/dev/md0|tail-n3
Number
Major
Minor
RaidDeviceState
2
3
12
0
sparerebuilding
/dev/hda12?⑤
1
3
11
1
activesync
/dev/hda11
[root@linux~]#mdadm--detail/dev/md0|tail-n3
⑥
Number
Major
Minor
RaidDeviceState
0
3
12
0
sparesync
/dev/hda12?
3
11
1
activesync
/dev/hda11①我发现我的/dev/hda10出故障了。②先使用mdadm从/dev/md0在线卸载/dev/hda10这个出故障的磁盘。③你会发现,此时我的/dev/md0只剩下一个可用的磁盘设备了。④然后使用mdadm在线加入/dev/hda12到/dev/md0多重磁盘。⑤现在/dev/md0正在重建/dev/hda12的资料。⑥最后,我的/dev/md0的组成单元就变成/dev/hda11与/dev/hda12两个了。7.3.2
管理软件磁盘阵列(2)3.模拟故障除非你的系统负载很高,不然想要让RedHatEnterpriseLinux碰上磁盘出故障的机会少之又少。那有没有什么办法可以让我们在平时练习出故障时的解决环节,以免在故障真正出现的时候手忙脚乱呢?有的,RedHatEnterpriseLinux的软件磁盘阵列,可以仿真磁盘故障的情况。我们只需要使用mdadm配合--set-faulty就可以让多重磁盘设备仿真故障的情况:mdadmMD_DEVICE--set-faultyDEVICE...其中的DEVICE是要仿真故障的组成单元的设备文献。当我们模拟故障时,RedHatEnterpriseLinux会对不同等级的多重磁盘采用不同的模拟动作。RAID-0直接删除多重磁盘,也就是说我们无法再救回RAID-0的多重磁盘。RAID-5与RAID-5等提供容错等级把模拟故障的设备标记为故障,接着以RAID的定义把数据存储到其他设备上。以下是我仿真磁盘故障的示范。
[root@linux~]#mdadm--detail/dev/md0|tail-n3
Number
Major
Minor
RaidDevice
State
0
3
12
0
activesync
/dev/hda12?①
1
3
11
1
activesync
/dev/hda11
[root@linux~]#mdadm/dev/md0--set-faulty/dev/hda12
②
mdadm:set/dev/hda12faultyin/dev/md0
[root@linux~]#mdadm--detail/dev/md0|tail-n3
1
3
11
1
activesync
/dev/hda11
2
3
12
-
faultyspare
/dev/hda12?③
[root@linux~]#①目前的/dev/hda12是正常运营的。②现在,我使用mdadm将/dev/hda12模拟成为故障。③你会发现,现在/dev/hda12的状态变成了故障。4.启用与停用多重磁盘要使用磁盘阵列,必须先启用(Enable)多重磁盘;假如需要取消RedHatEnterpriseLinux磁盘阵列的功能,你可以停用(Disable)多重磁盘。启用与停用多重磁盘需以下列命令进行。启用:mdadm--assemble--scan[MD_DEVICE]。停用:mdadm--stop--sacn[MD_DEVICE]。其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 语文(期末)练习试题及答案
- 物理化学基础知识练习卷含答案
- 会计人员辞职报告(集锦15篇)
- 2024年汽车电子元件研发与全球销售合作协议3篇
- 2024年版国内公路货物承运协议样式版
- 2024年电商合作市场营销策略协议
- 松鼠北师版课程设计
- 2024年网络云服务合同:云计算平台服务具体条款
- 2024年度国际项目外籍专家聘用合同规范3篇
- 水资源课程设计教学大纲
- 湖南省雅礼教育集团2023-2024学年高二上学期期末英语试卷 含解析
- 2024年7月国家开放大学法学本科《知识产权法》期末考试试题及答案
- 北京市西城区2022-2023学年六年级上学期数学期末试卷(含答案)
- 2024秋期国家开放大学本科《经济学(本)》一平台在线形考(形考任务1至6)试题及答案
- 上海市住院医师规范化培训公共科目考试题库-重点传染病防治知识
- 2024智能变电站新一代集控站设备监控系统技术规范部分
- 2006年度银行业金融机构信息科技风险评价审计要点(共5页)
- 资产负债表、业务活动表(民非)
- 《土地利用规划》简答题复习
- 继电保护误动事故的处理.ppt
- 农村基层人大代表述职报告
评论
0/150
提交评论