存储 频道

大致讲解RAID-5磁盘阵列

  【IT168 技术】RAID-5有很多值得学习的地方,这里我们主要介绍RAID-5磁盘阵列,包括介绍测试磁盘阵列等方面。在RAID-5磁盘阵列模式中,数据平均分布在每个硬盘中。所以即使某个硬盘损坏了,仍然可以凭借其他硬盘上的内容恢复损坏硬盘中的数据。不过,当有两个以上硬盘同时出现故障时,那么硬盘中的数据将无法修复。

  为了让磁盘阵列发挥其应用的作用,Linux系统管理员需要对磁盘阵列的容错性能力进行分析。通常情况下,根据企业对待数据损失的不同,每个一个季度或者半年进行测试一次。以保障磁盘阵列能够正常工作。

  一、测试磁盘阵列是否在起作用。

  有时候要测试磁盘阵列是否在起作用年,要对磁盘阵列进行“破坏性”测试。这里的破坏性测试笔者是打上了引号的,不是真的去损坏硬盘。为了测试RAID-5磁盘阵列是否有硬盘损坏的情况,需要先把服务器关掉。然后把其中一块硬盘的线拔掉,让系统找不到这块硬盘。如此的话系统就会认为这块硬盘损坏了。会尝试使用其他硬盘中的数据来恢复损害的硬盘中的内容。重新启动Linux系统后,由于只是去掉了一块硬盘,故系统仍然可以启动RAID-5磁盘阵列。而且采用了磁盘阵列之后,数据会自动恢复。即少了一块硬盘之后,一切仍然可以正常运行。通过查看磁盘阵列的状态记录文件,可以查看相关的信息。

  在Linux系统下,磁盘阵列状态文件保存在/proc/mdstat下。在这个状态文件中,可以看出当前磁盘阵列中启用了几块硬盘,会指明当前硬盘的序号。虽然说同时损坏两块以上硬盘就无法恢复数据,但是,这种情况毕竟还是少数。同时损坏2个硬盘的几率并不是很高。故磁盘阵列在安全性上还是有比较高的利用价值。

  在Linux下部署磁盘阵列的时候,还有一个好处。就是即使有两块硬盘损害了,虽然不能够修复数据,但是仍然可以启动Linux操作系统。当两块以上硬盘损坏时,重新启动之后,系统会发出警告信息。此时管理员可以利用ROOT帐号进行登陆。然后更改配置文件/ETC/RAIDTAB的文件名字再重新启动,就可以顺利登陆到Linux系统中。不过可惜的是,此时硬盘上的数据将无法恢复。

  二、通过配用硬盘提高磁盘阵列的安全性。

  由于2个硬盘以上的损坏将无法恢复数据。所以Linux系统管理员就会考虑,能否在Linux系统中再挂载一个备用硬盘。平时的时候这块硬盘不会包含到磁盘阵列中。当磁盘阵列中某块硬盘出现损坏时,就利用这块备用硬盘替补。如此的话,即使管理员暂时没有发现损坏的硬盘,对企业的影响也不会很大。

  大部分的磁盘阵列技术都支持采用备用硬盘。当某个硬盘工作不正常时,磁盘阵列会立刻启动备用硬盘。并通过一定的容错技术,将数据恢复到正常状态。但是并不是所有的磁盘阵列技术都支持这个备用硬盘。笔者在上篇文章中介绍过几个常用的磁盘阵列方式。其中就提到过Linear模式。由于这种模式并不会分散存储数据,而是一块硬盘存储空间满了以后再存储到另一块硬盘中,故并没有容错机制。此时备用硬盘也就不会起作用。不过在RAID-5 模式下,其是分散存储数据的,具有很高的容错性。所以此时若配置一块额外的备用硬盘,能够让磁盘阵列的安全性更上一层楼。另外这里需要注意的是,当操作系统启动的时候,备用硬盘也会随之启动。只是平时的数据不会存储到这一块硬盘中。而只有当某一个硬盘损坏时,才会这块备用硬盘中存入数据。

  如果系统管理员需要在已有的磁盘阵列中加入备用硬盘的话,则需要修改磁盘阵列的配置文件/etc/raidtab。其实这个更改也很简单。通常情况下只需要向这个配置文件中加入两条语句即可。

  第一条语句:nr-spare-disk 1。这条语句主要用来说明这个硬盘是备用硬盘。除非其他硬盘损坏了否则的话磁盘阵列不会往这个硬盘中存入数据。

  第二条语句:device /dev/had。这一条语句用来指定备用硬盘的分区名称。我们知道,Linux系统跟微软操作系统下的磁盘阵列技术有一个很大的不同。在微软操作系统下,它是以硬盘为单位的。但是在Linux操作系统下,则是以分区为单位的。故在Linux操作系统中,即使只有一块硬盘也可以实现磁盘阵列技术,只是不能够实现相关的功能而以。所以,这里除了要指明硬盘外,还需要指明硬盘分区的名字。

  另外还有一个注意事项。有些Linux管理员可能担心多个硬盘会同时损坏。所以他们会为磁盘阵列配置多个备用硬盘。此时如果硬盘有损坏的话,系统就会考虑需要首先采用哪块硬盘。此时可以利用spare-disk语句来指定首先采用哪块硬盘。如果编号设置为0,就表示这块备用硬盘是此磁盘阵列所使用的第一顺序备用硬盘。其他的配置跟磁盘阵列的常规配置相同,这里就不做重复介绍了。

  不过注意当添加完备用硬盘之后,备用硬盘并不是马上生效的。修改完成磁盘阵列的配置文件之后,需要先利用Raidstop命令停用磁盘阵列;然后再利用Mkriad命令重新初始化磁盘阵列。在这个初始化的过程中,系统会在后台同步所有的硬盘数据。所以这个过程会随着硬盘数据的多少而变化。当硬盘中数据比较多时,这个过程可能会比较久。在这个过程中,千万不要重新启动Linux系统。设置好备用硬盘之后,如果磁盘阵列中有某一块硬盘出现了损坏,则系统会自动启动备用硬盘。并且会根据其他硬盘上的数据重建此备用硬盘上的数据。重建后的数据相当于是损坏硬盘数据的一个拷贝。通过这种方式,就可以提高磁盘阵列的容错性能。以上介绍RAID-5磁盘阵列。

0
相关文章