使用 dd 做系统转移 最近的一次 case 中,有客户的 Linux 发生了怪异现象,就是硬碟似乎变慢并且效能也不如之前,於是在考虑过后,决定更换一颗新的硬碟。 做系统备份的方法其实有很多,像是 tar、cp、cipo ... 等工具都是很好的备份工具,但是这次我选择了 dd 工具来做两颗硬碟之间的备份,也就是说把 hda 的资料全都放到 hdb 去,然后再做交换。 在实做的时候,我发现一个很有趣的现象,因为这台主机主要是用来放 source 专用的,虽然有做 RAID 1 mirror,但是整个 hda2 居然吃了 70GB 如此大的空间。后来,推测应该是在建立主机之初没有把硬碟做适当的分割,所有的资料都放在同一个分割区里,当然 source 是会长大的东西,所以日子一久就慢慢的吃掉了很多空间 ... 我来说明一下这次的环境吧:
嗯 ... 所以说,知道了吧!全部只有两个分割区,若是使用 dd 来做系统转移的话,若是有两颗原本同型号、同容量的硬碟的的话当然是最好的,但是事实总是很残忍的,要找到一模一模型号的硬碟可不是这么容易的事,所以我当时决定使用一颗比目前还大的硬碟来做转换对像,於是乎客户就准备了一颗 200G 的硬碟来做转换了。 我先把第二颗硬碟放上去,装在 IDE1 的 slave,并且使用 Live CD 做开机,主要的目地就是确保在转移过程没有任何的资讯再写入 /dev/hda 或 /dev/hdb。因为这次并不打算再做任何的其它分割,所以我就把新的 200 GB 硬碟分割为如下情况:
OK,做好了分割之后,再来就是 format 啦!
接下来就是重头戏了,你可以很清楚的发现,我“故意”把每个分割区都切的比原本的还大,这是怕在 copy 的时候会发生容量不符的情况,所以才如此做,现在就准备来使复制的动作!
好了,小弟现在很认真的说,在 copy /dev/hda2 的时候,我一共等了快要四个小时,所以以后千万要记得做好系统规划,不然会等到死! 当完成了复制之后,要记得做系统 scan,而且是必做喔,因为等一下我们要修正磁碟容量:
一样的,在扫描 /dev/hdb2 的时候又是一长串时间 ... 当等待的时间过去之后,我们就可以来做磁碟容量调整了:
好了,各位观众,这时已经做好系统移转,但是有一个问题,就是这新的硬碟会无法开机,所以就必需安装 GRUB Loader 才行。 要重新安装 GRUB 有很多方法,小弟我是这么做的: 关掉电脑,把退役的 160 G 硬碟拿下来,并且把新的 200 G 硬碟 jump 调成 master,装到电脑里去;使用 RedHat 光碟开机,并以 rescue mode 进入: boot: linux rescue 进入系统之后,重新 chroot 系统:
如此就完成安装 GRUB 的任务,接下来重新开机就大功告成! 09/04/2005 |
|||||||