(Ubuntu LTS Hardy)服务器的常规副本/映像/任何一种服务器的最佳方式是什么,以便我可以在Parallels中将其作为本地testing和备份环境运行。
更多详情:
我希望尽可能准确地复制实时机器,在Parallels中运行,以便进行testing和作为最新的度假备份。
我认为低技术的方法是在Parallels中安装Ununtu,然后定期服务器目录结构的sftp / scp副本。
但是,我想知道是否有一个“更聪明”的方法,比如从现有系统创build的某种forms的自动虚拟机 – 就像重影一样。
我不知道一个自动创buildVM的工具, 我只是想提供一些你的低科技方法的细节。
具体来说,有两种“低技术”的方式,取决于你是否可以负担服务器在一段时间内脱机。
使服务器脱机 ,附加一个备份驱动器,运行dd /和任何其他主要系统分区,以在备份驱动器上创build精确映像,分离备份驱动器,使服务器返回服务状态。 备份驱动器现在包含备份时服务器的完整映像。 (这可能不是你每隔几周就想做的事情,但是你可以用rsync或类似的方式逐步更新这样的图像。)
不要让服务器脱机 ; 取而代之的是,列出系统上安装的所有软件包和版本(例如dpkg -l > server.packages.list ); 在Parallels中安装一个基础系统; 安装软件包以匹配来自服务器的列表; 备份服务器的/etc ,任何其他主要configuration文件,以及任何主要数据源(例如/var/www ),并将其复制到您的Parallels系统。
在没有虚拟化工具的情况下,使用选项#2可能更容易。 最初创build虚拟机需要一些时间,但是在应用从活动服务器获取的更改之前,您可以轻松地创build和备份该系统的映像。 然后,您可以立即获得全新的安装映像,从备份到服务器,然后还原到虚拟机可以编写脚本,从而可以轻松地从头开始(或从备份的新鲜安装)每隔一段时间。
事实上,您可能会select#2,并将其视为定期检查备份解决scheme的机会:如果您可以从备份恢复到全新安装映像,那么您知道备份解决scheme是好的。 如果你不能,你知道你有什么工作。
我为自己做的方式,不知何故,从庸医的答案#2。
我最初将安装在您的虚拟机上的活服务器上的相同的基础系统(这是为了让您的硬件被识别,grub工作等)。 然后我会rsync所有相关的文件树(所以例如不是/ proc或/ dev或/ tmp)从现场服务器到开发。
由于rsync是基于只有被更改的数据被复制的想法,所以在初始设置之后,将开发服务器与活动服务器重新同步将是相当快的。
我所能预料到的困难(但我相信还有更多的东西即将到来!)是,一些configuration文件实际上可能需要在两个系统上不同 (例如那些包含设备的UUID的configuration文件),它可能是难以理解哪些和从rsync进程中排除它们。
作为旁注的两点意见:
HTH。