English 中文(简体)
寻找“构建存储文件系统”,可以合并重复和相似文件以增加存储空间。
原标题:
  • 时间:2009-02-21 17:07:00
  •  标签:

我们的商店不断地用尽磁盘空间,因为我们有来自开发人员和管理层的指示,要保留所有的夜间构建,因为它极大地有助于调试。

每个版本构建通常只有少量更改。但是,几乎每个文件从一个版本构建到下一个版本都不同,因为编译器和链接器会在对象和可执行文件中注入日期/时间戳(和版本)。

所以问题是:有没有人知道一个文件系统不仅可以“合并相同的文件”,还可以“合并相似的文件”,因为这些文件的大小从几KB到MB不等,但每个文件只有少量的字节有所变化?(即使进行代码更改,对可执行文件的影响通常也很小,除非更改了主头文件或库等)

问题回答

为什么不使用传统的版本控制系统?

你开始第一个构建,然后连续提交每个构建。如果文件是重复的,则不会创建增量。如果它有修改,它将仅存储更改。

那不是你要求的吗?

这是一个穷人的解决方案,但是如果建立储存是一项重大的财务决策,我认为这个答案是有保证的。 :)

首先,你很难找到一个全新的存储/源控制系统,它能以比购买新存储花费更少的代价进行这种类型的复杂文件引用。

把最近两个月的版本保留在昂贵的存储介质上(如RAID),然后再购买一些廉价存储器用于归档(如其他人提到的1 TB USB驱动器)。

编写一个简单的控制台应用程序,作为每晚的计划任务运行,并将所有不足2个月的文件移动到归档驱动器中。

通常我的看法是,关于这些类型的话题,“不要试图通过编码来逃避糟糕的管理决策”。

如果他们想要保留那么多旧的构建文件,就得“变强壮”并购买相应的存储空间(磁盘空间很便宜)。

如果他们不想购买这些光盘,就勇敢点,选择合理数量的构建,并使其适应可用空间。

这并不是一个很难的问题。

我最远会走下去的是启用磁盘压缩功能,如果可用的话,因为那是由操作系统处理的,不需要额外的应用程序和支持。当然,这会对性能造成一点影响,但很简单。

把“发展”汁留着用在重要的事情上。 :-)

开放太阳能和ZFS。

将此翻译成中文:http://blogs.oracle.com/bonwick/entry/zfs_dedup http://blogs.oracle.com/bonwick/entry/zfs_dedup

我认为 cramfs 可以做到这一点,但创建 cramfs 镜像(只读的)可能会很麻烦。

嗯..为什么你需要归档构建?从先前的源控制版本中重新创建构建不应该是微不足道的吗?

你很可能需要一个拥有透明压缩功能的文件系统或卷管理器。性能自然会受到影响,但如果你使用轻度压缩,这应该不会成为太大的问题。

用安装和维护新的文件管理方案的一小部分工作量,我会购买更多的硬盘。我昨晚在Frys看到他们正在销售一款1 TB的外置硬盘,售价为100美元;它是一款USB驱动器,只需要插入即可。如果它被填满了,只需购买另一个。作为一名开发人员,如果你的工作室真的想无限期地保存构建文件,我会感到惊讶——我怀疑在一些月之后,每晚的构建价值会很低。

这不是一种优美的解决方案,但它可能更具成本效益。

我认为你应该使用一个应用程序来删除重复文件,这将是一个更好的解决方案。我使用一个叫做Duplicate Finder 2009的软件来删除重复文件。





相关问题
热门标签