我已经厌倦了我的开发盒死机,然后我最终不得不重新安装我在开发中使用的工具清单。
这次我想我将在 Virtual Box VM 上设置开发环境并将其保存到外部 HDD,这样我可以在修复真实计算机后快速恢复开发环境。
这似乎是一种进行“与硬件无关的备份”并能够在灾难后快速恢复速度的好方法。
有人试过这个吗?效果如何?它节省了您的时间吗?
我已经厌倦了我的开发盒死机,然后我最终不得不重新安装我在开发中使用的工具清单。
这次我想我将在 Virtual Box VM 上设置开发环境并将其保存到外部 HDD,这样我可以在修复真实计算机后快速恢复开发环境。
这似乎是一种进行“与硬件无关的备份”并能够在灾难后快速恢复速度的好方法。
有人试过这个吗?效果如何?它节省了您的时间吗?
我曾经使用 VirtualBox 虚拟化我所有的开发环境。
基本上,我有一个印在 DVD 上的 Debian vbox 映像文件。当我有一个新项目时,我将其复制到我的一个外部硬盘驱动器中并将其自定义为我的项目。
一旦我的项目交付,然后我将图像从外部硬盘复制到空白 DVD 并归档。
我已经成功地做到了这一点,我们甚至在我们的 QA 环境中也使用了 Undo 磁盘,因此如果我们想测试例如 Microsoft 补丁,我们可以将盒子回滚到之前的状态。
如果您进行大量磁盘活动,我们遇到的唯一问题是 SQL Server 的特殊情况。我们有两个虚拟机的复制数据 btw 彼此托管在同一个物理盒子上。磁盘跟不上;然而,对于所有其他层来说,它的工作就像轻而易举。
我刚刚看到的一个很酷的想法是使用 VirtualBox,并让您的主机使用带有 ZFS 的 OpenSolaris。这使得拍摄图像快照变得容易,并在出现问题时回滚到快照,或者当您想要恢复到已知状态以进行 QA 时。
我在虚拟机上进行所有开发。在多开发人员商店中,如果有人破坏他们的 VM(通过服务包或其他方式),则可以快速部署新的开发环境,并允许新开发人员几乎立即加入项目。
ķ
我读这个问题的方式与你们其他人大不相同。我把它读作 OP 询问有关将全新安装的映像保留为 VM 的问题,然后,当需要重新部署服务器时,您可以从 VM 的备份中恢复。
在这种情况下,VM 只不过是一种维护操作系统安装映像的不同方式,如果它有效,IMO 也不是个坏主意。
在与我合作的公司中,我鼓励使用可网络安装的操作系统。通过正确的前期工作,您可以在办公室网络上配置引导服务器,该服务器将安装您的基本操作系统、硬件所需的所有驱动程序以及您将使用的所有软件。这不仅可以在您丢失机器的灾难情况下为您提供帮助,而且还可以使为新员工部署硬件变得微不足道。
Linux 比 Windows 或 Mac 更容易,但后两者也可以以这种方式工作。
我也使用相同的网络安装方法在实时环境中部署服务器。
虚拟化方法对同一问题来说并不是一个糟糕的答案,但对我来说它似乎并不那么干净。
那不是要走的路。在开发时,您希望拥有许多工具,其中一些需要大量计算能力。请记住(IIRC,我在 VBox 网站上找不到它)仅模拟 PIV。目前只有一个虚拟机模拟双核 CPU,这是非常新的。这很重要,因为只有在多个 CPU 机器上才能看到竞争条件,因此您希望在多个 CPU/内核下测试您的代码。
我认为更简单和更好的做法是制作系统和配置分区的磁盘映像,每月恢复一次以保持系统清洁,并在系统出现混乱时恢复它。
现在简要介绍一下 Windows,因为我在其他系统上做过这件事没有问题。您映像的分区不应在两者之间更改。对于其他操作系统来说这不是问题,但是一些聪明的人决定将 Windows 上的配置文件放在系统文件中。我只是强调不要在我的个人资料中(或在我的个人资料中的桌面上)放置我不愿意丢失的任何内容。