首页 > 学院 > 网络通信 > 正文

在RedHat6.0里设置RAID

2019-11-04 12:29:12
字体:
来源:转载
供稿:网友

  摘要:本文中介绍的安装是在RedHat 6.0上进行的,我认为在其他的linux版本中应该也能用。我什么时候会转去用Debian呢?我希望能尽快。
  一、RAID介绍
  
    我建议你读一读jakob@ostenfeld.dk写的软件RAID HOWTO。很明显,他是个丹麦人。丹麦是一个住着许多聪明人的世界上最好的国家。他的这篇HOWTO写得非常好,也许我根本就没有必要写这篇文章。我之所以写这篇文章是因为文档一般来说都写得不大轻易懂,当然现在情况已有很大的改观。本文中介绍的安装是在RedHat 6.0上进行的,我认为在其他的Linux版本中应该也能用。我什么时候会转去用Debian呢?我希望能尽快。
  
    什么是RAID?简单的说,它可以让你在几个硬盘上做些有趣的事。它可以让你把几个硬盘合并起来,把数据分散地存放在这几个硬盘中。它可以提高往硬盘读写数据的速度,也可以在硬盘上备份数据。这样即使你有一个硬盘坏了,你还可以从其他的硬盘中恢复所有的数据。你可以读读软件RAID HOWTO中有关RAID级别的部份来更好的了解不同类型的软件RAID。
  
    为了试验本文中的例子,你需要设置一些小的分区。我建议你设置一个1G的扩展分区,然后在这个扩展分区上建一些100兆的逻辑分区。请千万要记住,你只能在一个无关紧要的硬盘上进行试验。假如你毁了这个硬盘上的数据,那是你自己的错。即使我的文章中写得不对,你也必需对自己的所作所为负责。
  
    二、RAID条带(strip RAID)
  
    我只预备介绍如何设置RAID条带来存放数据。也就是说,我不会把操作系统的主要部份放在RAID条带上。用RAID条带来存放整个系统会带来一些问题,所以我不预备这么做。
  
    简单的说,在Linux系统上设置RAID条带需要四个步骤。条带把数据存放在两个或更多的硬盘(实际上是分区)上,这些数据有一半是在一个硬盘上,另一半在另一个硬盘上。这样可以提高硬盘读写的速度,因为数据是从两个硬盘上同时读出来的。再说一次,你可以在HOWTO读到更具体的内容。
  
    首先,我们要配置/dev/md0,然后我们要格式化这些分区,接下来要配置/etc/rc.d/rc.local来激活RAID,最后要配置/etc/rc.d/rc.local来把这些设备安装到某个目录。
  
    具体步骤
  
    现在,我要使用一些小窍门。我认为大多数的低端用户并没有两个硬盘,所以我要使用同一个硬盘上的两个分区而不是两个硬盘。建立一个有两个逻辑分区的扩展分区。这两个分区,/dev/hda5和/dev/hda6,的大小必需一样。在同一个硬盘上的两个分区之间进行RAID条带是没有任何意义的,即使是在同一个IDE控制器的不同硬盘上这么做也是没有意义的。请记住,这只不过是个练习。
  
    在 /etc/raidtab中这么写:
  
  raiddev /dev/md0
  raid-level 0
  nr-raid-disks 2
  nr-spare-disks 0
  chunk-size 4
  persistent-superblock 1
  device /dev/hda5
  raid-disk 0
  device /dev/hda6
  raid-disk 1
  
    使用以下命令格式化分区
  
  mkraid /dev/md0
  
    假如你在用“mkraid”命令时出了些问题,它应该会给出如何解决问题的提示。然后执行如下命令:
  
  mkfs -t ext2 /dev/md0
  
    接着,你可以在“/PRoc/mdstat”文件中查raid的状态。
  
  cat /proc/mdstat
  
    执行以下命令会在/etc/rc.d/rc.local中增加一行
  
  echo "raidstart /dev/md0" >> /etc/rc.d/rc.local
  
    把这个命令执行一次。这可以为RAID设备建好目录并在/etc/rc.d/rc.local中增加一条命令。
  
  mkdir /RAID
  echo "mount /dev/md0 /RAID" >> /etc/rc.d/rc.local
  
    假如你不想重启动计算机,你现在就可以激活RAID,
  
  raidstart /dev/md0
  mount /dev/md0 /RAID
  
    你可以用此命令来检查已经安装的目录。
  
  df
  
    三、RAID镜象
  
    和以上的例子一样,我要使用同一个硬盘上的两个分区,并且我也只对数据分区进行镜象。
  
    首先,设置/dev/md0,然后格式化分区,接着配置/etc/rc.d/rc.local来激活raid,最后配置/etc/rc.d/rc.local来把镜象设备安装到一个目录下。
  
    如下设置
  
  /etc/raidtab
  raiddev /dev/md0
  raid-level 1
  nr-raid-disks 2
  nr-spare-disks 0
  chunk-size 4
  persistent-superblock 1
  device /dev/hda5
  raid-disk 0
  device /dev/hda6
  raid-disk 1
  
    用以下命令格式化分区
  
  mkraid /dev/md0
  
    假如你在用“mkraid”命令时出了些问题,它应该会给出如何解决问题的提示。然后执行如下命令:
  
  mkfs -t ext2 /dev/md0
  
    接着,你可以在“/proc/mdstat”文件中查raid的状态。
  
  cat /proc/mdstat
  
    执行以下命令会在/etc/rc.d/rc.local中增加一行
  
  echo "raidstart /dev/md0" >> /etc/rc.d/rc.local
  
    把这个命令执行一次。这可以为RAID设备建好目录并在/etc/rc.d/rc.local中增加一条命令。
  
  mkdir /RAID
  echo "mount /dev/md0 /RAID" >> /etc/rc.d/rc.local
  
    假如你不想重启动计算机,你现在就可以激活RAID,
  
  raidstart /dev/md0
  mount /dev/md0 /RAID
  
    你可以用此命令来检查已经安装的目录。
  
  df
  
    四、使用空闲的分区设置RAID 5
  
    使用一个空闲的设备来试验RAID 5是一件很酷的事。我们还是只用一个硬盘。一般来说,我都会建立一个100M的逻辑分区来进行试验。假如你有一个1G的扩展的分区,那你就可以有10个逻辑分区来进行各种试验。
  
    具体的步骤和以上介绍的镜象以及条带一样,把配置文件按以下修改。
  
  raiddev /dev/md0
  raid-level 5
  nr-raid-disks 7
  nr-spare-disks 1
  persistent-superblock 1
  parity-algorithmleft-symmetric
  chunk-size 32
  device /dev/hda5
  raid-disk 0
  device /dev/hda6
  raid-disk 1
  device /dev/hda7
  raid-disk 2
  device /dev/hda8
  raid-disk 3
  device /dev/hda9
  raid-disk 4
  device /dev/hda10
  raid-disk 5
  device /dev/hda11
  raid-disk 6
  ### Also, let us have a spare device
  device /dev/hda12
  spare-disk 0
  
    五、注解
  
    请使用/etc/rc.d/rc.local来安装raid设备,而不要用/etc/fstab。假如你想用/etc/fstab,你尽可以试一试。这多半没有用,但有些人就是喜欢自己试试看(就象我一样)。
  
    这些文档以前写得挺难懂得,但这些HOWTO已经更新过了,这些工具也变得更好用了。现在,在这些例子的帮助下,任何一个会用Linux的人都可以设置一个raid设备。希望这可以帮助降低RAID服务器的价钱。
  
    假如你想更好的使用软件RAID,请用U2W SCSI控制器,象Adaptec控制器或其他的好品牌,如DPT,Mylex等。对于只需要镜象而不考虑速度的比较便宜的raid,也可以使用IDE控制器。假如你想更进一步使用硬件RAID,有几个公司支持Linux的硬件RAID。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表