如何备份您的开发机器,以便在发生灾难性硬件故障时,您可以在最短的时间内启动并运行?

有帮助吗?

解决方案

备份开发计算机和备份工作之间存在重要区别。

对于开发机器,您最好的选择是提供尽可能接近“一键恢复”过程的映像解决方案。TimeMachine (Mac) 和 Windows Home Server (Windows) 都非常适合此目的。您不仅可以在 1-2 小时内恢复整个计算机(取决于 HDD 大小),而且都可以自动运行并存储增量,因此您可以在相对较小的空间中进行数月的备份。还有许多“ghosting”软件包,尽管它们通常不提供增量/增量备份,因此需要更多的时间/空间来备份您的计算机。

不太好的产品包括 Carbonite/Mozy/JungleDisk/RSync。这些产品将允许您检索数据,但您仍然需要重新安装操作系统和程序。有些也有有限的/没有历史。

在备份代码和数据方面,我会推荐像 SVN 这样的源代码控制产品。虽然通用备份解决方案可以保护您的数据,但它不提供 SCC 软件包所提供的标签/分支/历史记录功能。这些功能对于任何类型的有保质期的项目来说都是无价的。

您可以轻松地在本地计算机上运行 SVN 服务器。如果您的计算机已备份,那么您的 SVN 数据库也会备份。IMO 是家庭开发商的最佳解决方案,也是我保存东西的方式。

其他提示

  1. 所有重要文件都在版本控制(Subversion)中
    • 我的 subversion 布局通常与我的网络服务器上的文件布局相匹配,因此我只需进行签出即可,我的所有库文件和内容都位于正确的位置。
  2. 每天两次备份到外部硬盘
  3. 每晚 rsync 备份到远程服务器。
    • 这意味着我将我的家庭服务器上的内容发送到我的虚拟主机,并将我的虚拟主机上的所有文件和数据库发送回家乡,这样如果我丢失了我的房子或我的虚拟主机,我就不会被搞砸。

我用 莫兹, ,并且很少去思考这个问题。这是我肩上卸下的重担,我永远不会错过。

虚拟机和 CVS。

桌面是用 Ghost 推出的,完全是普通的。除了他们有 VirtualBox。

然后,开发人员将配置的基线开发环境从CVS降低。

他们以自己的身份登录到开发 VM 映像,从 CVS 刷新源代码和库,然后就可以重新启动并工作。

这也使得同时进行开发和维护成为可能 很多 更轻松。

(我知道有些人不喜欢 CVS 或 VirtualBox,所以请随意替换您选择的工具)

哦,您每天都会检查您在主干线外的私人分支机构的工作情况。

就这样吧。

恢复总时间:1小时(最高)

是时候为客户拜访“采用”一台 shbiy 新笔记本电脑了:1小时(上衣)

并向 CMMI 配置管理迈出了一步。

顺便说一句,你的开发机器不应该包含任何有价值的东西。您的所有工作(以及您公司的工作)都应该位于中央存储库 (SVN) 中。

我用 时光机器.

对于我使用的家用和开发机器 安克诺斯真实影像.

在我看来,由于 HD 价格低廉,没有什么可以取代完整的增量每日 HD 备份。

做一点准备会有所帮助:

  • 我的所有代码都组织在一个目录中(带有分类的子目录)。
  • 所有电子邮件都保存在各种 PST 中。
  • 所有代码也会在每天结束时检查到源代码管理中。
  • 所有文件也都保存在一个地方。

备份:

  • 根据您的需要经常备份您的代码、电子邮件、文档(每天)。
  • 随时准备好您的开发环境的映像。

失败与恢复

  • 如果一切失败,请格式化并安装映像。
  • 从备份中复制回所有内容,然后您就可以启动并运行了。

当然,为了使这个过程真正实现,您必须进行一些调整(增量备份、归档等)。

如果你说的是绝对最短的恢复时间......我经常设置机器每晚进行 Ghost(Symantec 或类似的)备份到映像或直接复制到另一个驱动器。这样,您所要做的就是从映像重新映像计算机或仅交换驱动器。您可以在 10 分钟内恢复...我之前所做的设置是在这样的情况下,我们有一些冗余的生产服务器,并且它们离线足够长的时间来克隆驱动器是可以接受的……但仅限于晚上。白天它们必须达到 100%...当主驱动器发生故障时,它救了我好几次...我刚刚打开机箱,交换了电缆,这样备份驱动器就是新的主驱动器,并在 5 分钟内恢复在线状态。

我终于把我的“全自动数据备份策略”变成了一门艺术。我永远不需要手动干预,而且我永远不会丢失另一个硬盘驱动器上的数据。如果我的电脑死机了,我将始终拥有不超过 24 小时的完整可启动备份,以及不超过 1 小时的增量备份。以下是我如何做到这一点的详细信息。

我唯一的电脑是一台运行 OSX Leopard 的 160 GB MacBook。我的办公桌上有 2 个外部 500 GB 硬盘。其中之一是称为“外部”的单个 500 GB 分区。另一个有一个名为“Clone”的 160 GB 分区和一个名为“TimeMachine”的 340 GB 分区。

每当我工作时,TimeMachine 都会运行,不断备份我的“正在进行的”文件(这些文件也全天致力于版本控制)。

每个工作日 12:05,SuperDuper!自动将我的整个笔记本电脑硬盘复制到“克隆”驱动器。如果我的笔记本电脑的硬盘坏了,我实际上可以直接从克隆驱动器启动并继续工作而不会错过任何一个节拍 - 给我一些时间来更换驱动器(自从设置此功能以来,这种情况在我身上发生过两次!)。(技术说明:它实际上只复制自上一个工作日 12:05 以来发生的更改...不是每次都整个驱动器。奇迹般有效。)

我家里有一台 D-Link DNS-323,它是一个运行镜像 RAID 的 1TB (2x500 gig) 网络附加存储设备,因此第一个 500 gig 驱动器上的所有内容都会自动复制到第二个 500 gig 驱动器。这样,您就始终拥有备份,而且是完全自动化的。这只小狗有一个内置的动态 DNS 客户端和 FTP 服务器。

因此,在我的 WRT54G 路由器上,我将 FTP 端口 (21) 转发到我的 DNS-323,并保留其 FTP 服务器。

SuperDuper 克隆完成后,rSync 运行并通过 FTP 将我的“外部”驱动器与家里的 DNS-323 同步。

就是这样。使用 4 个驱动器(2 个外部驱动器,2 个在 NAS 中)我有:1)始终启动的完整备份少于24小时,星期一至周五2)我所有正在进行的文件的工作,它的工作时间永远不超过30分钟,星期一至周五(当我上班时并连接到外部驱动器)3)在“外部”上工作的文档和NAS 4)的所有MP3(170GB)访问NAS 4)在NAS上的两个完整备份,对NAS上的所有MP3和文档(外部是原始的)复制,NAS上的两个驱动器都是通过Chronosync的镜子)

我为什么要做这一切?因为:1) 2000 年,我掉落了一个 40 GB 1 英寸硬盘,我花了 2500 美元才恢复该数据。2) 在过去的一年里,我不得不将我的 MacBook 送去维修 4 次。一个硬盘坏了,两个主板坏了,还有一个网络摄像头坏了。第四次,他们免费为我更换了一台更新更好的 MacBook,从那以后我再也没有遇到过问题。

感谢我的每日备份,我没有失去任何工作或生产力。不过,如果我没有它们,我所有的作品都会消失,包括我的 MP3、我的写作,以及我前往秘鲁、克罗地亚、英国、法国、希腊、荷兰、意大利和印度的旅行的所有照片。我所有的家庭照片。你可以想象?我相信你可以,因为我打赌你的电脑上现在有一堆数码照片......没有以任何方式备份。

也许一个简单的硬件硬盘袭击就是一个好的开始。这样,如果一个驱动器发生故障,RAID 中仍然有另一个驱动器。如果驱动器以外的其他部件出现故障,您可以将这些驱动器弹出到另一个系统中并快速获取文件。

我只是在工作中为团队解决这个问题。网络上有包含所有常用工具的图像。(我们实际上已经准备好了热插拔机器)。所有正在进行的工作也都在网络上进行。

因此,开发人员的机器蓬勃发展。使用热插拔机器并继续。停机时间约 15 分钟 + 茶歇。

我们有一个名为 Altiris 的企业解决方案,它可以在需要时发挥作用。这取决于外面是否下雨。我认为阿蒂里斯可能是一位雨神,只是他自己不知道而已。当它不起作用时,我实际上很高兴,因为这意味着我可以恢复 99% 的 CPU 使用率,非常感谢。

除此之外,我们无权安装其他软件解决方案来备份内容或在允许我们这样做的地方安装。我们不允许将数据移出我们的机器。

所以,我最终只是交叉手指,同时嘲笑这种疯狂。

我不。

我们进行持续集成,经常向中央源代码控制系统提交代码(该系统的备份非常疯狂!)。

如果我的机器坏了,最多我会失去几天的工作。

我需要做的就是在从 Ghost 映像设置开发环境时获得一个干净的磁盘,或者花一天时间将 CD 插入其中,在 Windows 更新后重新启动等。这不是愉快的一天,但我确实得到了一台干净的机器。

工作时使用 NetBackup 或 PureDisk,具体取决于盒子,在家使用 rsync。

和其他一些人一样,我有一个干净的虚拟电脑副本,我可以随时获取并重新启动,所有代码都存储在 subversion 中。

我用的是超级杜普!并将我的虚拟机备份到另一个外部驱动器(我有两个)。所有代码都在SVN服务器上。我有一个干净的虚拟机,以防万一我的虚拟机出现故障。但无论哪种情况,我都花了几个小时来安装 WinXP+Vstudio。我在那个盒子里没有使用任何其他东西。

我在启动时使用 xcopy 将所有个人文件复制到外部硬盘驱动器。

这是我的startup.bat:

xcopy d:\files f:\backup\files /D /E /Y /EXCLUDE:BackupExclude.txt

这会递归目录,仅复制已修改的文件并抑制替换现有文件的消息,BackupExclude.txt 中的文件/文件夹列表将不会被复制。

Windows 家庭服务器。我的开发盒有两个驱动器,它们之间有大约 750GB 的数据(C:是一个 300GB SAS 15K RPM 驱动器,上面装有应用程序和系统,D:是包含我所有登记的 1TB 镜像集)。我使用 Windows Home Server 来备份这台机器,并在 horking 后多次成功恢复它。

我的开发计算机使用 Retrospect 和 Acronis 进行备份。这些是在我睡觉时运行的夜间备份 - 一份备份到外部驱动器,一份备份到网络驱动器。

我的所有源代码都在 SVN 存储库中,我将所有存储库保存在一个目录下,因此我有一个计划任务运行一个脚本,该脚本为所有 SVN 存储库抓取路径并执行多个热复制(使用 hotcopy.py 脚本),如下所示以及每个存储库的 svndump。

我的工作机器得到备份,但他们处理它,但是我也运行相同的脚本来执行热复制和 svndump 到几个备份的位置。

我确保工作备份中的一个位置不在 SAN 上,是的,它会得到备份和管理,但当它发生故障时,它就会发生故障。

我想推荐一个外部 RAID 容器,或者只是一个外部驱动器容器,最好使用 FireWire 800 进行连接。

我还想推荐一家制造商将备份驱动器放入容器中。我读了很多关于驱动器的评论,说它们失败了,我不知道该怎么想。

我不喜欢像 Mozy 这样的备份服务,因为我不想相信他们不会查看我的数据。

  • SuperDuper 每隔几周完成一次可启动备份
  • 每天为我最重要的目录进行时间机器备份
  • 代码存储在网络 subversion/git 服务器中
  • 在 Web 服务器上使用 cron 进行 Mysql 备份,使用 ssh/rsync 将其拉到我们的本地服务器上,每晚也使用 cron。

如果您使用 Mac,这很简单 - 只需插入外部硬盘驱动器,内置的 Time Machine 软件就会备份您的整个系统,然后按照您定义的时间表维护增量备份。很多时候,当我弄乱了我的环境时,这让我摆脱了困境;它还使安装更大的硬盘后恢复系统变得非常容易。

对于异地备份,我喜欢 丛林盘 - 它适用于 Mac、Windows 和 Linux,并备份到 Amazon S3(或者最近添加的 Rackspace 云服务)。如果您拥有多台计算机(甚至虚拟机)并且希望无需考虑就可以备份某些目录,那么这是一个很好的解决方案。

家庭服务器警告!

我在开发服务器上安装了 Home Server 有两个原因:Windows Server 2003 的廉价版本以及出于备份原因。

备份软件方面的情况受到严重影响。如果您在安装家庭服务器开始时将一台计算机“添加”到要备份的计算机列表中,通常一切都会很好。

但在一段时间过去后,添加任何其他机器似乎变得更加困难。

(举个例子:我在我的笔记本电脑上进行了完整的重建,尝试添加它 - 不!)

所以我严重怀疑这个平台用于备份的可靠性。如果你不能百分百相信它,似乎就违背了目的

我有以下备份场景并使用 rsync 作为主要备份工具。

  1. (每周) 用于“裸机”恢复的 Windows 备份
    系统驱动器 C:\ 的内容使用 Windows 备份在物理磁盘故障后快速恢复,因为我不想从头开始重新安装 Windows 和应用程序。这被配置为使用 Windows 备份计划自动运行。

  2. (日常的有条件的) 使用 rsync 备份活动内容
    Rsync 负责处理笔记本电脑、手机和其他设备上所有已更改的文件。我每天晚上以及在内容发生重大变化后备份笔记本电脑,例如将最近的照片 RAW 从 SD 卡导入到笔记本电脑。

我创建了一个 bash 脚本,在 Windows 上从 Cygwin 运行该脚本来启动 rsync: https://github.com/paravz/windows-rsync-backup

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top