我想使用两个新磁盘将非RAID系统转换为RAID1。 我想以最less的停机时间做到这一点。
而不是添加磁盘和closures到单用户模式来复制数据是否有任何方式来执行此转换,而系统正在运行,只是短暂的中断安装新磁盘/删除旧的?
这是我不久将要做的事。 它应该是这样的:
closures并安装新驱动器
分区并创buildRAIDarrays
Rsync数据
Rsync再次
下降到单个用户
再次rsync
设置启动加载器
重新启动到新的驱动器
一旦你快乐,删除旧的驱动器
这涉及到两个或三个重启,当你执行第二个rsync时,你会有一些停机时间,但希望不会太长。 你应该知道第二个rsync花费多长时间来停止rsync的时间。 第二个rsync应该赶上在第一个rsync期间修改的文件。 尽量在第二个rsync之间留出尽可能less的时间,然后放到单个用户。 这减less了第三个rsync需要执行的数据量。
如果您不关心在复制期间丢失对修改的文件所做的更改,并且将LVM与当前磁盘配合使用,则可以创build当前磁盘的快照,并在系统处于联机状态时进行复制。 自创build快照以来对系统所做的任何更改都不会转移到新磁盘。
如果您不使用LVM,或者不能丢失对当前系统所做的任何更改,那么减less停机时间的一个好方法是使用rsync执行副本:在系统运行时首先运行它,然后复制完成后,login到单用户模式并再次运行rsync。 这次它只会复制自运行第一个rsync以来发生更改的文件,所以它应该更快。
如果您正在使用LVM,则可以使用“pvmove”命令。
我还没有testing过,所以你几乎可以肯定要做的第一件事就是build立一个类似你的系统的testing系统,然后通过你的计划过程来validation它是否正常工作喜欢和充实的细节。
它看起来像这样:
注意: pvmove有一个问题,可能会导致它在根分区上执行pvmove时发生死锁。
给这个镜头看看它是否有效。
肖恩