Chinaunix首页 | 论坛 | 博客
  • 博客访问: 794546
  • 博文数量: 172
  • 博客积分: 3836
  • 博客等级: 中校
  • 技术积分: 1988
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-10 14:59
文章分类

全部博文(172)

文章存档

2014年(2)

2013年(1)

2012年(28)

2011年(141)

分类: LINUX

2011-12-13 21:31:36


现在还有很多朋友要在ubuntu上安装有关RAID,但是相关的文件很少.但是本人也没有设备所以也没有去试过.但是在一些国外的网站看到这个文 章觉的他写的很不错.但是我看英文不太懂所以就用软件加上自己的语言来译这文章花了我四个小时的时间呀.还真不少呀…….看来是一个苦差事.不过觉的完成 了.是一个高兴的事情.如果你有需要的就接下面看…..不需要的走过…….

Linux操作系统具有良好的软件为基础的RAID嵌入内核。不幸的是配置和维护这方面的信息很少.早在2003年,Reilly出版管理的 RAID在Linux和这本书仍然是大多数最新的,但找到明确的指示,在网站上设立的RAID已经成为一个苦差事。下面是如何安装Ubuntu的服务器软 件RAID 1(磁盘镜像).
本指南是Ubuntu的服务器6.06LTS,但程序应该几乎相同的新版本的Ubuntu和Debian的都差不多.
我们还包括其他一些技巧,如如何确保你仍然可以启动您的服务器时,第一个驱动器失败,如何重建时,更换发生故障的驱动器。

1.软件RAID与硬件RAID.

有些系统管理员还是需要RAID软件.几年前的机器的CPU不具备的这种速度,管理一个繁忙的服务器和RAID活动是很难的.

这不是真正的更多的,尤其是当所有你想做处理一个驱动设备的RAID1,Linux软件RAID是理想的镜像,由于核心的磁盘高速缓存和缓冲这可以实际速度比RAID1的低端磁盘阵列的硬件.
然而,更大的需求一样的RAID 5时, CPU仍然可以陷入与软件RAID.
软件RAID是廉价的:不需要昂贵的控制器或相同的驱动器。软件RAID的作品与普通的EIDE , Serial ATA和SCSI驱动器和控制器。您可以混合在一起的任何驱动器类型和规模的支持。当所有你需要的是镜像驱动器,软件RAID是一个特别好的选择.

然而,有理由您可能希望硬件RAID超过软件RAID :

  • 硬件RAID是简单的设置和管理.
  • 根据服务器上的BIOS ,系统使用Linux软件RAID可能将无法自动开机,如果第一个磁盘的镜像失败(它需要手动去引导开启).
  • Linux操作系统将只启动时”/boot”和”/”分区是 1,它不能开机时,这些分区是RAID5 .但是其他分区, 然而RAID5可以.
  • 随着软件RAID后,更换发生故障的驱动器的系统管理员必须登录,并输入命令来添加新的驱动器阵列,并重新同步的内容。随着软件RAID后,更换发生故障的驱动器的系统管理员必须登录,并输入命令来添加新的驱动器阵列,并重新同步的内容.

请注意我说“好硬件控制器” 。购买低端的主板,需要软件驱动程序,不利于控制器的服务器使用。廉价主板RAID是为游戏者设计的RAID谁想要提高磁盘的读写次数,而不是可靠性,这些“假的RAID ”控制器是真的没有更好的比Linux软件RAID
好的硬件RAID需要重要的控制器的Adaptec , 3ware是一个很好的制造商。

2.一个简单的 RAID1 列子:

在这个范例中我们将构建一个简单的使用RAID1镜像服务器有两个4 GB的Serial ATA驱动器.配置将继续运行,如果不是驱动器失败,但(明显)如果双方不能失败.
EIDE和SCSI驱动器还可以用来与Linux的RAID ,但现在串行ATA提供了最佳组合成本低,性能和灵活性。
这个例子是在Ubuntu服务器6.06LTS配置,配置的方法与新版本的Ubuntu Linux系统差不多。适用于任何版本的Linux运行2.6内核上.
在这个范例中,划分工作将作为尽可能简单:

在Linux软件RAID每个挂接点通常是配置作为一个单独的RAID设备.
这有可能对整个硬盘的RAID成员,而不是每个分区.e.g. combine /dev/sda and /dev/sdb)但由此产生的设备将不会启动.
在这个例子中分区sda1和sdb1将成员的RAID1设备名为/dev/md0.分区sda2和sdb2将成员的RAID1设备名为/dev/md1.
图2

在服务器的挂载中.你最少要出现/var 和 /home 在这些分区上.但是上面分区的这个例子并不是很好.
在这个例子中分区sda1和sdb1将成员的RAID1设备名为/dev/md0.分区sda2和sdb2将成员的RAID1设备名为/dev/md1.

我们这里还发现一些新出现的困难,像逻辑卷管理(重量) ,只要保持简单的事情。
在Linux的RAID ,相应的分区每个驱动器的RAID设备应是相同的大小。如果不是,软件RAID出现问题.而是每一个RAID设备分区不一样大小.最后会按最小的分区来选 定.(例如,如果你添加一个10GB的分区和一个20GB的分割成一个RAID1阵列,由此产生的阵列将只10GB的大小) 。

3.安装Ubuntu的服务器, RAID1

对于“如何使用这个分区”选择“物理卷的磁盘阵列” ,而不是默认的“ Ext3日志文件系统”

  • 从“分区的磁盘”对话框中,选择“手动编辑分区表” 。
  • 选择第一个磁盘 (”sda”)
  • “创建一个新的空白分区表就这个驱动设备上 ”
  • 使用对话框中创建一个主分区足够大的系统文件分区(这个例子以4.1G)
  • 对于“如何使用这个分区”选择“物理卷的磁盘阵列” ,而不是默认的“ Ext3日志文件系统”
  • 设置该分区启动.
  • 使用对话框创建一个主分区其他拿起剩余的磁盘空间( 197.4 MB为例).其他余下的都做为交换分区.swap.
  • 对于“如何使用这个分区”选择“物理卷的磁盘阵列” ,而不是默认的“ Ext3日志文件系统” ,而不是“交换区”
  • 重复上述步骤,创造相同的分区的第二个驱动器。请记住分区标志之一驱动器上的“启动” 。最后的结果看起来应该类似如下:
图3

  • 一旦分区配置,顶部的“磁盘分区”主对话框中选择“配置软RAID ”
  • 当问及“收件的变化存储设备,并配置磁盘阵列” ,选择“是” 。
  • 对于“Multidisk configuration actions” 选择 “Create MD device”
  • 对于“Multidisk device type” 选择 “RAID1?
  • 对于 “Number of active devices for the RAID1 array”输入 “2″
  • 对于硬件驱动设置RAID1列,输入0. (zero).
  • 当询问 “Active devices for the RAID1 multidisk device” 选择 /dev/sda1 and /dev/sdb1
  • 下面一个对话选择 “create MD device”
  • 重复上述步骤建立一个 MD 设备包含 /dev/sda2 and /dev/sdb2
  • 最后,从对话“ Mulidisk配置行动” ,选择“完成”

下一步配置驱动器设备 md0 安装在 “/”文件系统和设备的 md1安装 swap:

  • 从 “Partition Disks” dialog, move the cursor bar under “RAID device #0? and select “#1 4.1 GB”
  • 配置该设备作为一个Ext3文件系统安装在/所示:

  • 从分区盘下的对话 “RAID device #1选择 “#1 197.3 MB”
  • 楝设备 “swap area”, 如同所示:

  • 选择 “Finish partitioning and write changes to disk”.这样就完成分区过程.
  • 允许安装完成然后重新启动要求时。
4.让每一个驱动器启动

在Ubuntu的安装程序安装GRUB启动加载到主引导启动( MBR )的第一个磁盘所以如果你提出的第一个分区的每个硬盘驱动器启动正如上文所述,该系统应该没有问题载入引导RAID1

然而,引导上没有安装其他驱动器。那么它就无法无法启动的系统驱动器0时会失败.另外,根据您的服务器可能是GRUB将不会安装的第一个在所有驱动器,也让你无法启动的系统。

要修复一个非引导系统,并确保GRUB是安装在两个硬盘,手动安装GRUB:

  • 重启服务器ubuntu以CDROM引导启动.
  • 选择Ubuntu 启动菜单,选择 “Rescue a broken system”
  • 继续进行提示,直到屏幕“Device to use as a root file system”显示
  • 继续通过提示,直到屏幕
  • 按 Alt-F2 切换到第二个控制台屏幕然后按下回车来激活它。
  • 挂载md0 RAID 设备和改变 chroot 权限grub 的安装.和系统的引导安装在sda and sdb 设备上.使用下面命令:

mount /dev/md0 /mnt
chroot /mnt
grub
device (hd0) /dev/sda
root (hd0,0)
setup (hd0)
device (hd1) /dev/sdb
root (hd1,0)
setup (hd1)
quit

(many thanks to for the above)

  • 重启你的系统.输入命令 “shutdown -r now”, 重启系统以硬盘引导启动.
5.维护好管理

在两个驱动器配置在RAID1镜像服务器可以继续运作时,无论驱动器失败。当驱动器不完全,内核RAID驱动程序,自动删除它从阵列。

然而,一个驱动器有可能会开始可能会出错.在这种情况下的RAID驱动程序,可能无法删除它从服务和性能将降低.您可以手动删除一个失败的驱动器使用“ mdadm ”命令。例如,要手动标志着双方的RAID设备的驱动失败的sda:

mdadm /dev/md0 –fail /dev/sda1
mdadm /dev/md1 –fail /dev/sda2

上述两个磁盘阵列中删除设备sda,只留下分区驱动器sdb活动。

6.删除发生故障的驱动器

cat /proc/mdstat
mdadm –query –detail /dev/md0
mdadm –query –detail /dev/md1

这也是明智的做法是使用“ smartctl ” ,以监测每个驱动器的内部故障状态。然而正如在最近的一次分析,谷歌( PDF格式链接) ,驱动器完全有能力死于没有任何警告显示在他们的智能监控。

要替换驱动器,已标示为失败(无论是自动或使用“ mdadm失败” ) ,首先删除所有分区的硬盘阵列。例如删除所有分区的驱动器sda:

mdadm –remove /dev/md0 /dev/sda1
mdadm –remove /dev/md1 /dev/sda2

一旦取消它是安全关闭服务器和更换发生故障的驱动器

7.开机问题

救援工具,无论您使用,使用它来启动到命令提示符蛴螬和部队系统启动的第二硬盘驱动器安装使用命令类似如下:

如果它是第一个驱动器失败后,用一个新的未格式化的驱动器代用来启动系统是不可能的.一些BIOS的唯一试图启动最低的硬盘驱动器编号(e.g. sda or hda)如果它是空白的该系统将挂起。在这种情况下,您需要一张CD来救援来安装.能够运行GRUB启动起来,使您可以手动启动第二物理驱动器。

有许多免费的基于Linux都有一个功能.救援光碟(e.g. SystemRescueCD)但是要快速读取 GRUB .

救援工具,无论您使用,使用它来启动到命令提示符GRUB输入命令.迅速修复系统的启动的第二硬盘驱动器安装使用命令如下:

root (hd1,0)
kernel /boot/vmlinuz-whatever root=/dev/md0 ro
initrd /boot/initrd.img-whatever
boot

要找到正确的文件名称“kernel” and “initrd”参数,GRUB安装,可以使用  TAB键来补命令参数.

8.安装一个新的驱动设备drive

一旦系统重新启动出现一个新未格式化的驱动器,需要人工去添加分区的驱动器到RAID阵列。

新的驱动器必须跟以之前的分区一样.你需要动手Fdisk来创建一个闪的分区表.加一方面,您可以使用Fdisk手动创建一个分区表的新的驱动器相同的表,另一方面,或者如果两个硬盘是相同的,您可以使用“ sfdisk ”命令重复分割。

sfdisk –d /dev/sdb | sfdisk /dev/sda

警告:要小心,以指定正确的来源和目的地驱动器在使用sfdisk

一旦分区已建立,您可以将它们添加到相应的RAID设备使用“ mdadm -add”命令。

For example:

mdadm –add /dev/md0 /dev/sda1
mdadm –add /dev/md1 /dev/sda2

O添加后, Linux内核立即开始重新同步内容的阵列到新驱动器。您可以监测进展情况,通过 “cat /proc/mdstat”. 同步使用闲置 CPU 监测系统, 这样的性能应该不会受到影响太严重。

请注意,您不必等到所有分区重新同步…服务器可以在线和在生产的同时同步的工作:没有数据将丢失,并最终所有驱动器将成为同步。

9.摘要

software RAID is far more cost effective and flexible than hardware RAID, though it is more complex and requires manual intervention when replacing drives. In most situations, software RAID performance is as good (and often better) than an equivalent hardware RAID solution, all at a lower cost and with greater flexibility. When all you need are mirrored drives, software RAID is often the best choice.

一些相关的 Linux RAID:

  • (O’Reilly Media, 2003)
  • (Linux Documentation project)
  • (Jeff Garzik)

转载请注明来自:

原创文章,转载请注明: 转载自

本文链接地址:




阅读(6339) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~