我想复制已安装并在实时服务器上使用的分区/磁盘。显然首先想到的是dd
,但当进程运行时,如果数据不一致,并且在复制过程中发生更改,就会出现问题。所以这并不好。
我想到第二种方法是使用 RAID - 想象一下在 RAID0 中将 2 个 SSD 用作 /dev/md0。我会将第三个大小相同的 SSD 添加到 /dev/md0,然后 RAID 会负责将新添加的磁盘与其他磁盘同步。当第三个驱动器同步时,我会将其从此阵列中移除,这样我就可以获得 /dev/md0 的完整副本,而不必担心数据不一致。对吗?
或者是否存在一些无需使用这种“RAID hack”就能发挥这种功能的工具?
非常感谢您的任何帮助或提示。
答案1
我假设您使用的是 Linux 的某种版本。
如果您使用基于 LVM 的分区模式安装了系统,则可以创建已挂载逻辑卷的 LVM 快照并从那里复制,确保传输过程中数据处于静止状态。
这并不能保证数据在创建快照时是一致的;您还应该足够勤奋,在创建快照之前尽可能多地停止服务,特别是数据库服务器和任何其他文件写入密集型应用程序。但这不应该是一个真正的麻烦,因为快照创建几乎是即时的,您可以立即重新启动服务。
此方法不会复制 MBR、GPT 和引导加载程序,为此您仍然需要一个低级复制工具dd
,但这只是静态数据,因此您可以复制一次,然后通过 LVM 快照方法更新磁盘的其余部分。