将RAIDarrays迁移到更大磁盘的好方法是什么?

我正在寻找更大的我的硬盘驱动器,我想知道什么是这样做的最佳做法。 我有一个HP ProLiant 256MB版本的RAID控制器:

03:00.0 RAID bus controller: Hewlett-Packard Company Smart Array G6 controllers (rev 01) 

在RAID 1中,我也有一对10.000 rpm的146GB SAS驱动器。操作系统是Ubuntu 10.04,64位。 我没有使用LVM。

 zduric@pbksrv002:~$ df -h Filesystem Size Used Avail Use% Mounted on /dev/cciss/c0d0p1 130G 119G 9.7G 93% / none 3.0G 192K 3.0G 1% /dev none 3.0G 0 3.0G 0% /dev/shm none 3.0G 64K 3.0G 1% /var/run none 3.0G 0 3.0G 0% /var/lock none 3.0G 0 3.0G 0% /lib/init/rw zduric@pbksrv002:~$ mount /dev/cciss/c0d0p1 on / type ext4 (rw,errors=remount-ro) 

我们经历了存储内容的巨大增长,现在我需要用另一对300GB磁盘来replace这个arrays。 Ubuntu 10.04上面有一个tomcat和一个文件pipe理应用程序(这是填补大部分的驱动器)。 我正在寻找最好的方法来做到这一点。

我在想我可以做以下其中一项:

选项I:一次更换驱动器。 基本上,我会做这样的事情:

  1. 将驱动器1更换为新驱动器。
  2. 重buildarrays以将数据放在新驱动器上。
  3. 用新驱动器更换驱动器2。
  4. 重buildarrays。

我不喜欢两次重build的部分。 我也不知道,如果这可以工作,甚至更糟,那么停机时间是多less。 (大约115GB的数据,包括操作系统)

选项二:创build一个新的数组。 这里的想法是,我会添加新的磁盘,并创build第二个数组。 然后,我可以将我的tomcat应用程序迁移到新的数组 – 这意味着一个简单的cp操作。

我更喜欢这个选项,因为它也将使我成为第一个专门用于操作系统的arrays,我将来可以更轻松地进行操作系统升级。

选项II是否可行? 我在哪里可以find一些好的资源来完成整个过程?

还有其他的,更好,更聪明的select,我应该尝试吗?

提前致谢。

你有select…

HP智能arrays控制器用户指南的第81页介绍了具体情况。

请按照“ HP智能arrays参考指南”中的第20页上的信息了解一旦新容量可用后应该如何操作。

  • 您的RAID控制器上是否有电池供电或闪存备份的caching单元?
  • 你可以发布df -h的输出吗?
  • 你在使用LVM吗?

使用HP Smart Array RAID控制器扩展逻辑驱动器可以通过将每个磁盘更换为一个较大的驱动器来完成,每次更换一个驱动器,以便在两者之间进行重build。 这将导致一个更大的逻辑驱动器(以惠普方式),将提供未使用的空间,可以分配给现有的驱动器或刻入一个新的逻辑驱动器。

更换驱动器不需要太多的停机时间,除了重新启动以识别新的arrays大小。 使用在线扩展(使用HParraysconfiguration实用程序)或离线扩展(使用可启动的SmartStart CD )来扩展逻辑驱动器。 无论在文件系统级别需要做什么来调整分区大小。 我可以在一两次重启时执行此操作,具体取决于服务器操作系统的configuration方式。

为您的操作系统安装HPpipe理代理和驱动程序也可能是有意义的。 还更新服务器组件的固件也可能是有用的。 有一个可启动的固件DVD可用来实现这一点。

如果一次只更换一个驱动器,则可能会遇到问题,因为新的arrays版本将与之前的版本相同; 文件系统将不知道扩展。

那么你将不得不尝试调整分区和文件系统的dynamic。 假设你的RAID控制器不会有这个问题。 和文件系统。 有些系统比其他系统更适合这些杂技(使用LVM?)

我个人会做的是build立另一个服务器,并与原来的服务器并行运行,当一切都清楚的时候,切换到新的生产系统。

如果你不能这样做,我会安排一段时间来closures服务器,完全从头开始创build一个全新的arrays,然后从备份恢复。 如果出现问题,也可以使用旧驱动器,并且必须中止重build。

这两种方法可以节省“抓住机会”的部分,testing你的备份,并减less在凌晨三点切换到“计划B”(或C或D)的机会,当你已经胡思乱想, ,更容易犯愚蠢的错误。

否则,你将不得不看看你的文件系统和卷pipe理软件(LVM和文件系统resize的实用程序),并希望你的RAID控制器不会做一些愚蠢的事情, 可能会使你最终不得不从备份恢复。

这是我的承诺…也许有一个更像你的模型控制器和服务器可以给个人经验。 我的方法往往是更通用的,我试图削减“以防万一”的边缘问题。

选项1并不是真正的选项,因为将现有RAIDarrays的内容复制到新磁盘不会增加arrays大小。

除非HP RAID控制器提供在线arrays大小调整,否则在物理上甚至是不可能的 – 即使这样做只会扩大arrays ,而不是放大arrays

转到选项2:将驱动器添加到控制器,创build一个新的RAID-1arrays,使用arrays的全部大小创build一个新的分区,然后移动您的内容。

在复制数据时会有一些停机时间,但是可以通过在第一次完整复制操作之后使用rsync以及应用程序停止时将这种情况降到最低。