如何安装Ubuntu 8.04与软件RAID1

如何使用软件RAID1安装Ubuntu 8.04

本简短的指南介绍了在初始安装Ubuntu 8.04(“Hardy Heron”)系统时如何配置软件RAID1。

在Ubuntu安装过程中:

  • 从“分区磁盘”对话框中,选择“手动编辑分区表”。
  • 选择第一个磁盘(“sda”)。
  • 说“是在这个设备上创建一个新的空分区表”?
  • 使用对话框创建一个足够大的主分区来保存根文件系统。
  • 对于“如何使用此分区”,选择“RAID的物理卷”,而不是默认的“Ext3日记文件系统”。
  • 使分区可启动。
  • 使用对话框创建另一个主分区占用剩余的磁盘空间。 后来这将用于互换。
  • 对于“如何使用此分区”,选择“RAID的物理卷”,而不是默认的“Ext3日记文件系统”而不是“交换区域”。
  • 重复上述步骤在第二个驱动器上创建相同的分区。 记住将两个驱动器上的分区1标记为“可引导”。
  • 配置分区后,在“分区磁盘”主对话框的顶部,选择“配置软件RAID”。
  • 当询问“将更改写入存储设备并配置RAID”时,选择“是”。
  • 对于“多盘配置操作”,选择“创建MD设备”。
  • 对于“Multidisk设备类型”,选择“RAID1”。
  • 对于“RAID1阵列的有效设备数”,输入“2”。
  • 对于“RAID1阵列的备用设备数”,输入“0”(零)。
  • 当被要求选择“RAID1多盘设备的活动设备”时,请选择/ dev / sda1/ dev / sdb1
  • 从下一个对话框中选择“创建MD设备”。
  • 重复上述步骤创建一个包含/ dev / sda2/ dev / sdb2的MD设备。
  • 最后,从对话框“Multidisk配置操作”中选择“完成”。

下一个配置设备md0作为“/”文件系统安装,设备md1作为交换进行安装:

  • 从“分区磁盘”对话框中,将光标栏移动到“RAID设备#0”下面 并选择“#1”。
  • 将设备配置为安装在/上的Ext3文件系统。

使每个驱动器可启动

启动新安装的Ubuntu,并执行以下操作:

grub
device (hd1) /dev/sdb
root (hd1,0)
setup (hd1)
quit

将第二个HD添加到grub

vi /boot/grub/menu.lst

添加如下内容:

### To boot if sda fails ###
title           Ubuntu 8.04.1, kernel 2.6.24-19-generic /dev/sda fail
root            (hd1,0)
kernel          /boot/vmlinuz-2.6.24-19-generic root=/dev/md0 ro quiet splash
initrd          /boot/initrd.img-2.6.24-19-generic
### End mod ###

如果需要,请更换内核和initrd文件名。 重新启动并尝试如果Ubuntu在第二个硬盘上启动。

护理和喂养

在RAID1镜像中配置两个驱动器可以使服务器在任一个驱动器出现故障时继续运行。 当驱动器完全失败时,内核RAID驱动程序会自动将其从阵列中删除。

但是,驱动器可能开始寻找错误而不会完全失败。 在这种情况下,RAID驱动程序可能无法将其从服务中删除,并且性能将降低。 幸运的是,您可以使用“mdadm”命令手动删除故障驱动器。 例如,要手动将驱动器sda上的两个RAID设备标记为失败:

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

以上将驱动器sda上的两个RAID设备从服务中删除,只会将驱动器sdb上的分区置于活动状态。

删除发生故障的驱动器

当驱动器发生故障时,立即采取行动至关重要。 RAID驱动器具有令人毛骨悚然的习惯,在同一时间内都会发生故障,特别是当它们是相同的型号同时购买并投入使用时。 即使来自不同制造商的驱动器有时也会在几乎同一时间失败,可能是因为它们都经历了相同的环境因素(电源事件,同样数量的掉电,同一个监视器每天晚上将真空撞到服务器中)

当Ubuntu看到已经配置了RAID时,它会以“监视器模式”的形式自动运行mdadm命令,以便在发现问题时观察每个设备并发送电子邮件到root。 您也可以使用以下命令手动检查RAID状态:

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

使用“smartctl”监控每个驱动器的内部故障统计信息也是明智之举。 然而,如Google最近的分析(PDF链接)所述,驱动器完全有能力在SMART监视器中没有任何警告显示。

要替换已标记为失败的驱动器(自动或使用“mdadm -fail”),请先从该阵列中删除该驱动器上的所有分区。 例如,从驱动器sda中删除所有分区:

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

一旦卸下,可以安全地关闭服务器电源并更换出现故障的驱动器。

准备新的驱动器

一旦使用新的未格式化的替换驱动器重新启动系统,则需要进行一些手动干预来分区驱动器并将其添加到RAID阵列。

新驱动器必须具有相同(或几乎相同的)分区表到另一个。 您可以使用fdisk在新驱动器上手动创建与另一个驱动器相同的分区表,或者如果两个驱动器相同,则可以使用“sfdisk”命令复制分区。 例如,要将分区表从第二个驱动器“sdb”复制到第一个驱动器“sda”上,sfdisk命令如下所示:

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

警告:使用sfdisk时,请注意指定正确的源和目标驱动器,否则可能会清除好驱动器上的分区表。

创建分区后,可以使用“mdadm -add”命令将它们添加到相应的RAID设备。 例如:

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

一旦添加,Linux内核立即开始将阵列的内容重新同步到新驱动器上。 您可以通过“cat / proc / mdstat”来监视进度。 同步使用空闲CPU周期以避免生产系统过载,因此性能不应受到太大的影响。 服务器繁忙(分区越大),重新同步就越长。

请注意,您不必等待所有分区重新同步...服务器可以在同步进行时在线和生产中:不会丢失任何数据,最终所有驱动器都将同步。

在Linux下创建一个可用空间的新数组

首先使用fdisk在剩余空间(精确空间)的两个硬盘驱动器上创建一个分区。 您必须确保文件系统设置为Raid(代码fd)。

然后做一些像:

sudo mdadm --create --verbose /dev/md3 --level=1 --raid-devices=2 /dev/sda5 /dev/sdb5

概要

Linux软件RAID比硬件RAID更具成本效益和灵活性,尽管它更复杂,需要在更换驱动器时进行手动干预。 在大多数情况下,软件RAID性能与同等硬件RAID解决方案相同(并且通常更好),所有这些都以更低的成本和更大的灵活性。 当您需要的都是镜像驱动器时,软件RAID通常是最佳选择。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏