我需要克隆一个正常工作的linux服务器。我们无法关闭正在运行的服务器。有什么方法可以获取克隆并将其部署到另一台服务器上?
我需要克隆一个正常工作的linux服务器。我们无法关闭正在运行的服务器。有什么方法可以获取克隆并将其部署到另一台服务器上?
Answers:
有许多方法可以复制磁盘,文件系统或文件。通常,复制文件系统可为您提供一个很好的克隆,其灵活性在于目标系统上的大小可能略有不同。在目标系统运行从CDROM引导的某种实时Linux(knoppix,ubuntu live等)之后,您可以使用fdisk或您喜欢的分区应用程序在磁盘上创建分区。假设您在源系统上运行SSH服务器,请采用类似以下方法:
http://www.linuxfocus.org/English/March2005/article370.shtml
此命令正在发生魔术:
ssh sourcePC 'dump -0 -f - /' | restore -r -f -
当使用任何特定方法在实时Linux环境上克隆磁盘时,您唯一关心的可能就是数据库。备份和还原数据库的最佳方法是在文件系统转储之前,使用其转储工具对数据库进行ascii文件快照。对于mysql有:
mysqldump --all-databases > mysql_databases.sql
对于postgresql,有:
pg_dumpall > pg_databases.sql
如果在新系统上遇到任何一致性错误,请还原数据库。或者,在源系统上关闭服务后,请再次执行数据库转储,然后在目标上还原,并且不会丢失任何最近修改的数据。
根据需要在新计算机上构造磁盘布局。
使用rsync转移磁盘内容。重复几次以完全赶上。
在新机器上进行实验,以进行正确的引导。例如,使Grub处于一致状态。
在可以关闭旧计算机之前,请定期执行rsync,以使新磁盘接近旧磁盘。
然后将旧的恢复到维护模式,再次rsync,然后启动应该像旧的那样运行的新的。
我的同事通过System Imager发誓:
http://wiki.systemimager.org/index.php/Main_Page
我不知道它对“实时”系统的效果如何。
否则,我认为您无法手动执行操作:
如果您可以使数据库在磁盘上进入一致状态,则只需使用DAR制作所有内容的副本,然后将其写回到新服务器即可。
将数据库同步到磁盘上的一致状态可能会有些棘手,但是仅还原快照,然后在还原DAR映像后从快照还原即可。DAR在运行时会影响服务器性能。
不过,一旦获得图像,就可以调整网络设置,应该可以将其备份。